ОХРАННАЯ СИГНАЛИЗАЦИЯ
БАЗОВАЯ РЕАЛИЗАЦИЯ
Логика событий:
Событие: Датчик расстояния < 30 см
Реакция:
- Включить красный светодиод
- Включить звуковой сигнал (зуммер)
- Ждать 5 секунд
- Выключить сигнализацию
Компоненты:
- ✅ Ультразвуковой датчик HC-SR04 (или ИК-датчик расстояния)
- ✅ Светодиод красный
- ✅ Зумер (пищалка)
- ✅ Резисторы 220 Ом
- ✅ Arduino Uno + макетка
Схема подклюшения:
УЗ-датчик: VCC→5V, GND→GND, Trig→pin9, Echo→pin10
Светодиод: + → pin7 → резистор 220Ом → GND
Зумер: + → pin6, - → GND
ЛОГИКА РАБОТЫ 🔄
Псевдокод для обсуждения:
// ИНИЦИАЛИЗАЦИЯ:
настраиваем пины
задаем пороговое расстояние = 30 см
// ОСНОВНОЙ ЦИКЛ:
измеряем расстояние
если (расстояние < порога) И (сигнализация выключена):
включаем сигнализацию
запоминаем время включения
если (сигнализация включена):
если (прошло > 5 секунд):
выключаем сигнализацию
иначе:
продолжаем мигать и пищать
Улучшенная версия с состоянием:
Состояния: [ОЖИДАНИЕ] → (объект близко) → [ТРЕВОГА] → (5 сек) → [ОЖИДАНИЕ]
УСЛОЖНЕНИЯ И ВАРИАЦИИ 🎛️
1. Регулируемый порог срабатывания:
Добавляем потенциометр → меняем порог от 10 до 100 см
Аналоговое чтение → map() к диапазону расстояний
2. Прогрессивная сигнализация:
Объект на 30-50 см: мигает желтый
Объект на 10-30 см: мигает красный + тихий звук
Объект < 10 см: красный постоянно + громкий звук
3. Система сброса по кнопке:
Добавляем кнопку → при нажатии выключаем сигнализацию сразу
(вместо ожидания 5 секунд)
ОЛИМПИАДНАЯ СВЯЗЬ 🏆
Прямые параллели с заданиями:
- Система контроля стаканов - событие: стакан установлен → реакция: начать измерение
- Визуализатор битовых операций - событие: поворот потенциометра → реакция: сдвиг битов
- Управление БПЛА - событие: низкий заряд батареи → реакция: экстренная посадка
Критерии успеха в олимпиаде:
- ✅ Стабильное срабатывание - без ложных тревог и пропусков
- ✅ Адекватные пороги - выбраны под конкретную задачу
- ✅ Быстрая реакция - минимальная задержка между событием и действием
- ✅ Обработка множественных событий - несколько датчиков работают одновременно
Типичные ошибки новичков:
- ❌ Дребезг контактов - кнопка срабатывает multiple times
- ❌ Плавающие пороги - система то чувствительная, то “спит”
- ❌ Блокирующая обработка - пока обрабатывается одно событие, остальные теряются
- ❌ Отсутствие гистерезиса - система колеблется на границе порога
МЕТОДИЧЕСКИЕ СОВЕТЫ 👨🏫
Эксперименты с порогами:
// Упражнение "Найди идеальный порог"
Пробуем разные значения:
- 10 см → слишком близко, легко пропустить объект
- 50 см → слишком далеко, много ложных срабатываний
- 30 см → золотая середина?
Визуализация для понимания:
📏 Расстояние: 45 см [██████████░░░░] 45/100 см
🎯 Порог: 30 см [██████░░░░░░░░]
🚨 Статус: НОРМА (сигнализация выключена)
Диагностика проблем:
- Датчик выдает -1 или 0 → проверяем питание и соединения
- Постоянная тревога → возможно, объект слишком близко
- Сигнализация не выключается → проверяем логику таймера
Критерии оценки проекта:
- 4 балла - стабильно определяет объект и включает сигнализацию
- +2 балла - точная настройка порога срабатывания
- +2 балла - корректно выключается через 5 секунд
- +2 балла - добавлена дополнительная функция (кнопка сброса/регулировка)
ПРАКТИЧЕСКИЕ УПРАЖНЕНИЯ 🏋️
Упражнение 1: “Калибровка датчика”
- Измерьте расстояние до 5 разных объектов
- Постройте график “реальное расстояние vs показания датчика”
- Найдите систематическую погрешность
Упражнение 2: “Антидребезг”
- Добавьте кнопку для ручного включения сигнализации
- Реализуйте программную защиту от дребезга контактов
- Сравните поведение с защитой и без
Упражнение 3: “Умная сигнализация”
- Сделайте так, чтобы сигнализация не срабатывала на домашних животных (по высоте)
- Добавьте режим “тихой тревоги” (только свет, без звука)
Этот проект учит самому важному - как заставить робота “чувствовать” и реагировать на мир вокруг! 🌍
