Здравствуйте, подскажите пожалуйста, не могу справиться с проблемой управления выхода при нажатии резестивной кнопки (стандартные кнопки на панельки с экраном) , подключенные к A0. Т.е если я делаю с одной кнопки включить канал, а с другой выключить, то все работает. Но мне необходимо с одной кнопки включать и выключать выход (нажал-выход активен-отпустил-выход активен-нажал-выход не активен-нажал-выход не активен). Если делать по условию, то получается все логично кнопку нажал, если выход не активен то включаем его, а вот дальше у меня получается парадокс. Подскажите пожалуйста идею. С флагами тоже фигня у меня получается. #define ON_OFF_PIN 10 boolean on_off_pin=LOW; void setup() { pinMode(ON_OFF_PIN,OUTPUT); digitalWrite(ON_OFF_PIN,LOW); if (Feature==5&&on_off_pin==LOW) { on_off_pin=HIGH; digitalWrite(ON_OFF_PIN,HIGH); //пробовал и digitalWrite(ON_OFF_PIN, !digitalRead(ON_OFF_PIN)); delay(750); } }
Всё, наконец-то случайно разобрался сам. решение оказалось таким: if (Feature==5) { if (on_off_pin==LOW) { on_off_pin=HIGH; digitalWrite(ON_OFF_PIN,HIGH); delay(500); } else if (on_off_pin==HIGH) { on_off_pin=LOW; digitalWrite(ON_OFF_PIN,LOW); delay(500); } else { delay(10); } }