Merjenje svetlobne jakosti z uporabo BH1715 in Raspberry Pi: 5 korakov
Merjenje svetlobne jakosti z uporabo BH1715 in Raspberry Pi: 5 korakov
Anonim
Image
Image

Včeraj smo delali na LCD zaslonih in med delom na njih smo spoznali pomen izračuna intenzivnosti svetlobe. Intenzivnost svetlobe ni pomembna le v fizični domeni tega sveta, ampak ima svojo dobro omenjeno vlogo tudi v biološki domeni. Natančna ocena jakosti svetlobe ima ključno vlogo v našem ekosistemu, pri rasti rastlin itd. Zato smo v ta namen preučili ta senzor BH1715, ki je 16-bitni senzor zunanje svetlobe serijskega izhoda.

V tej vadnici bomo prikazali delovanje BH1715 z Raspberry pi z uporabo Jave kot programskega jezika.

Strojna oprema, ki jo boste potrebovali v ta namen, je naslednja:

1. BH1715 - Senzor svetlobe okolice

2. Malina Pi

3. Kabel I2C

4. I2C ščit za Raspberry Pi

5. Ethernetni kabel

1. korak: Pregled BH1715:

Kaj rabiš..!!
Kaj rabiš..!!

Najprej bi vas radi seznanili z osnovnimi funkcijami senzorskega modula, ki je BH1715, in komunikacijskim protokolom, na katerem deluje.

BH1715 je digitalni senzor zunanje svetlobe z vmesnikom vodila I²C. BH1715 se običajno uporablja za pridobivanje podatkov o svetlobi v okolici za prilagajanje moči osvetlitve LCD in tipkovnice za mobilne naprave. Ta naprava ponuja 16-bitno ločljivost in nastavljivo območje merjenja, ki omogoča zaznavanje od 0,23 do 100 000 luksov.

Komunikacijski protokol, na katerem deluje senzor, je I2C. I2C pomeni vmesno vezje. To je komunikacijski protokol, v katerem komunikacija poteka prek linij SDA (serijski podatki) in SCL (serijska ura). Omogoča povezovanje več naprav hkrati. Je eden najpreprostejših in najučinkovitejših komunikacijskih protokolov.

Korak: Kaj potrebujete.. !

Kaj rabiš..!!
Kaj rabiš..!!
Kaj rabiš..!!
Kaj rabiš..!!
Kaj rabiš..!!
Kaj rabiš..!!

Materiali, ki jih potrebujemo za dosego našega cilja, vključujejo naslednje komponente strojne opreme:

1. BH1715 - Senzor svetlobe okolice

2. Malina Pi

3. Kabel I2C

4. I2C ščit za Raspberry Pi

5. Ethernetni kabel

3. korak: Priključitev strojne opreme:

Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme

Oddelek za priključitev strojne opreme v bistvu razlaga potrebne povezave ožičenja med senzorjem in malinovim pi. Zagotavljanje pravilnih povezav je osnovna potreba pri delu na katerem koli sistemu za želeni izhod. Torej so potrebne povezave naslednje:

BH1715 bo deloval preko I2C. Tu je primer sheme ožičenja, ki prikazuje, kako povezati vsak vmesnik senzorja.

Plošča je že pripravljena za vmesnik I2C, zato priporočamo uporabo te povezave, če niste agnostični. Vse kar potrebujete so štiri žice!

Potrebne so le štiri povezave Vcc, Gnd, SCL in SDA, ki so povezane s kablom I2C.

Te povezave so prikazane na zgornjih slikah.

4. korak: Merjenje jakosti svetlobe s kodo Java:

Merjenje jakosti svetlobe s kodo Java
Merjenje jakosti svetlobe s kodo Java
Merjenje jakosti svetlobe s kodo Java
Merjenje jakosti svetlobe s kodo Java

