Sisukord:

Valguse intensiivsuse mõõtmine BH1715 ja Raspberry Pi abil: 5 sammu
Valguse intensiivsuse mõõtmine BH1715 ja Raspberry Pi abil: 5 sammu

Video: Valguse intensiivsuse mõõtmine BH1715 ja Raspberry Pi abil: 5 sammu

Video: Valguse intensiivsuse mõõtmine BH1715 ja Raspberry Pi abil: 5 sammu
Video: Valgusanduri kasutamine valguse intensiivsuse režiimis. Sõida musta jooneni. 2024, November
Anonim
Image
Image

Eile töötasime LCD -ekraanide kallal ja nende üle töötades mõistsime valguse intensiivsuse arvutamise tähtsust. Valguse intensiivsus pole oluline mitte ainult selle maailma füüsilises valdkonnas, vaid sellel on ka bioloogilises valdkonnas hästi öeldud roll. Valguse intensiivsuse täpne hindamine mängib keskset rolli meie ökosüsteemis, taimede kasvus jne. Seetõttu uurisime selle eesmärgi saavutamiseks seda andurit BH1715, mis on 16-bitine jadaväljundiga ümbritseva valguse andur.

Selles õpetuses demonstreerime BH1715 tööd Raspberry pi -ga, kasutades programmeerimiskeelena Java.

Riistvara, mida selleks vajate, on järgmine:

1. BH1715 - ümbritseva valguse andur

2. Vaarika Pi

3. I2C kaabel

4. Vaarika Pi jaoks mõeldud I2C kilp

5. Etherneti kaabel

1. samm: BH1715 ülevaade:

Mida sa vajad..!!
Mida sa vajad..!!

Kõigepealt soovime tutvustada teile andurimooduli BH1715 põhiomadusi ja sideprotokolli, millel see töötab.

BH1715 on digitaalne ümbritseva valguse andur, millel on I²C siiniliides. BH1715 kasutatakse tavaliselt ümbritseva valguse andmete saamiseks, et reguleerida mobiilseadmete LCD -ekraani ja klaviatuuri taustvalgustust. See seade pakub 16-bitist eraldusvõimet ja reguleeritavat mõõtepiirkonda, mis võimaldab tuvastada 0,23 kuni 100 000 luksi.

Sideprotokoll, millel andur töötab, on I2C. I2C tähistab integraallülitust. See on suhtlusprotokoll, milles side toimub SDA (jadaandmed) ja SCL (jadakell) liinide kaudu. See võimaldab ühendada mitu seadet korraga. See on üks lihtsamaid ja tõhusamaid suhtlusprotokolle.

Samm: mida vajate..

Mida sa vajad..!!
Mida sa vajad..!!
Mida sa vajad..!!
Mida sa vajad..!!
Mida sa vajad..!!
Mida sa vajad..!!

Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:

1. BH1715 - ümbritseva valguse andur

2. Vaarika Pi

3. I2C kaabel

4. I2C kilp Raspberry Pi jaoks

5. Etherneti kaabel

3. samm: riistvara ühendamine:

Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine

Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja vaarika pi vahel vajalikke juhtmestiku ühendusi. Soovitud väljundi mis tahes süsteemiga töötamisel on põhivajadus õigete ühenduste tagamine. Seega on vajalikud ühendused järgmised:

BH1715 töötab üle I2C. Siin on näide ühendusskeemist, mis näitab, kuidas anduri iga liidest ühendada.

Valmis plaat on konfigureeritud I2C liidese jaoks, seega soovitame seda ühendamist kasutada, kui olete muidu agnostik. Kõik, mida vajate, on neli juhtmest!

Vaja on ainult nelja ühendust Vcc, Gnd, SCL ja SDA ning need ühendatakse I2C kaabli abil.

Neid seoseid on näidatud ülaltoodud piltidel.

4. samm: valguse intensiivsuse mõõtmine Java -koodi abil:

Valgustugevuse mõõtmine Java -koodi abil
Valgustugevuse mõõtmine Java -koodi abil
Valgustugevuse mõõtmine Java -koodi abil
Valgustugevuse mõõtmine Java -koodi abil

Vaarika pi kasutamise eeliseks on see, et saate paindlikult programmeerida keelt, milles soovite plaati programmeerida, et andurit sellega liidestada. Kasutades selle plaadi eeliseid, demonstreerime siin, et see on Java -programmeerimine. BH1715 Java -koodi saab alla laadida meie GitHubi kogukonnast, mis on Dcube Store.

Lisaks kasutajate mugavusele selgitame koodi ka siin:

Kodeerimise esimese sammuna peate java korral alla laadima raamatukogu pi4j, kuna see raamatukogu toetab koodis kasutatavaid funktsioone. Niisiis, teegi allalaadimiseks võite külastada järgmist linki:

pi4j.com/install.html

Siit saate kopeerida ka selle anduri töötava java koodi:

// Levitatakse vaba tahte litsentsiga.

// Kasutage seda soovitud viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.

// BH1715

// See kood on loodud töötama BH1715_I2CS I2C minimooduliga, mis on saadaval saidil ControlEverything.com.

//

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

importige java.io. IOException;

avalik klass BH1715

{

public static void main (String args ) viskab Erand

{

// Loo I2C siin

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

// Hangi I2C seade, BH1715 I2C aadress on 0x23 (35)

I2CDseadme seade = buss.getDevice (0x23);

// Käsk sisselülitamine

device.write ((bait) 0x01);

// Pideva mõõtmise käsu saatmine

device.write ((bait) 0x10);

Niit.unenägu (500);

// Lugege 2 baiti andmeid

// heledus msb, heledus lsb

bait andmed = uus bait [2];

device.read (andmed, 0, 2);

// Teisenda andmed

kahekordne heledus = ((andmed [0] & 0xFF) * 256 + (andmed [1] ja 0xFF)) / 1,20;

// Andmete väljastamine ekraanile

System.out.printf ("Ümbritseva valguse heledus: %.2f lux %n", heledus);

}

}

Teek, mis hõlbustab i2c suhtlust anduri ja plaadi vahel, on pi4j, selle erinevad paketid I2CBus, I2CDevice ja I2CFactory aitavad ühendust luua.

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; importige java.io. IOException;

See koodi osa paneb anduri tööle valguse intensiivsuse mõõtmiseks, kirjutades vastavad käsud, kasutades funktsiooni write () ja seejärel loetakse andmed funktsiooni read () abil.

device.write ((bait) 0x01); // sisselülitamise käsk

device.write ((bait) 0x10); // pideva mõõtmise käsk

bait andmed = uus bait [2]; // Lugege 2 baiti andmeid

device.read (andmed, 0, 2);

Andurilt saadud andmed teisendatakse sobivasse vormingusse, kasutades järgmist.

kahekordne heledus = ((andmed [0] & 0xFF) * 256 + (andmed [1] ja 0xFF)) / 1,20;

Väljund prinditakse funktsiooni System.out.println () abil järgmises vormingus.

System.out.printf ("Ümbritseva valguse heledus: %.2f lux %n", heledus);

Anduri väljund on näidatud ülaltoodud pildil.

Samm: rakendused:

Rakendused
Rakendused

BH1715 on digitaalse väljundi ümbritseva valguse andur, mida saab kasutada mobiiltelefonis, LCD -teleris, MÄRKUSarvutis jne. Seda saab kasutada ka kaasaskantavas mängumasinas, digikaameras, digitaalses videokaameras, pihuarvutis, LCD -ekraanis ja paljudes muudes seadmetes, mis vajavad tõhusad valgustundlikud rakendused.

Soovitan: