Плата MEGA 2560 Сразу после 1го прохода счетчик прыгает не на 1, а 15. Версия разработки: 1.6.8 Код (C++): int OffCounter; // счетчик выключения const int MaxOffCounter=15;//сколько секунд ждать до выключения реле void setup() { Serial.begin(115200);//вывод в компорт OffCounter=0; } void loop() { Serial.println("off counter:"+String(OffCounter)+" remain:"+String(MaxOffCounter-OffCounter)); OffCounter=OffCounter+1; if (OffCounter=MaxOffCounter) { // digitalWrite(40, HIGH); // реле включено } delay(1000); } Скрин из терминала off counter:0 remain:15 off counter:15 remain:0 off counter:15 remain:0
Код (C++): if (OffCounter=MaxOffCounter) сначала выполняется присвоение 'OffCounter=MaxOffCounter', а потом уже проверка условия, а т.к. OffCounter становиться равным 15. Условие всегда будет истинным.