Датчик освещенности BH1750FVI (GY-30). Подключение к Arduino

Цифровой датчик освещенности 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.

Особенности модуля.

  • Измерение освещенности в диапазоне от 1 до 65535 люкс.
  • Чувствительность близка к видимому световому спектру.
  • Встроенное подавление светового шума 50 Гц / 60 Гц.
  • Интерфейс I2C, возможно подключение двух модулей на шину.
  • Логический уровень шины I2C: 1,8 В
  • Стабилизатор напряжения питания и конвертер логических уровней на плате.
  • Приминается в различной бытовой технике для настройки яркости подсветки экранов в зависимости от отведения.

 
Вывод Описание
1 VCC Питание
2 GND Земля
3 SCL Линия тактирования (Serial CLock)
4 SDA Линия данных (Serial Data)
5 AD0 Выбор адреса модуля на шине I2C, выход притянут к массе и адрес модуля 0x23, если на AD0 подать логическую единицу, адрес будет 0X5C.

Выходы интерфейса I2C имеют на плате конвертер уровней, дополнительная подтяжка выходов не требуется.

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

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

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

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

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

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

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

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

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

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

Подключение к Arduino

Обращайте внимание на название, а не расположение контактов модуля. На картинке аналогичный модуль GY-302.

Вам может также понравиться...