Здравствуйте помогите пожалуйста не могу енкодер настроить математический выражение правильно но машина его почему то не математический считает, все должно быть так 1+1=2 0+0=0 0+1=1, но на деле машина это по своему считает, в чем причина? вот часть кода /* Программа для энкодера Общий вход пин энкодера +5в (1 или HIGH) Выход A 01100110011 Выход B 00110011001 Сумма 01210121012 */ #define pinA 3 // #define pinB 4 // #define ledpin 13 // boolean stateA=0; // boolean stateB=0; // boolean valA=0; // boolean valB=0; // boolean pulse = 0; // boolean direction = 0; // void setup(){ pinMode(pinA,INPUT); // pinMode(pinB,INPUT); // pinMode(ledpin,OUTPUT); // } void loop(){ valA=digitalRead(pinA); // valB=digitalRead(pinB); // if(valA==HIGH) // {stateA=1;} else {stateA=0;} if(valB==HIGH) // {stateB=1;} else {stateA=0;} if(stateA+stateB==2) // {pulse=0;} if(stateA+stateB==0) {pulse=0;} if(stateA+stateB==1) {pulse=1;} if (pulse==1) // {digitalWrite(ledpin,HIGH);} else {digitalWrite(ledpin,LOW);}}