Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:08
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:
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.. !
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:
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:
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:
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:
Izračun jakosti svetlobe z uporabo BH1715 in Arduino Nano: 5 korakov
Izračun svetlobne jakosti z uporabo BH1715 in Arduino Nano: 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 navedeno vlogo v biologiji
Izračun jakosti svetlobe z uporabo BH1715 in fotona iz delcev: 5 korakov
Izračun svetlobne jakosti z uporabo BH1715 in fotona delcev: 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 navedeno vlogo v biologiji
Mikrokrmilnik AVR. Modulacija širine impulza. Krmilnik enosmernega motorja in jakosti LED luči: 6 korakov
Mikrokrmilnik AVR. Modulacija širine impulza. Krmilnik enosmernega motorja in intenzivnosti LED luči: Pozdravljeni! Pulzno širinska modulacija (PWM) je zelo pogosta tehnika v telekomunikacijah in nadzoru moči. običajno se uporablja za krmiljenje napajanja električne naprave, pa naj gre za motor, LED, zvočnike itd. V bistvu je modul
Merilnik jakosti svetlobe brez programiranja .: 7 korakov (s slikami)
Merilnik intenzivnosti svetlobe brez programiranja. Ta priročnik govori o izdelavi osnovnega merilnika jakosti svetlobe brez uporabe Arduina ali katerega koli drugega mikro krmilnika ali programiranja. Merilnik jakosti svetlobe prikazuje različne stopnje jakosti svetlobe z različnimi barvami LED. Rdeča LED
Varčevanje z energijo svetlobne jakosti z uporabo fotocelic in termistorjev: 6 korakov
Varčevanje z energijo svetlobne jakosti z uporabo fotocelic in termistorjev: Ta navodila so zasnovana tako, da vas naučijo varčevati z energijo s spreminjanjem jakosti svetlobe s fotocelicami in termistorji. Pokazali vam bomo, kako sestaviti vezje in kodirati Arduino z uporabo MATLAB -a