int pinoCLK = 3;
int pinoDT = 4;
int pinoBotao = 5;
int pinoBuzzer = 13;
int lastClk = HIGH;
int Valor = 50;
int lastValor = Valor;
void setup() {
Serial.begin(115200);
pinMode(pinoCLK, INPUT);
pinMode(pinoDT, INPUT);
pinMode(pinoBotao, INPUT_PULLUP);
pinMode(pinoBuzzer, OUTPUT);
tone(pinoBuzzer, Valor);
}
void loop() {
int newClk = digitalRead(pinoCLK);
if (newClk != lastClk) {
lastClk = newClk;
int dtValue = digitalRead(pinoDT);
if (newClk == LOW && dtValue == HIGH) {
Valor += 10;
tone(pinoBuzzer, Valor);
Serial.print("Sentido horário: "); Serial.print(lastValor); Serial.print("hz ⏩ "); Serial.print(Valor); Serial.println("hz");
if (Valor < 31) {
Serial.println("Como o hz atual é inferior à 31hz, não haverá mudanças no som ou começará a dar erros.");
}
lastValor = Valor;
}
if (newClk == LOW && dtValue == LOW) {
Valor -= 10;
tone(pinoBuzzer, Valor);
Serial.print("Sentido anti-horário: "); Serial.print(Valor); Serial.print("hz ⏪ "); Serial.print(lastValor); Serial.println("hz");
if (Valor < 21) {
Serial.println("Como o hz atual é inferior à 31hz, não haverá mudanças no som ou começará a dar erros.");
}
lastValor = Valor;
}
}
if(digitalRead(pinoBotao) == LOW){
Serial.println("Botão pressionado!");
noTone(pinoBuzzer);
delay(200);
}
}