Датчики света. Как робот понимает, светло ли вокруг
Представьте: робот-исследователь выходит из тёмного подвала на яркий двор. Или робот-уборщик понимает, что стемнело и пора включать фары. Или робот на заводе проверяет, достаточно ли света для работы. Для всего этого нужны датчики света.
Что такое свет для робота?
Свет — это электромагнитное излучение, которое несёт энергию. Робот не видит свет как мы — он превращает его в числа.
Основные понятия:
1. Спектр света (цвета):
Ультрафиолет (UV) < 380 нм ← Невидимо для человека
Фиолетовый 380-450 нм
Синий 450-495 нм
Зеленый 495-570 нм
Желтый 570-590 нм
Оранжевый 590-620 нм
Красный 620-750 нм
Инфракрасный (IR) > 750 нм ← Невидимо для человека
2. Освещенность (сколько света): Измеряется в люксах (лк):
- 0.001 лк — Звёздное небо без луны
- 1 лк — Полнолуние в ясную ночь
- 10-50 лк — Уличное освещение
- 300-500 лк — Класс или офис
- 1000 лк — Хорошо освещенная лаборатория
- 10 000 лк — Пасмурный день
- 100 000 лк — Прямое солнце в полдень
3. Сила света и яркость:
- Кандела (кд) — сила света (как сильно источник светит)
- Люмен (лм) — световой поток (сколько всего света дает источник)
- Люкс (лк) — освещенность (сколько света падает на поверхность)
Типы датчиков: от простого к сложному
1. Фоторезистор (LDR) — самый простой
Как работает: Сопротивление меняется в зависимости от света.
Темно → Сопротивление большое (до 1 МОм)
Светло → Сопротивление малое (до 1 кОм)
Схема подключения:
3.3V/5V ───[Фоторезистор]─── A0
│
[10к резистор]
│
GND
Формула освещенности (приблизительно):
R = 10к × (1023/ADC - 1) [Ом]
Освещенность ≈ 500 / √R [лк] (очень грубо!)
Где используется:
- Автоматические ночники
- Определение “день/ночь”
- Простые проекты для начальной школы
Ограничения:
- Медленный (реагирует за 10-100 мс)
- Неточный (±50%)
- Чувствителен к температуре
2. Фотодиод — быстрый и точный
Как работает: Превращает свет в электрический ток.
Свет → Электрический ток (пропорционально интенсивности)
Особенности:
- Очень быстрый (микросекунды)
- Точно измеряет интенсивность
- Можно измерять отдельные цвета с фильтрами
Применение:
- Датчики линии у роботов
- Приемники ИК-пультов
- Световые барьеры
- Измерение пульса (по изменению отражения света)
3. Цифровые датчики — профессиональные измерения
BH1750 — самый популярный
Что измеряет: Освещенность в люксах
Точность: ±20%
Диапазон: 1-65535 лк
Интерфейс: I2C
Особенности:
• Измеряет как человеческий глаз
• Автоматическая коррекция под спектр
• Не нужны дополнительные компоненты
TSL2561 / TSL2591 — для сложных задач
Что измеряет: Видимый свет + инфракрасный
Точность: ±0.5 лк (в темноте)
Диапазон: 0.1-40000 лк (TSL2561)
Особенности:
• Отдельно видимый и ИК свет
• Широкий динамический диапазон
• Можно определять источник света
(солнце = много ИК, лампа = мало ИК)
APDS-9960 — цвет и жесты
Что измеряет: RGB цвет + жесты
Интерфейс: I2C
Применение:
• Определение цвета объектов
• Распознавание жестов рукой
• Приближение (proximity)
Как роботы используют датчики света?
1. Навигация по свету (фототаксис)
Как работает:
• Датчики света по бокам робота
• Если слева светлее → едем налево
• Если справа светлее → едем направо
• Достигаем источника света
Примеры:
• Робот-пылесос едет к окну для зарядки
• Робот-растение поворачивает "листья" к свету
• Мотылек-робот летит на свет
2. Автоматическое освещение
Умный робот в классе:
• Измеряет освещенность на партах
• Если темно (<300 лк) → включает свет
• Если слишком ярко (>1000 лк) → закрывает шторы
• Экономит электричество
3. Определение времени суток
Автономный уличный робот:
• Утро (>1000 лк) → начинать работу
• День (>10000 лк) → работать на полную
• Вечер (<100 лк) → включить фары
• Ночь (<1 лк) → перейти в режим охраны
4. Калибровка камер
Робот с камерой:
• Измеряет освещенность
• Настраивает выдержку камеры
• Делает четкие снимки в любом свете
• Определяет, нужна ли вспышка
5. Обнаружение пламени/огня
Робот-пожарный:
• Пламя имеет характерный спектр
• Много ИК и УФ излучения
• Датчик видит аномальное соотношение
• Тревога при обнаружении огня
Практические школьные проекты
Проект 1: “Умная лампа для парты”
Задача: Автоматически поддерживать идеальное освещение
Компоненты:
• Arduino Nano
• Датчик BH1750
• Светодиодная лента RGB
• Кнопка для ручного управления
Логика:
• Идеал: 500 лк (для чтения)
• Если <400 лк → добавить белого света
• Если >600 лк → уменьшить яркость
• Вечером → теплый свет (2700K)
• Днем → холодный свет (5000K)
Проект 2: “Робот-следопыт”
Задача: Найти и подъехать к фонарику
Компоненты:
• 4 фотодиода по сторонам (N, S, W, E)
• Платформа на 2 моторах
• Фонарик как цель
Алгоритм:
1. Измерить свет со всех сторон
2. Определить, откуда светлее
3. Повернуться к свету
4. Поехать вперед
5. Повторить до достижения
Проект 3: “Исследование освещенности в школе”
Научный проект:
1. Сделать мобильный измеритель:
• ESP32 + BH1750 на палке
• Батарейка, экран
2. Измерить в разных местах:
• У окна и в глубине класса
• В коридоре и в спортзале
• Под разными типами ламп
3. Построить карту освещенности
4. Дать рекомендации:
• Где нужно добавить свет?
• Где можно экономить?
• Какие лампы лучше?
Физические основы и формулы
1. Закон обратных квадратов
Освещенность = Сила света / Расстояние²
Пример:
Лампа 100 кд на расстоянии 2 м:
E = 100 / (2²) = 100 / 4 = 25 лк
Если отодвинуть на 4 м:
E = 100 / (4²) = 100 / 16 = 6.25 лк
Практическое применение: Робот может определить расстояние до источника света, зная его силу и измеряя освещенность.
2. Косинусный закон (закон Ламберта)
Освещенность под углом = Освещенность × cos(θ)
Пример:
Свет падает перпендикулярно (θ=0°): cos(0)=1 → 100% света
Свет падает под 60°: cos(60)=0.5 → 50% света
Практическое применение: Робот с наклонным датчиком должен учитывать угол при измерениях.
3. Спектральная чувствительность
Разные датчики по-разному видят цвета:
| Датчик | Пик чувствительности | Что хорошо видит |
|---|---|---|
| Фоторезистор (CdS) | 550 нм (зеленый) | Как человеческий глаз |
| Кремниевый фотодиод | 900 нм (ИК) | Инфракрасный свет |
| BH1750 | Скорректирован под глаз | Точно как человек |
Важно для проектов: Если робот должен видеть как человек — используйте BH1750. Если нужно видеть ИК — фотодиод.
4. Динамический диапазон
Это отношение самого яркого к самому темному,
что может измерить датчик.
Пример:
Глаз человека: 1:1 000 000 000
Фоторезистор: 1:1000
TSL2591: 1:600 000 000
Практическое применение: Для улицы нужен датчик с большим диапазоном.
Как выбрать датчик для школьного проекта?
Вопросы для выбора:
Что нужно измерять?
- Просто “светло/темно” → фоторезистор
- Точно в люксах → BH1750
- Отдельно цвета → APDS-9960
- Видимый + ИК → TSL2561
Какой диапазон освещенности?
- В помещении: 1-1000 лк → BH1750
- На улице: 1-100000 лк → TSL2591
- Очень темно: <1 лк → специальные датчики
Нужна ли скорость?
- Медленно (секунды): фоторезистор
- Быстро (миллисекунды): фотодиод
- Очень быстро (микросекунды): для пультов
Бюджет проекта?
- До 50₽: фоторезистор
- 100-300₽: BH1750
- 500-1000₽: TSL2561, APDS-9960
Рекомендации для школы:
Начальная школа (1-4 класс):
- Фоторезисторы для первых экспериментов
- Проект “Ночник, который сам включается”
Средняя школа (5-9 класс):
- BH1750 для точных измерений
- Проект “Автоматическое освещение класса”
Старшая школа (10-11 класс):
- TSL2591 для исследований
- APDS-9960 для продвинутых проектов
- Научная работа “Оптимизация освещения в школе”
Что дальше?
Освоили датчики света? Теперь можно:
- Датчики цвета — как различать цвета
- Компьютерное зрение — как робот видит мир по-настоящему
- Энергосбережение — как использовать свет для экономии энергии
Совет: Начните с самого простого — сделайте устройство, которое мигает светодиодом в темноте. Потом усложняйте: добавьте измерение в люксах, затем автоматическую регулировку. Постепенно вы поймёте все тонкости работы со светом.
