hola tengo un encoder incremental de 600 pp cuando da un giro de 360grados marca 1200pp no se por q marca 1200pp si es de 600pp y no se como modificar el código estoy tratando de hacer un contador de longitud utilizando este encoder
mi código es este si alguien me puede indicar gracias
#define CLK 4
#define DIO 5
TM1637Display display = TM1637Display(CLK, DIO);
volatile long counter = 0;
long temp;
void setup() {
display.setBrightness(3);
display.clear();
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
attachInterrupt(0, forward, RISING);
attachInterrupt(1, backward, RISING);
}
void loop() {
if (counter != temp)
;
{
display.showNumberDec(counter);
Serial.println(counter);
}
}
void forward() {
if (digitalRead(3) == LOW) {
counter++;
} else {
counter--;
}
}
void backward() {
if (digitalRead(2) == LOW) {
counter--;
} else {
counter++;
}
}