Skip to main content

Датчики света. Как робот понимает, светло ли вокруг

Представьте: робот-исследователь выходит из тёмного подвала на яркий двор. Или робот-уборщик понимает, что стемнело и пора включать фары. Или робот на заводе проверяет, достаточно ли света для работы. Для всего этого нужны датчики света.


Что такое свет для робота?

Свет — это электромагнитное излучение, которое несёт энергию. Робот не видит свет как мы — он превращает его в числа.

Основные понятия:

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

Практическое применение: Для улицы нужен датчик с большим диапазоном.


Как выбрать датчик для школьного проекта?

Вопросы для выбора:

  1. Что нужно измерять?

    • Просто “светло/темно” → фоторезистор
    • Точно в люксах → BH1750
    • Отдельно цвета → APDS-9960
    • Видимый + ИК → TSL2561
  2. Какой диапазон освещенности?

    • В помещении: 1-1000 лк → BH1750
    • На улице: 1-100000 лк → TSL2591
    • Очень темно: <1 лк → специальные датчики
  3. Нужна ли скорость?

    • Медленно (секунды): фоторезистор
    • Быстро (миллисекунды): фотодиод
    • Очень быстро (микросекунды): для пультов
  4. Бюджет проекта?

    • До 50₽: фоторезистор
    • 100-300₽: BH1750
    • 500-1000₽: TSL2561, APDS-9960

Рекомендации для школы:

Начальная школа (1-4 класс):

  • Фоторезисторы для первых экспериментов
  • Проект “Ночник, который сам включается”

Средняя школа (5-9 класс):

  • BH1750 для точных измерений
  • Проект “Автоматическое освещение класса”

Старшая школа (10-11 класс):

  • TSL2591 для исследований
  • APDS-9960 для продвинутых проектов
  • Научная работа “Оптимизация освещения в школе”

Что дальше?

Освоили датчики света? Теперь можно:

Совет: Начните с самого простого — сделайте устройство, которое мигает светодиодом в темноте. Потом усложняйте: добавьте измерение в люксах, затем автоматическую регулировку. Постепенно вы поймёте все тонкости работы со светом.