Найти тему
У Павла!

Подключение датчика BH1750 к Raspberry pi

Оглавление

Устройство BH1750 - это цифровой датчик освещенности, использующий интерфейс I2C. Это позволяет подключать его к Raspberry Pi всего четырьмя проводами.

Модуль позволяет быстро измерять уровень внешней освещенности, а уровень освещенности можно считывать с него в виде цифрового числа благодаря встроенному 16-битному аналого-цифровому преобразователю. Само устройство обычно используется в мобильных телефонах, ЖК-телевизорах и цифровых камерах.

Данный датчик легко купить на просторах интернета и выглядит он следующим образом:

По данному датчику есть очень подробный даташит.

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

-2

Так как данный датчик работает по шине обмена данными i2c, то на raspberry pi необходимо включить данную шину.

Включение шины I2C на raspberry pi

Для этого подключаемся к raspbery pi по ssh и вводим команды:

sudo raspi-config

Данная команда откроет меню конфигурации. В нем нужно выбрать 5 пункт под названием "Interfacing Options"

-3

Далее выбираем 5 пункт "I2C" и также его включаем выбрам "Enable"

-4

Все, после этого у нас включится i2C шина. Соглашаемся со всеми окнами и выходим из данного меню нажав кнопку "Finish"

Следующим шагом будет установка компонентов для того чтоб использовать интерфейс i2c в Python.

Установка компонентов i2c для Python

sudo apt-get update
sudo apt-get install -y python-smbus i2c-tools

Но скорее всего у Вас покажет что данные модули уже установлены:

-5

Теперь давайте убедимся работает ли на нашей малинке i2c. Для этого вводим команду:

lsmod | grep i2c_

Если выведется данное сообщение, то все работает верно:

i2c_bcm2835
i2c_bcm2835

После того как мы подключим какое либо i2c устройство ( в данном случае датчик освещенности bh1750) Нам необходимо будет узнать его адрес. Адрес устройства узнается путем сканирования шины I2c. Сканирование шины i2c вызывается следующей командой:

i2cdetect -y 1

Ну и вот что в ответ у нас получается:

-7

Видим, что у данного датчика адрес 23. Запоминаем его, теперь чтоб обратиться к нему, мы будем использовать данный адрес.

Теперь давайте создадим программу на языке python для того чтоб измерять освещение датчиком bh1750

nano bh1750.py

В открывшееся окно нужно вставить код программы, который можно скачать тут: https://yadi.sk/d/CDI4NzCBL3W8WA

Открыть файл с расширением .py можно с помощью блокнота.

После того как мы добавили все с файла. Сохраним данный файл комбинацией клавиш Ctrl+X, далее "Y" ( Таким образом мы сохраним все что добавили в файл)

Ну и теперь запустим программу командой:

python3 bh1750.py

И увидим как у нас побегут разные значения. Они будут увеличиваться если на датчик будет попадать больше света и уменьшаться если так-же на датчик будет падать меньше света. Пример :

-8

На этом пока все. Надеюсь Вам понравилось.