На цей раз підключимо цифровий 16-бітний датчик освітленості BH1750 (люксометр), реалізований на модулі GY-302, до Arduino.
Вам знадобиться
- – 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. Направте датчик на джерело світла, потім закрийте його від світу, і ви побачите, як змінюються показання.