BH1750 — Цифровой датчик освещенности/люксметр (модуль GY-302)

Цифровой датчик освещенности GY-302 на чипе BH1750 предназначен для измерения фонового освещения. BH1750 16-битный датчик освещённости (люксметр) с интерфейсом I2C. Эта микросхема хорошо подходит для получения данных об окружающем освещении. Фотодиод на BH1750 определяет интенсивность света, которая преобразуется в выходное напряжение с помощью операционного усилителя. Встроенный АЦП выдает 16-битные цифровые данные. Внутренняя логика BH1750 избавляет от необходимости каких-либо сложных вычислений, поскольку он напрямую выводит значимые цифровые данные в люксах (лк).

Согласно документации, датчик BH1750 чувствителен к видимому свету и практически не подвержен влиянию инфракрасного излучения, т.е. реагирует примерно на тот же спектральный диапазон, что и человеческий глаз.

Измерение освещенности является важным параметром при создании приложений домашней автоматики и Интернета вещей. Самым распространенным датчиком измерения освещенности у любителей Arduino является фоторезистор аналоговый датчик, меняющий свое сопротивление в зависимости от интенсивности света, однако точность его невысока и значение от выдает не в люксах. В отличие от него, модуль GY302 на базе чипа BH1750, представляет собой высокоточный цифровой датчик интенсивности света, выдающий значение как раз в люксах. В проектах Arduino лучше использовать уже готовый модуль GY-302 со стабилизатором напряжения и удобными выводами подключения.

Люкс — (от лат. lux — свет; русское обозначение: лк, международное обозначение: lx) — единица измерения освещённости в Международной системе единиц (СИ). Люкс равен освещённости поверхности площадью 1 м² при световом потоке падающего на неё излучения, равном 1 лм. Соответственно, выполнятся: 1 лк = 1 лм/м2. С другой стороны, люкс равен освещённости поверхности сферы радиусом 1 м, создаваемой точечным источником света, находящимся в её центре, сила света которого составляет 1 кд. Таким образом, с основными единицами СИ люкс связан соотношением: 1 лк = 1 кд/м2.

Распиновка модуля GY-302 на BH1750

Распиновка модуля GY-302 на BH1750 (люксметр)

Вывод Описание
1 VCC Питание
2 GND Земля
3 SCL Линия тактирования (Serial CLock)
4 SDA Линия данных (Serial Data)
5 ADDR Выбор адреса

Технические характеристики BH1750

  • Спектральная характеристика: близка к визуальной чувствительности;
  • Малое влияние инфракрасного излучения;
  • Функция спящего режима: есть;
  • Фильтрация световых шумов: 50/60 Гц;
  • Рабочее напряжение питания: 3.3-5 В;
  • Ток потребления: 120 мкА;
  • Ток потребления в спящем режиме: 0.01 мкА;
  • Чувствительность: 65536 градаций;
  • Точность в режиме высокого разрешения: 1 Лк;
  • Точность в режиме низкого разрешения: 4 Лк;
  • Период измерения в режиме высокого разрешения: 120 мс;
  • Период измерения в режиме низкого разрешения: 16 мс;
  • Встроенный АЦП;
  • Шина данных: I2C;
  • Калибровка: не требуется;
  • Размеры: 18.5 х 13.9 х 2 мм;
  • Вес: 5 г.

Схема модуля GY-302 / схема включения BH1750

Цифровой датчик освещенности BH1750 - Схема включения

Входное напряжение 5В понижается линейным стабилизатором с маркировкой 662К (datasheet) до 3.3В для питания датчика. Линии данных SDA и SCL подтянуты резисторами 4.7К к 3.3В. Преобразователь уровня отсутствует.

Функциональная блок-схема

Цифровой датчик освещенности BH1750 - Функциональная блок-схема

  • PD — Фотодиод, спектральная характеристика которого близка к визуальной чувствительности.
  • AMP — Операционный усилитель для преобразования тока фотодиода в напряжение.
  • ADC — АЦП для получения 16-битных цифровых данных.
  • Logic + I2C Interface — Расчет внешнего освещения, интерфейс шины I2C и регистры:
    • Data Register (Регистр данных) — Этот регистр предназначен для регистрации данных об окружающем освещении. Начальное значение: «0000_0000_0000_0000».
    • Measurement Time Register (Регистр времени измерения) — Этот регистр предназначен для регистрации времени измерения. Начальное значение «01_0010_1100».
  • OSC — Внутренний тактовый генератор. Это CLK для внутренней логики.

Система установки I2C адреса

BH1750 может иметь, в зависимости от уровня сигнала на входе ADDR, два адреса: 0x23 (ADDR=LOW) и 0x5C (ADDR=HIGH). Это значит, что на одну I2C линию можно подсоединить одновременно два датчика BH1750. Вывод ADDR модуля GY-302 можно оставить не подключённым, соединить с землёй или с питанием. Следует учесть, что нельзя подавать больше 3.3 В. На модуле распаян стягивающий (pull-down) резистор на 1к, поэтому при отсутствии соединения по умолчанию используется адрес (0x23).

Перемычка J1 на печатной плате (см. изображение ниже) позволяет легко настроить адрес; если J1 замкнута (можно соединить с питанием припаяв контакты капелькой припоя), ADDR будет в состояние лог. «1», в таком случае I2C адрес датчика будет 0x5C.

BH1750 - Цифровой датчик освещенности - Система установки I2C адреса

Внимание: Адреса модуля можно контролировать по входному сигналу на выводе ADDR, если перемычка (J1) отсутствует. Если перемычка присутствует, то подавать логический ноль на ADDR нельзя — можно спровоцировать КЗ и «убить» порт ведущего устройства.

Материалы

datasheet bh1721fvc-e.pdf
Еще один люксметр на BH-1750
GY-302 BH-1750 модуль освещения, Light Sensor для Arduino
Люкс

Купить BH1750 на AliExpress

Похожие записи

Комментарии 113

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *