Tentokrát k Arduinu pripojíme digitálny 16-bitový svetelný senzor BH1750 (luxometer), implementovaný na module GY-302.
Je to nevyhnutné
- - Arduino;
- - modul GY-302 s digitálnym svetelným senzorom BH1750;
- - Osobný počítač.
Inštrukcie
Krok 1
Zvážte modul GY-302 so snímačom BH1750. Senzor BH1750 je digitálny 16-bitový digitálny senzor osvetlenia, ktorý nastavuje svoj rozsah merania: od 1 do 65535 luxov. Senzor BH1750 je citlivý na viditeľné svetlo a infračervené žiarenie ho prakticky neovplyvňuje, t.j. reaguje na rovnaký spektrálny rozsah ako ľudské oko. Vďaka tomu sa tieto snímače často používajú v moderných elektronických zariadeniach - mobilných zariadeniach, fotografických a videokamerách, inteligentných domácich systémoch a mnohých ďalších.
Modul je pripojený cez dvojvodičové rozhranie I2C a napájanie je z +5 voltov. Rozhranie I2C v doskách Arduino je implementované na analógových pinoch A4 a A5, ktoré zodpovedajú za SDA (dátová zbernica) a SCL (hodinová zbernica). Pin ADDR na GY-302 môžete nechať odpojený alebo pripojený k zemi.
Krok 2
Nebudeme sa zaoberať zložitosťami implementácie rozhrania pre interakciu snímača BH1750 s Arduinom, ale použijeme hotovú knižnicu. Môžete si ho stiahnuť tu: https://github.com/claws/BH1750/archive/master.zip. Stiahnutý archív rozbaľte do adresára pomocou vývojového prostredia „Arduino IDE / libraries“.
Poďme napísať tento náčrt a nahrať ho do Arduina. V náčrte každých 100 ms načítame namerané hodnoty osvetlenia zo senzora BH1750 v luxoch a tieto údaje odošleme na sériový port.
Krok 3
Pripojme svetelný senzor BH1750 k Arduinu, ako je to znázornené vyššie. Pripojme dosku Arduino k počítaču. Spustite IDE Arduino a sériový monitor otvorte pomocou klávesovej skratky „Ctrl + Shift + M“alebo prostredníctvom ponuky „Nástroje“. Na monitore sériového portu budú bežať hodnoty osvetlenia nášho snímača BH1750. Nasmerujte senzor na svetelný zdroj, potom ho zablokujte pred svetlom a uvidíte, ako sa mení údaj.