УМНЫЙ СВЕТОФОР 🚦
БАЗОВАЯ РЕАЛИЗАЦИЯ
Состояния автомата:
[КРАСНЫЙ] --(10 сек)--> [КРАСНЫЙ+ЖЕЛТЫЙ] --(3 сек)--> [ЗЕЛЕНЫЙ]
--(15 сек)--> [ЖЕЛТЫЙ] --(3 сек)--> [КРАСНЫЙ]
Компоненты:
- ✅ 3 светодиода (R, Y, G)
- ✅ Резисторы 220 Ом
- ✅ Arduino Uno
- ✅ Макетная плата
Логика работы:
// Псевдокод - ОСНОВА для обсуждения с учениками
ВКЛЮЧАЕМСЯ → состояние = КРАСНЫЙ
запоминаем время старта состояния
КАЖДУЮ МИЛЛИСЕКУНДУ:
если (состояние = КРАСНЫЙ) и (прошло > 10 сек):
переключаемся в КРАСНЫЙ+ЖЕЛТЫЙ
запоминаем новое время
если (состояние = КРАСНЫЙ+ЖЕЛТЫЙ) и (прошло > 3 сек):
переключаемся в ЗЕЛЕНЫЙ
запоминаем новое время
... и так по циклу
УСЛОЖНЕНИЕ: “НОЧНОЙ РЕЖИМ” 🌙
Добавляем:
- ✅ Кнопка тактовая
- ✅ Резистор 10кОм (pull-down)
Новая логика автомата:
[НОЧНОЙ РЕЖИМ] ←--- кнопка ---→ [ОСНОВНОЙ РЕЖИМ]
| |
(мигающий желтый каждую 1 сек) (стандартный цикл светофора)
Управление состояниями:
// Псевдокод с кнопкой
если (кнопка нажата И удерживается 2 сек):
если (был ОСНОВНОЙ режим):
переключаемся в НОЧНОЙ
иначе:
переключаемся в ОСНОВНОЙ
ждем отпускания кнопки
ОЛИМПИАДНАЯ СВЯЗЬ 🏆
Прямые параллели с заданиями:
- Система контроля стаканов - состояния: [ожидание] → [измерение] → [анализ] → [вывод]
- Визуализатор битовых операций - состояния: [ввод] → [отображение] → [сдвиг] → [яркость]
- Управление БПЛА - состояния: [взлет] → [полет] → [посадка] → [авария]
Критерии успеха в олимпиаде:
- ✅ Четкие переходы - система не “зависает” между состояниями
- ✅ Стабильные тайминги - нет дрифта времени
- ✅ Обработка всех событий - кнопки, таймеры, сенсоры
- ✅ Предсказуемое поведение - легко тестировать и оценивать
Типичные ошибки новичков:
- ❌ Используют delay() - робот “засыпает”
- ❌ Не отслеживают время состояний - хаотичное поведение
- ❌ Забывают сбрасывать флаги - однократные события повторяются
- ❌ Не предусматривают все переходы - система “застревает”
МЕТОДИЧЕСКИЕ СОВЕТЫ 👨🏫
Порядок введения концепций:
- Сначала - рисуем граф состояний на бумаге
- Потом - реализуем БЕЗ кнопки (простой цикл)
- Затем - добавляем кнопку для смены режимов
- Наконец - усложняем (пешеходная кнопка, аварийный режим)
Визуализация для понимания:
🎮 Состояние: КРАСНЫЙ [██████████░░] 8/10 сек
🎮 Состояние: НОЧНОЙ [█░█░█░█░█░] мигание
Критерии оценки проекта:
- 4 балла - работает базовый цикл
- +2 балла - добавлен ночной режим
- +2 балла - плавные переходы без мерцания
- +2 балла - стабильная работа кнопки