Kazalo:

Izračun jakosti svetlobe z uporabo BH1715 in Arduino Nano: 5 korakov
Izračun jakosti svetlobe z uporabo BH1715 in Arduino Nano: 5 korakov

Video: Izračun jakosti svetlobe z uporabo BH1715 in Arduino Nano: 5 korakov

Video: Izračun jakosti svetlobe z uporabo BH1715 in Arduino Nano: 5 korakov
Video: Ави Леб: Сознание, UAP, Жак Валле 2024, Julij
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 Arduinom Nano.

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

1. BH1715 - Senzor svetlobe okolice

2. Arduino nano

3. Kabel I2C

4. I2C ščit za Arduino Nano

1. korak: Pregled BH1715:

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

Najprej vas želimo seznaniti 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. Arduino Nano

3. Kabel I2C

4. I2C ščit za Arduino nano

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: Arduino koda za merjenje jakosti svetlobe:

Arduino koda za merjenje jakosti svetlobe
Arduino koda za merjenje jakosti svetlobe
Arduino koda za merjenje jakosti svetlobe
Arduino koda za merjenje jakosti svetlobe

Začnimo zdaj s kodo Arduino.

Med uporabo senzorskega modula z Arduinom vključujemo knjižnico Wire.h. Knjižnica "Wire" vsebuje funkcije, ki olajšajo komunikacijo i2c med senzorjem in ploščo Arduino.

Celotna koda Arduino je podana spodaj za udobje uporabnika:

#vključi

// Naslov I2C BH1715 je 0x23 (35) #define Addr 0x23 void setup () {// Inicializirajte komunikacijo I2C kot MASTER Wire.begin (); // Začetek serijske komunikacije, nastavljena hitrost prenosa = 9600 Serial.begin (9600); // Zaženite prenos I2C Wire.beginTransmission (Addr); // Pošlji ukaz za vklop Wire.write (0x01); // Ustavi I2C prenosno žico.endTransmission (); // Zaženite prenos I2C Wire.beginTransmission (Addr); // Pošlji ukaz za neprekinjeno merjenje Wire.write (0x10); // Ustavi I2C prenosno žico.endTransmission (); zamuda (300); } void loop () {unsigned int data [2]; // Zahtevaj 2 bajt podatkov Wire.requestFrom (Addr, 2); // Preberite 2 bajta podatkov // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); podatki [1] = Wire.read (); } zamuda (300); // pretvorimo podatkovno svetilnost = ((podatki [0] * 256) + podatki [1]) /1,20; // Izhodni podatki na serijski monitor Serial.print ("Svetlost ambientalne svetlobe:"); Serial.print (svetilnost); Serial.println ("lux"); }

Naslednji del kode sproži komunikacijo i2c in serijsko komunikacijo s pomočjo funkcij Wire.begin () in Serial.begin ().

// Inicializirajte komunikacijo I2C kot MASTER

Wire.begin (); // Začetek serijske komunikacije, nastavljena hitrost prenosa = 9600 Serial.begin (9600); // Zaženite prenos I2C Wire.beginTransmission (Addr); // Pošlji ukaz za vklop Wire.write (0x01); // Ustavi I2C prenosno žico.endTransmission (); // Zaženite prenos I2C Wire.beginTransmission (Addr); // Pošlji ukaz za neprekinjeno merjenje Wire.write (0x10); // Ustavi I2C prenosno žico.endTransmission (); zamuda (300);

Intenzivnost svetlobe se meri v naslednjem razdelku kode.

podpisani int podatki [2];

// Zahtevaj 2 bajt podatkov Wire.requestFrom (Addr, 2); // Preberite 2 bajta podatkov // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); podatki [1] = Wire.read (); } zamuda (300); // pretvorimo podatkovno svetilnost = ((podatki [0] * 256) + podatki [1]) /1,20; // Izhodni podatki na serijski monitor Serial.print ("Svetlost ambientalne svetlobe:"); Serial.print (svetilnost); Serial.println ("lux");

Vse kar morate storiti je, da kodo zapišete v arduino in preverite odčitke na serijskih vratih. Izhod je prikazan tudi na zgornji sliki za vašo referenco.

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: