Проблема заключается в том, что 2 части кода по отдельности работают корректно, а вместе значения 10 и 13 пина берутся с последнего присвоения.
#include <Bounce.h>
Bounce right_Pin = Bounce( 11,5 );
Bounce left_Pin = Bounce( 12,5 );
int right;
int left;
void setup() {
pinMode(10, OUTPUT);
pinMode(11, INPUT);
pinMode(12, INPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop() {
right_Pin.update ( );
left_Pin.update ( );
right = right_Pin.read();
left = left_Pin.read();
digitalWrite(10, HIGH);
digitalWrite(13, LOW);
if (right == HIGH ) {
Serial.print("RIGHT!\n" );
}
if (left == HIGH) {
Serial.print("LEFT!\n" );
}
digitalWrite(13, HIGH);
digitalWrite(10, LOW);
delay(30);
if (left == HIGH && right == HIGH)
{
Serial.print("DOUBLE!\n" );
}
delay(100);
}