1. Teema: LED ja RGB LED kasutamine
Задание 1.1
Мигание красного светодиода:

Задание 1.2
Светодиод RGB меняет цвет:

Задание: Светофор
Цель:
Новая действующая модель светофора, имитирующая реальный светофор на перекрестке как для автомобилей, так и для пешеходов. Система должна автоматически переключаться между ночным и дневным режимами. Ночной и дневной режимы должны быть написаны как отдельные функции, вызываемые в loop() в зависимости от ситуации.
Используемые компоненты:
3 светодиода для светофора: красный, желтый, зеленый
2 светодиода для пешеходного светофора: красный, зеленый
Резисторы для светодиодов (220-330Ω)
Arduino Uno
Панель и соединительные провода.
Схема:

Код программы:
// === Объявление пинов для управления светодиодами ===
// Светофор для автомобилей
int redCar = 13; // Красный свет (машинам стоять)
int yellowCar = 12; // Жёлтый свет (предупреждение)
int greenCar = 11; // Зелёный свет (машинам ехать)
// Светофор для пешеходов
int redPer = 10; // Красный свет (пешеходам стоять)
int greenPer = 9; // Зелёный свет (пешеходам идти)
// Переменная для определения режима: true — дневной, false — ночной
bool dayMode = true;
void setup() {
// Настраиваем все пины как выходы (чтобы можно было включать/выключать светодиоды)
pinMode(redCar, OUTPUT);
pinMode(yellowCar, OUTPUT);
pinMode(greenCar, OUTPUT);
pinMode(redPer, OUTPUT);
pinMode(greenPer, OUTPUT);
}
// Функция мигания светодиода 3 раза
void blink(int pin) {
for (int i = 0; i < 3; i++) {
digitalWrite(pin, LOW); // Выключить светодиод
delay(500); // Подождать 0.5 секунды
digitalWrite(pin, HIGH); // Включить светодиод
delay(500); // Подождать 0.5 секунды
}
}
void loop() {
if (dayMode) {
// === Шаг 1: Машинам КРАСНЫЙ, пешеходам ЗЕЛЁНЫЙ ===
digitalWrite(redCar, HIGH); // Машинам красный
digitalWrite(yellowCar, LOW); // Жёлтый выключен
digitalWrite(greenCar, LOW); // Зелёный выключен
digitalWrite(redPer, LOW); // Пешеходам красный выключен
digitalWrite(greenPer, HIGH); // Пешеходам зелёный включен
delay(5000); // Ждём 5 секунд
// === Шаг 2: Машинам ЖЁЛТЫЙ, пешеходный ЗЕЛЁНЫЙ мигает ===
digitalWrite(redCar, LOW); // Машинам красный выключен
digitalWrite(yellowCar, HIGH); // Машинам жёлтый включен
blink(greenPer); // Пешеходный зелёный мигает 3 раза
digitalWrite(greenPer, LOW); // Пешеходный зелёный выключается
digitalWrite(redPer, HIGH); // Пешеходам загорается красный
// === Шаг 3: Машинам ЗЕЛЁНЫЙ, пешеходам КРАСНЫЙ ===
digitalWrite(yellowCar, LOW); // Жёлтый выключен
digitalWrite(greenCar, HIGH); // Зелёный для машин включён
delay(5000); // Ждём 5 секунд
// === Шаг 4: Машинный ЗЕЛЁНЫЙ мигает (предупреждение) ===
blink(greenCar); // Машинный зелёный мигает 3 раза
digitalWrite(greenCar, LOW); // Зелёный выключен
digitalWrite(redCar, HIGH); // Машинам снова красный
// === Переключение на ночной режим ===
dayMode = false;
} else {
// === Ночной режим ===
// Все пешеходные огни выключены
digitalWrite(redPer, LOW);
digitalWrite(greenPer, LOW);
// Красный и зелёный для машин выключены
digitalWrite(redCar, LOW);
digitalWrite(greenCar, LOW);
// Жёлтый мигает 10 раз (ночной режим предупреждения)
for (int i = 0; i < 10; i++) {
digitalWrite(yellowCar, HIGH); // Включить жёлтый
delay(500); // Полсекунды
digitalWrite(yellowCar, LOW); // Выключить
delay(500); // Полсекунды
}
// === Возвращение в дневной режим ===
dayMode = true;
}
}
Что сделано: Светофор
В этом проекте сделана модель светофора с двумя режимами — дневным и ночным. Используются 5 светодиодов:
- 3 для машин: красный, жёлтый и зелёный.
- 2 для пешеходов: красный и зелёный.
Светофором управляет плата Arduino. Вся работа делится на два режима:
Дневной режим
- Машины стоят, пешеходы идут:
- Для машин — красный свет.
- Для пешеходов — зелёный свет на 5 секунд.
- Машины готовятся ехать:
- Для пешеходов — мерцает зеленый свет.
- Для машин — жёлтый свет
- Машины едут:
- Зелёный свет для машин включён на 5 секунд.
- Машины заканчивают движение:
- Зелёный мигает 3 раза по 300 мс.
и после дневного режима следует ночной режим
Ночной режим
- Свет для пешеходов отключён.
- Красный и зелёный свет для машин тоже выключены.
- Только жёлтый мигает 10 раз по 500 мс — как предупреждение на ночной дороге.
После этого снова включается дневной режим.
Video:
https://youtube.com/shorts/OCKhMpWUlTA?si=9c9aI5b5LrFO7EH4
