Вот накидал примерный код - к сожалению сейчас нет возможности хотя бы примерно проверить - только завтра(( Код (C++): #include <IRremote.h> #include <IRremoteInt.h> int Pwr = A1; // LED unsigned long time; //Переменная для установки времени int count_time, n; //Число нажатий; boolean state = 0; time = 0; count_time=0; //IR Receiver Module Pin and variable int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; void setup(){ pinMode(Pwr, OUTPUT); // Вывод Pwr выход irrecv.enableIRIn(); //Старт ИК-приёмника } void loop(){ if(irrecv.decode(&results)){ // Декодирование принятого сигнала по ИК if(results.value == 0xFF111){ // Код кнопки POWER state = !state; } digitalWrite(Pwr, state); // Пин Pwr irrecv.resume(); } if(results.value == 0xAA){ //если нажата кнопка с кодом АА, тогда выполнить ++n; if (n>5) n=0; button_ch(); } } void button_ch(){ switch(n) case 0: digitalWrite(Pwr, state); // включаем реле state = !state; break; case 1: digitalWrite(Pwr, state); // включаем реле state = !state; time(millis(10000)){ //10 секунд ждем digitalWrite(Pwr, state); // выключаем реле state = !state; break; case 2: digitalWrite(Pwr, state); // включаем реле state = !state; time(millis(20000)){ //20 секунд ждем digitalWrite(Pwr, state); // выключаем реле state = !state; break; } Я понимаю, что код ооочень кривой, но , что не так с ним или все норм?
Проверил ((( , куча ошибок и кривостей в коде понятное дело. Даже немного переписал, буду дальше ковыряться.