#include <Arduino.h>
#define LED_RED PA0
#define LED_YELLOW PA1
#define LED_GREEN PA2
#define LED_RED_2 PA3
#define LED_GREEN_2 PA4
void setup() {
// Налаштування пінів як виходи
pinMode(LED_RED, OUTPUT);
pinMode(LED_YELLOW, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_RED_2, OUTPUT);
pinMode(LED_GREEN_2, OUTPUT);
// Встановлюємо початковий стан: 1-й - зелений, 2-й - червоний
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_RED, LOW);
digitalWrite(LED_RED_2, HIGH);
digitalWrite(LED_GREEN_2, LOW);
}
void loop() {
// 1) Перший зелений 20 с, другий червоний
// (початковий стан вже встановлений у setup, але на всякий випадок ставимо явно)
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_RED, LOW);
digitalWrite(LED_RED_2, HIGH);
digitalWrite(LED_GREEN_2, LOW);
delay(20000); // 20 секунд
// 2) Перший жовтий 3 с
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_YELLOW, HIGH);
// другий лишається червоним
delay(3000); // 3 секунди
// 3) Перший червоний (жовте гасимо) і чекаємо 2 с перед тим, як увімкнути зелений на 2-му
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_RED, HIGH);
delay(2000); // 2 секунди
// 4) Через 2 с — другий зелений, перший залишається червоним
digitalWrite(LED_RED_2, LOW);
digitalWrite(LED_GREEN_2, HIGH);
// Тримаємо другий зелений 20 с (перший лишається червоним)
delay(20000); // 20 секунд
// 5) Потім одночасно: перший жовтий та другий червоний — 3 с
digitalWrite(LED_GREEN_2, LOW);
digitalWrite(LED_RED_2, HIGH);
// Перший: з червоного -> показуємо жовте для підготовки (як вказано)
digitalWrite(LED_RED, LOW);
digitalWrite(LED_YELLOW, HIGH);
delay(3000); // 3 секунди
// 6) Повертаємося до початкового стану: перший зелений, другий червоний
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_RED_2, HIGH);
digitalWrite(LED_GREEN_2, LOW);
// Цикл повторюється
}