Prednost uporabe maline pi je, da vam omogoča prilagodljivost programskega jezika, v katerem želite programirati ploščo, da povežete senzor z njo. Če izkoristimo to prednost te plošče, tukaj dokazujemo njeno programiranje v Javi. Kodo Java za BH1715 lahko prenesete iz naše skupnosti GitHub, to je Dcube Store.

Poleg lažjega uporabnika kodo razlagamo tudi tukaj:

Kot prvi korak kodiranja morate v primeru jave prenesti knjižnico pi4j, ker ta knjižnica podpira funkcije, ki se uporabljajo v kodi. Če želite prenesti knjižnico, obiščite naslednjo povezavo:

pi4j.com/install.html

Delovno kodo java za ta senzor lahko kopirate tudi tukaj:

// Razdeljeno z licenco za svobodno voljo.

// Uporabljajte ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam povezanih del.

// BH1715

// Ta koda je zasnovana za delo z mini modulom BH1715_I2CS I2C, ki je na voljo na spletnem mestu ControlEverything.com.

//

uvoz com.pi4j.io.i2c. I2CBus;

uvoz com.pi4j.io.i2c. I2CDevice;

uvoz com.pi4j.io.i2c. I2CFactory;

uvoz java.io. IOException;

javni razred BH1715

{

public static void main (String args ) vrže Exception

{

// Ustvari vodilo I2C

Vodilo I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Pridobite napravo I2C, naslov BH1715 I2C je 0x23 (35)

Naprava I2CDevice = bus.getDevice (0x23);

// Pošlji ukaz za vklop

device.write ((bajt) 0x01);

// Pošlji ukaz za neprekinjeno merjenje

device.write ((bajt) 0x10);

Thread.sleep (500);

// Preberite 2 bajta podatkov

// svetilnost msb, svetilnost lsb

bajt podatki = novi bajt [2];

device.read (podatki, 0, 2);

// Pretvarjanje podatkov

dvojna svetilnost = ((podatki [0] & 0xFF) * 256 + (podatki [1] & 0xFF)) / 1,20;

// Izhod podatkov na zaslon

System.out.printf ("Svetilnost ambientalne svetlobe: %.2f lux %n", svetilnost);

}

}

Knjižnica, ki olajša komunikacijo i2c med senzorjem in ploščo, je pi4j, njeni različni paketi I2CBus, I2CDevice in I2CFactory pa pomagajo vzpostaviti povezavo.

uvoz com.pi4j.io.i2c. I2CBus; uvoz com.pi4j.io.i2c. I2CDevice; uvoz com.pi4j.io.i2c. I2CFactory; uvoz java.io. IOException;

Ta del kode omogoča, da senzor deluje za merjenje jakosti svetlobe tako, da napiše ustrezne ukaze s funkcijo write (), nato pa se podatki odčitajo s funkcijo read ().

device.write ((bajt) 0x01); // ukaz za vklop

device.write ((bajt) 0x10); // ukaz za neprekinjeno merjenje

bajt podatki = novi bajt [2]; // Preberite 2 bajta podatkov

device.read (podatki, 0, 2);

Podatki, prejeti s senzorja, se pretvorijo v ustrezno obliko z uporabo naslednjega:

dvojna svetilnost = ((podatki [0] & 0xFF) * 256 + (podatki [1] & 0xFF)) / 1,20;

Izhod je natisnjen s funkcijo System.out.println () v naslednji obliki.

System.out.printf ("Svetilnost ambientalne svetlobe: %.2f lux %n", svetilnost);

Izhod senzorja je prikazan na zgornji sliki.

5. korak: Aplikacije:

Aplikacije
Aplikacije

BH1715 je digitalni izhodni senzor zunanje svetlobe, ki ga je mogoče vgraditi v mobilni telefon, LCD televizor, računalnik z opombami itd. Uporablja se lahko tudi v prenosnem igralnem stroju, digitalnem fotoaparatu, digitalni video kameri, dlančniku, LCD zaslonu in mnogih drugih napravah, ki zahtevajo učinkovite aplikacije zaznavanja svetlobe.

Priporočena: