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

25-02-2020, 18:11 0 комментариев
Цель нашей сегодняшней статьи - рассказать вам о всех нюансах подключения цифрового датчика освещенности BH1750 к Arduino. Данный модуль достаточно функционален и практичен, потому что позволяет измерять фоновое освещение сразу в люксах, при этом не подвержен влиянию инфракрасных лучей. Такая его специфика была по достоинству оценена многими любителями "самоделок" - а сам прибор можно увидеть в различных интересных проектах создания устройств с показаниями освещенности. К слову, подобные датчики можно увидеть также в смартфонах ∕ планшетах (для изменения яркости дисплея).

Обратимся к техническим параметрам модуля:
  • напряжение питания: 5 V;
  • ток потребления: 120 мкА;
  • --- в спящем режиме: 0.01 мкА;
  • тип шины ∕ интерфейса: I2C;
  • АЦП: 16 бит;
  • точность: 1 люкс;
  • чувствительность: 65536 градаций;
  • калибровка: не требуется;
  • интегрирован сенсор и цифровой преобразователь;
  • габариты: 19 х 13 х 2 мм.
Распиновка устройства:

Как выглядит подключение BH1750 к Arduino схематически, показано на скриншоте:


Мы использовали такие аппаратные компоненты как: плата расширения Ардуино UNO (подойдут другие совместимые контроллеры), модуль с цифровым датчиком интенсивности света (люксметр) BH1750, соединительные провода, ПК с установленной средой разработки Arduino IDE и USB-кабелем (для подключения). В принципе, все стандартно!

Для реализации проекта понадобится обязательно скачать 2 специализированные библиотеки - Wire (для управления интерфейсом) и BH1750-master
https://github.com/claws/BH1750
Сохраняем файлы в папку libraries в самой среде разработки. Там же идем по пути: Скетч > Подключить библиотеку > Добавить .ZIP. Открываем архивы со скачанными ранее библиотеками. Готово!

Можно заливать простой программный скетч:
// подключаем библиотеку I2C:
#include <Wire.h>
// подключаем библиотеку датчика BH1750:
#include <BH1750.h> 

// объявляем объект lightMeter:
BH1750 lightMeter; 

void setup() {
  Serial.begin(9600); //инициализация послед. порта
  lightMeter.begin(); //инициализация датчика BH1750
}

void loop() {
  //считываем показания с BH1750:
  uint16_t lux = lightMeter.readLightLevel(); 
  //выводим показания в послед. порт:
  Serial.println(String(lux) + " lx");
  delay(100); //задержка 100 мсек
}
Для проверки работоспособности датчика открываем монитор последовательного порта (сочетание клавиш Ctrl+Shift+M) - в нем должны отобразиться нужные нам значения (освещенность в lx).

На этом пока прощаемся с вами! До новых встреч!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...

FM радио модуль стерео RDA5807M для Ардуино - отличное решение для создателей интересных проектов, в которых понадобится FM-радиоприемник. Модуль имеет ряд...

Модуль энкодер KY-040 является электромеханическим устройством, а точнее - датчиком угла поворота и вращения оси различных девайсов. Непосредственно сам прибор...

В новом информационном обзоре рассматриваем GSM модуль SIM800L к Arduino. Почему выбрано именно это устройство? Во-первых, оно достаточно известно и популярно...

Оставить комментарий