Вам понадобится
  • - Arduino;
  • - модуль GY-302 с цифровым датчиком освещённости BH1750;
  • - персональный компьютер.
Инструкция
1
Рассмотрим модуль GY-302 с сенсором BH1750. Сенсор BH1750 представляет собой цифровой 16-битный цифровой датчик освещённости, что задаёт диапазон его измерений: от 1 до 65535 люкс. Датчик BH1750 чувствителен к видимому свету и практически не подвержен влиянию инфракрасного излучения, т.е. реагирует на тот же спектральный диапазон, что и человеческий глаз. Вследствие этого такие сенсоры получили широкое распространение в современной электронной аппаратуре - мобильных устройствах, фото- и видеокамерах, в системах "умный дом" и многих других.
Подключение модуля производится по двухпроводному интерфейсу I2C, а питание осуществляется от +5 вольт. Интерфейс I2C в платах Arduino реализован на аналоговых пинах A4 и A5, которые отвечают за SDA (шина данных) и SCL (шина тактирования), соответственно. Вывод ADDR модуля GY-302 можно оставить не подключённым или соединить с землёй.
2
Не будем углубляться в тонкости реализации интерфейса взаимодействия датчика BH1750 с Arduino, а воспользуемся готовой библиотекой. Скачать её можно тут: https://github.com/claws/BH1750/archive/master.zip. Скачанный архив распакуем в директорию со средой разработки "Arduino IDE/libraries".
Напишем вот такой скетч и загрузим его в Arduino. В скетче мы каждые 100 мсек считываем с датчика BH1750 показания освещённости в люксах и выводим эти данные в последовательный порт.
3
Подключим датчик освещённости BH1750 к Arduino по приведённой выше схеме. Подключим плату Ардуино к компьютеру. Запустим среду разработки Arduino IDE и откроем монитор последовательного порта сочетанием клавиш "Ctrl+Shift+M" или через меню "Инструменты". В мониторе последовательного порта побегут значения освещённости с нашего сенсора BH1750. Направьте датчик на источник света, потом закройте его от света, и вы увидите, как меняются показания.