int buttonPin = 4; int buttonState = 0; int f=0; void setup() { // инициилизируем выходы, входы, переменные pinMode(0, OUTPUT); // мигает светодиод pinMode(1, OUTPUT); // на клапан pinMode(2, OUTPUT); // сигнал отключения для питания pinMode(buttonPin, INPUT); } // начинается рабочий цикл void loop() { if (f<1) {digitalWrite(1, HIGH); digitalWrite(2, HIGH); } // выставляем логические сигналы (на клапан откл и на кнопку откл) f++; // прибавляем циклы delay(2000); buttonState = digitalRead(buttonPin); if (buttonState == HIGH){f=1;}; // если будет плюс на замке, то циклы дальше 1 не уйдут if (f < 300 && buttonState == LOW){ digitalWrite(0, HIGH); delay(1000); digitalWrite(0, LOW); delay(1000); } // просто мигаем светодиодом 20 циклов и ждем if (f > 301 && f < 350){ digitalWrite(1, LOW); }; // включаем клапан, можно за счет циклов задать время if (f > 351 && f < 500){ digitalWrite(1, HIGH); }; // выключаем клапан и ждем if (f > 501 && f < 504){ digitalWrite(2, LOW); }; // включаем кнопку для откл питания if (f > 505 && f < 510){ digitalWrite(2, HIGH); }; // выключаем кнопку для откл питания if (f > 540){ digitalWrite(0, HIGH); delay(50); digitalWrite(0, LOW); delay(50); digitalWrite(2, LOW); delay(900); digitalWrite(2, HIGH); delay(2000); }; // постоянно подаются сигналы на кнопку для отключения питания и начинает мигать светодиод кратковременно }