Този път ще свържем цифровия 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 / библиотеки".
Нека напишем тази скица и я качим в Arduino. В скицата на всеки 100 ms отчитаме показанията на осветеността в лукс от сензора BH1750 и извеждаме тези данни към серийния порт.
Стъпка 3
Нека свържем светлинния сензор BH1750 към Arduino, както е показано по-горе. Нека свържем дъската Arduino към компютъра. Стартирайте IDE на Arduino и отворете серийния монитор с клавишната комбинация "Ctrl + Shift + M" или чрез менюто "Инструменти". В монитора на серийния порт ще работят стойностите на осветеност от нашия сензор BH1750. Насочете сензора към източник на светлина, след това го блокирайте от светлината и ще видите как се променя показанието.