int flag=0; // переменная void setup() { pinMode(0, OUTPUT); // прописываем к каким выводам будет подключена нагрузка 0 это 5 ножка, 1 это 6 ножка pinMode(1, OUTPUT); pinMode(3, INPUT); // 3 это 2 ножка вход pinMode(2, INPUT); // 2 это 7 ножка вход } void loop() { if (digitalRead(3)==HIGH&&flag==0) //если есть высокий сигнал и flag равна 0, то... { digitalWrite(0,HIGH); flag=1; // пишется высокий уровень для 0 ножки, присваивается значение 1 для переменной флаг delay(800); } if (digitalRead(3)==HIGH&&flag==1) //если есть высокий сигнал и flag равна 1, то... { digitalWrite(1,HIGH); flag=2; // пишется высокий уровень для 1 ножки, присваивается значение 2 для переменной флаг delay(800); } if (digitalRead(3)==HIGH&&flag==2) //если есть высокий сигнал и flag равна 2, то... { digitalWrite(0,LOW); flag=3; // пишется низкий уровень для 0 ножки, присваивается значение 3 для переменной флаг delay(800); } if (digitalRead(3)==HIGH&&flag==3) //если есть высокий сигнал и flag равна 3, то... { digitalWrite(0,LOW); //отключаем нагрузки и обнуляем переменную flag digitalWrite(1,LOW); flag=0; } delay(800); // для отрицательнго потенциала if (digitalRead(2)==LOW&&flag==0) //если есть низкий сигнал и flag равна 0, то... { digitalWrite(0,HIGH); flag=1; // пишется высокий уровень для 0 ножки, присваивается значение 1 для переменной флаг delay(800); } if (digitalRead(2)==LOW&&flag==1) //если есть низкий сигнал и flag равна 1, то... { digitalWrite(1,HIGH); flag=2; // пишется высокий уровень для 1 ножки, присваивается значение 2 для переменной флаг delay(800); } if (digitalRead(2)==LOW&&flag==2) //если есть низкий сигнал и flag равна 2, то... { digitalWrite(0,LOW); flag=3; // пишется низкий уровень для 0 ножки, присваивается значение 3 для переменной флаг delay(800); } if (digitalRead(2)==LOW&&flag==3) //если есть низкий сигнал и flag равна 3, то... { digitalWrite(0,LOW); //отключаем нагрузки и обнуляем переменную flag digitalWrite(1,LOW); flag=0; } delay(800); }