#include <Arduino.h>
const int carRed = 2;
const int carYellow = 3;
const int carGreen = 4;
const int pedRed = 5;
const int pedGreen = 6;
const int button = 7;
void setup() {
pinMode(carRed, OUTPUT);
pinMode(carYellow, OUTPUT);
pinMode(carGreen, OUTPUT);
pinMode(pedRed, OUTPUT);
pinMode(pedGreen, OUTPUT);
pinMode(button, INPUT_PULLUP);
// Исходное состояние
digitalWrite(carGreen, HIGH);
digitalWrite(carYellow, LOW);
digitalWrite(carRed, LOW);
digitalWrite(pedRed, HIGH);
digitalWrite(pedGreen, LOW);
}
void loop() {
// Проверяем нажатие кнопки
if (digitalRead(button) == LOW) {
delay(50);
if (digitalRead(button) == LOW) {
// Ждём отпускания кнопки
while (digitalRead(button) == LOW) {
delay(10);
}
// Ждём 3 секунды
delay(3000);
// Автомобильный зелёный мигает 3 раза
for (int i = 0; i < 3; i++) {
digitalWrite(carGreen, LOW);
delay(500);
digitalWrite(carGreen, HIGH);
delay(500);
}
// Автомобильный жёлтый на 2 секунды
digitalWrite(carGreen, LOW);
digitalWrite(carYellow, HIGH);
delay(2000);
// Автомобильный красный
digitalWrite(carYellow, LOW);
digitalWrite(carRed, HIGH);
// Ждём 1 секунду
delay(1000);
// Пешеходам разрешён переход
digitalWrite(pedRed, LOW);
digitalWrite(pedGreen, HIGH);
delay(5000);
// Пешеходам запрещён переход
digitalWrite(pedGreen, LOW);
digitalWrite(pedRed, HIGH);
// Ждём 1 секунду
delay(1000);
// Возвращаем исходное состояние
digitalWrite(carRed, LOW);
digitalWrite(carGreen, HIGH);
}
}
}