Конденсаторы на землю и выход "C" энкодера на землю
Вот этот код
PHP код:
#define encoder0PinA 2
#define encoder0PinB 3
byte bytes[1] ;
void setup()
{
pinMode(encoder0PinA, INPUT);
digitalWrite(encoder0PinA, HIGH); // подключить подтягивающий резистор
pinMode(encoder0PinB, INPUT);
digitalWrite(encoder0PinB, HIGH); // подключить подтягивающий резистор
attachInterrupt(0, doEncoderA, FALLING); // настроить прерывание interrupt 0 на pin 2
attachInterrupt(1, doEncoderB, FALLING); // настроить прерывание interrupt 0 на pin 3
Serial.begin (115200);
}
void loop()
{
}
// обработка прерывания
void doEncoderA()
{
if(digitalRead(encoder0PinB)==HIGH){bytes[0]=24;}else{bytes[0]=15;}
Serial.write( bytes,1);
}
// обработка прерывания
void doEncoderB()
{
if(digitalRead(encoder0PinA)==HIGH){bytes[0]=15;}else{bytes[0]=24;}
Serial.write( bytes,1);
}
Использую программу Carduino монитор
Вот результат, как видишь нет пропусков ни в одну ни в другую сторону