Ovaj put ćemo na Arduino spojiti digitalni 16-bitni svjetlosni senzor BH1750 (luksometar), implementiran na modulu GY-302.
Neophodno je
- - Arduino;
- - modul GY-302 sa digitalnim senzorom svjetlosti BH1750;
- - PC.
Instrukcije
Korak 1
Razmotrimo modul GY-302 sa senzorom BH1750. BH1750 senzor je digitalni 16-bitni digitalni senzor osvjetljenja koji postavlja svoj opseg mjerenja: od 1 do 65535 luksa. Senzor BH1750 osjetljiv je na vidljivu svjetlost i na njega gotovo ne utječe infracrveno zračenje, tj. reaguje na isti spektralni opseg kao i ljudsko oko. Kao rezultat, takvi senzori se široko koriste u modernoj elektroničkoj opremi - mobilnim uređajima, foto i video kamerama, pametnim kućnim sistemima i mnogim drugima.
Modul je povezan preko dvožičnog I2C sučelja, a napajanje se napaja od +5 volti. I2C sučelje na Arduino pločama implementirano je na analognim pinovima A4 i A5, koji su odgovorni za SDA (sabirnica podataka), odnosno SCL (sabirnica sata). ADDR pin GY-302 može ostati nepovezan ili povezan sa masom.
Korak 2
Nećemo se upuštati u zamršenost implementacije sučelja za interakciju senzora BH1750 s Arduinom, već ćemo koristiti gotovu biblioteku. Možete ga preuzeti ovdje: https://github.com/claws/BH1750/archive/master.zip. Raspakirajte preuzetu arhivu u direktorij s razvojnim okruženjem "Arduino IDE / knjižnice".
Napišimo ovu skicu i prenesite je na Arduino. U skici, svakih 100 ms očitamo očitavanja osvjetljenja u luksima sa senzora BH1750 i izlazimo te podatke u serijski port.
Korak 3
Spojimo BH1750 svjetlosni senzor na Arduino kako je gore prikazano. Spojimo Arduino ploču na računar. Pokrenite Arduino IDE i otvorite serijski monitor pomoću prečice na tastaturi "Ctrl + Shift + M" ili kroz meni "Alati". Na monitoru serijskog porta prikazivat će se vrijednosti osvjetljenja našeg BH1750 senzora. Usmjerite senzor prema izvoru svjetlosti, a zatim ga blokirajte i vidjet ćete kako se očitavanje mijenja.