int const clk=2;
int const dt=3;
int const sw=4;
int ultimo=1;
int leituradt=0;
int leituraclk=0;
int contador=0;
void setup() {
Serial.begin(9600);
pinMode(clk, INPUT);
pinMode(dt, INPUT);
pinMode(sw, INPUT_PULLUP);
}
void loop() {
leituraclk = digitalRead(clk);
if (leituraclk != ultimo) {
ultimo = leituraclk;
leituradt = digitalRead(dt);
if (leituraclk == LOW && leituradt == HIGH) {
Serial.println("Sentido horário");
contador++;
Serial.print("Aumentou o contador: ");
Serial.println(contador);
}
if (leituraclk == LOW && leituradt == LOW) {
Serial.println("Sentido anti-horário");
contador--;
Serial.print("Diminuiu o contador: ");
Serial.println(contador);
}
}
if (digitalRead(sw) == LOW) {
contador=0;
Serial.print("resetou o contador: ");
Serial.println(contador);
}
}