#include <Arduino.h> // Команди Arduino.
const byte RED_PIN = 8; // Червоний світлодіод на D8.
const byte YELLOW_PIN = 9; // Жовтий світлодіод на D9.
const byte GREEN_PIN = 10; // Зелений світлодіод на D10.
void setup() { // Виконується один раз після запуску.
pinMode(RED_PIN, OUTPUT); // Налаштовуємо вихід червоного LED.
pinMode(YELLOW_PIN, OUTPUT); // Налаштовуємо вихід жовтого LED.
pinMode(GREEN_PIN, OUTPUT); // Налаштовуємо вихід зеленого LED.
}
void loop() { // Повторюємо весь цикл світлофора.
digitalWrite(RED_PIN, LOW); // Червоний вимкнений.
digitalWrite(YELLOW_PIN, LOW); // Жовтий вимкнений.
digitalWrite(GREEN_PIN, HIGH); // Вмикаємо зелений.
delay(5000); // Зелений світиться 5 секунд.
digitalWrite(GREEN_PIN, LOW); // Блимання 1: гасимо зелений.
delay(500); // Пів секунди без світла.
digitalWrite(GREEN_PIN, HIGH); // Знову вмикаємо зелений.
delay(500); // Пів секунди світла.
digitalWrite(GREEN_PIN, LOW); // Блимання 2: гасимо зелений.
delay(500); // Пів секунди без світла.
digitalWrite(GREEN_PIN, HIGH); // Знову вмикаємо зелений.
delay(500); // Пів секунди світла.
digitalWrite(GREEN_PIN, LOW); // Блимання 3: гасимо зелений.
delay(500); // Пів секунди без світла.
digitalWrite(GREEN_PIN, HIGH); // Знову вмикаємо зелений.
delay(500); // Пів секунди світла.
digitalWrite(GREEN_PIN, LOW); // Вимикаємо зелений.
digitalWrite(YELLOW_PIN, HIGH); // Вмикаємо жовтий.
delay(2000); // Жовтий світиться 2 секунди.
digitalWrite(YELLOW_PIN, LOW); // Вимикаємо жовтий.
digitalWrite(RED_PIN, HIGH); // Вмикаємо червоний.
delay(5000); // Червоний світиться 5 секунд.
digitalWrite(YELLOW_PIN, HIGH); // Додаємо жовтий; червоний залишається ввімкненим.
delay(1000); // Обидва кольори світяться 1 секунду.
} // Наступний оберт loop знову ввімкне лише зелений.