Здравствуйте, создаю свой проект, основой которого является ИК приёмник. Собственно, мною был написан код, благодаря которому сервомотор при определённой зажатой кнопке на пульте, начинал поворачиваться. То-есть: Зажимаю кнопку - сервомотор вращается; Отпускаю - перестаёт вращаться. НО! При дальнейших тестах я обнаружил, что мотор вращается по нажатию на любую кнопку на пульте. Кое-что убирал, кое-что менял местами, но всё равно результат один - реакция на любую кнопку. Прошу помощи. Что не так? Заранее спасибо Код (C++): #include "IRremote.h" #include "Servo.h" IRrecv irrecv(2); // указываем вывод, к которому подключен приемник decode_results results; Servo servo; int a = 0; int dir = 10; void setup() { Serial.begin(9600); // выставляем скорость COM порта irrecv.enableIRIn(); // запускаем прием servo.attach(9); servo.write(10); } void loop() { if ( irrecv.decode( &results )) { // если данные пришли Serial.println( results.value, HEX ); // печатаем данные Serial.println(dir); if (results.value == 0xFE807F){ a = 1; irrecv.resume(); } if (a = 1){ servo.write(dir); dir += 5; } irrecv.resume(); // принимаем следующую команду }else{ a = 0; } if (dir > 90){ dir = 90; } }