Tym razem do Arduino podłączymy cyfrowy 16-bitowy czujnik światła BH1750 (luxometer), zaimplementowany na module GY-302.
Czy to jest to konieczne
- - Arduino;
- - moduł GY-302 z cyfrowym czujnikiem światła BH1750;
- - Komputer osobisty.
Instrukcje
Krok 1
Rozważ moduł GY-302 z czujnikiem BH1750. Czujnik BH1750 to cyfrowy 16-bitowy cyfrowy czujnik oświetlenia, który ustala swój zakres pomiarowy: od 1 do 65535 luksów. Czujnik BH1750 jest czuły na światło widzialne i praktycznie nie ma na niego wpływu promieniowanie podczerwone, tj. reaguje na ten sam zakres widmowy, co ludzkie oko. Dzięki temu takie czujniki znajdują szerokie zastosowanie w nowoczesnym sprzęcie elektronicznym – urządzeniach mobilnych, kamerach foto i wideo, systemach inteligentnego domu i wielu innych.
Moduł jest podłączony poprzez dwuprzewodowy interfejs I2C, a zasilanie dostarczane jest z +5 woltów. Interfejs I2C w płytach Arduino zaimplementowany jest na pinach analogowych A4 i A5, które odpowiadają odpowiednio za SDA (szyna danych) i SCL (szyna zegarowa). Pin ADDR GY-302 można pozostawić niepodłączony lub podłączony do masy.
Krok 2
Nie będziemy zagłębiać się w zawiłości implementacji interfejsu do współpracy czujnika BH1750 z Arduino, ale skorzystamy z gotowej biblioteki. Możesz go pobrać tutaj: https://github.com/claws/BH1750/archive/master.zip. Pobrane archiwum rozpakuj do katalogu ze środowiskiem programistycznym „Arduino IDE/biblioteki”.
Napiszmy ten szkic i wgrajmy go do Arduino. Na szkicu co 100 ms odczytujemy odczyty oświetlenia w luksach z czujnika BH1750 i wyprowadzamy te dane na port szeregowy.
Krok 3
Podłączmy czujnik światła BH1750 do Arduino, jak pokazano powyżej. Podłączmy płytkę Arduino do komputera. Uruchom Arduino IDE i otwórz monitor szeregowy za pomocą skrótu klawiaturowego „Ctrl + Shift + M” lub menu „Narzędzia”. Na monitorze portu szeregowego uruchomią się wartości oświetlenia z naszego czujnika BH1750. Skieruj czujnik w stronę źródła światła, a następnie zablokuj go przed światłem, a zobaczysz, jak zmienia się odczyt.