Устройство BH1750 - это цифровой датчик освещенности, использующий интерфейс I2C. Это позволяет подключать его к Raspberry Pi всего четырьмя проводами.
Модуль позволяет быстро измерять уровень внешней освещенности, а уровень освещенности можно считывать с него в виде цифрового числа благодаря встроенному 16-битному аналого-цифровому преобразователю. Само устройство обычно используется в мобильных телефонах, ЖК-телевизорах и цифровых камерах.
Данный датчик легко купить на просторах интернета и выглядит он следующим образом:
По данному датчику есть очень подробный даташит.
Ну чтож, давайте подключим датчик к Raspberry pi. Схема подключения будет выглядеть следующим образом:
Так как данный датчик работает по шине обмена данными i2c, то на raspberry pi необходимо включить данную шину.
Включение шины I2C на raspberry pi
Для этого подключаемся к raspbery pi по ssh и вводим команды:
sudo raspi-config
Данная команда откроет меню конфигурации. В нем нужно выбрать 5 пункт под названием "Interfacing Options"
Далее выбираем 5 пункт "I2C" и также его включаем выбрам "Enable"
Все, после этого у нас включится i2C шина. Соглашаемся со всеми окнами и выходим из данного меню нажав кнопку "Finish"
Следующим шагом будет установка компонентов для того чтоб использовать интерфейс i2c в Python.
Установка компонентов i2c для Python
sudo apt-get update
sudo apt-get install -y python-smbus i2c-tools
Но скорее всего у Вас покажет что данные модули уже установлены:
Теперь давайте убедимся работает ли на нашей малинке i2c. Для этого вводим команду:
lsmod | grep i2c_
Если выведется данное сообщение, то все работает верно:
После того как мы подключим какое либо i2c устройство ( в данном случае датчик освещенности bh1750) Нам необходимо будет узнать его адрес. Адрес устройства узнается путем сканирования шины I2c. Сканирование шины i2c вызывается следующей командой:
i2cdetect -y 1
Ну и вот что в ответ у нас получается:
Видим, что у данного датчика адрес 23. Запоминаем его, теперь чтоб обратиться к нему, мы будем использовать данный адрес.
Теперь давайте создадим программу на языке python для того чтоб измерять освещение датчиком bh1750
nano bh1750.py
В открывшееся окно нужно вставить код программы, который можно скачать тут: https://yadi.sk/d/CDI4NzCBL3W8WA
Открыть файл с расширением .py можно с помощью блокнота.
После того как мы добавили все с файла. Сохраним данный файл комбинацией клавиш Ctrl+X, далее "Y" ( Таким образом мы сохраним все что добавили в файл)
Ну и теперь запустим программу командой:
python3 bh1750.py
И увидим как у нас побегут разные значения. Они будут увеличиваться если на датчик будет попадать больше света и уменьшаться если так-же на датчик будет падать меньше света. Пример :
На этом пока все. Надеюсь Вам понравилось.