Satura rādītājs:

Gaismas intensitātes mērīšana, izmantojot BH1715 un Raspberry Pi: 5 soļi
Gaismas intensitātes mērīšana, izmantojot BH1715 un Raspberry Pi: 5 soļi

Video: Gaismas intensitātes mērīšana, izmantojot BH1715 un Raspberry Pi: 5 soļi

Video: Gaismas intensitātes mērīšana, izmantojot BH1715 un Raspberry Pi: 5 soļi
Video: 2021. Optiskie rezonatori un čukstošās galerijas - kas tas ir? 2024, Novembris
Anonim
Image
Image

Vakar mēs strādājām pie LCD displejiem, un, strādājot pie tiem, mēs sapratām gaismas intensitātes aprēķina nozīmi. Gaismas intensitāte ir svarīga ne tikai šīs pasaules fiziskajā jomā, bet tai ir labi teikta loma arī bioloģiskajā jomā. Precīzam gaismas intensitātes novērtējumam ir izšķiroša nozīme mūsu ekosistēmā, augu augšanā utt. Tāpēc, lai kalpotu šim mērķim, mēs pētījām šo sensoru BH1715, kas ir 16 bitu sērijas izejas tipa apkārtējās gaismas sensors.

Šajā apmācībā mēs demonstrēsim BH1715 darbību ar Raspberry pi, izmantojot programmēšanas valodu Java.

Aparatūra, kas jums būs nepieciešama šim nolūkam, ir šāda:

1. BH1715 - apkārtējās gaismas sensors

2. Aveņu Pi

3. I2C kabelis

4. I2C vairogs Raspberry Pi

5. Ethernet kabelis

1. darbība: BH1715 pārskats:

Ko tev vajag..!!
Ko tev vajag..!!

Pirmkārt, mēs vēlētos jūs iepazīstināt ar sensora moduļa BH1715 pamatfunkcijām un sakaru protokolu, kurā tas darbojas.

BH1715 ir digitālais apkārtējās gaismas sensors ar I²C kopnes interfeisu. BH1715 parasti izmanto, lai iegūtu apkārtējās gaismas datus, lai pielāgotu LCD un tastatūras apgaismojuma jaudu mobilajām ierīcēm. Šī ierīce piedāvā 16 bitu izšķirtspēju un regulējamu mērījumu diapazonu, kas ļauj noteikt no 0,23 līdz 100 000 luksiem.

Sakaru protokols, kurā darbojas sensors, ir I2C. I2C apzīmē integrēto shēmu. Tas ir sakaru protokols, kurā saziņa notiek, izmantojot SDA (sērijas dati) un SCL (sērijas pulksteņa) līnijas. Tas ļauj vienlaikus savienot vairākas ierīces. Tas ir viens no vienkāršākajiem un efektīvākajiem sakaru protokoliem.

2. solis: kas jums nepieciešams..

Ko tev vajag..!!
Ko tev vajag..!!
Ko tev vajag..!!
Ko tev vajag..!!
Ko tev vajag..!!
Ko tev vajag..!!

Materiāli, kas nepieciešami mūsu mērķa sasniegšanai, ietver šādas aparatūras sastāvdaļas:

1. BH1715 - apkārtējās gaismas sensors

2. Aveņu Pi

3. I2C kabelis

4. I2C vairogs Raspberry Pi

5. Ethernet kabelis

3. darbība. Aparatūras savienošana:

Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums

Aparatūras savienošanas sadaļa pamatā izskaidro nepieciešamos vadu savienojumus starp sensoru un aveņu pi. Pareizu savienojumu nodrošināšana ir pamatvajadzība, strādājot pie jebkuras sistēmas vēlamajam rezultātam. Tātad nepieciešamie savienojumi ir šādi:

BH1715 darbosies virs I2C. Šeit ir elektroinstalācijas shēmas piemērs, kas parāda, kā savienot katru sensora saskarni.

Izņemot komplektu, tāfele ir konfigurēta I2C saskarnei, tāpēc mēs iesakām izmantot šo savienojumu, ja esat citādi agnostiķis. Viss, kas Jums nepieciešams, ir četri vadi!

Nepieciešami tikai četri savienojumi Vcc, Gnd, SCL un SDA, un tie ir savienoti, izmantojot I2C kabeli.

Šie savienojumi ir parādīti iepriekš redzamajos attēlos.

4. solis: gaismas intensitātes mērīšana, izmantojot Java kodu:

Gaismas intensitātes mērīšana, izmantojot Java kodu
Gaismas intensitātes mērīšana, izmantojot Java kodu
Gaismas intensitātes mērīšana, izmantojot Java kodu
Gaismas intensitātes mērīšana, izmantojot Java kodu

Aveņu pi izmantošanas priekšrocība ir tā, ka nodrošina elastību programmēšanas valodā, kurā vēlaties programmēt tāfeli, lai ar to savienotu sensoru. Izmantojot šīs plates priekšrocības, mēs šeit demonstrējam, ka tā ir programmēšana Java. Java kodu BH1715 var lejupielādēt no mūsu GitHub kopienas, kas ir Dcube Store.

Kā arī lietotāju ērtībai mēs šeit izskaidrojam kodu:

Kā pirmais kodēšanas solis java gadījumā ir jālejupielādē pi4j bibliotēka, jo šī bibliotēka atbalsta kodā izmantotās funkcijas. Tātad, lai lejupielādētu bibliotēku, varat apmeklēt šo saiti:

pi4j.com/install.html

Šeit varat arī nokopēt šī sensora darba Java kodu:

// Izplatīts ar brīvās gribas licenci.

// Izmantojiet to jebkurā veidā, bez peļņas vai bez maksas, ja tas iekļaujas saistīto darbu licencēs.

// BH1715

// Šis kods ir paredzēts darbam ar BH1715_I2CS I2C mini moduli, kas pieejams vietnē ControlEverything.com.

//

importēt com.pi4j.io.i2c. I2CBus;

importēt com.pi4j.io.i2c. I2CDevice;

importēt com.pi4j.io.i2c. I2CFactory;

importēt java.io. IOException;

publiskā klase BH1715

{

public static void main (String args ) metieni Izņēmums

{

// Izveidot I2C kopni

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

// Iegūt I2C ierīci, BH1715 I2C adrese ir 0x23 (35)

I2CDierīces ierīce = autobuss.getDevice (0x23);

// Sūtīt ieslēgšanas komandu

device.write ((baits) 0x01);

// Sūtīt nepārtrauktas mērīšanas komandu

device.write ((baits) 0x10);

Vītne.miega (500);

// Lasīt 2 baitus datu

// spilgtums msb, spilgtums lsb

baits dati = jauns baits [2];

device.read (dati, 0, 2);

// Konvertēt datus

dubultā spilgtums = ((dati [0] & 0xFF) * 256 + (dati [1] & 0xFF)) / 1,20;

// Izvadiet datus ekrānā

System.out.printf ("Apkārtējās gaismas spilgtums: %.2f lux %n", spilgtums);

}

}

Bibliotēka, kas atvieglo i2c saziņu starp sensoru un plati, ir pi4j, un tās dažādās paketes I2CBus, I2CDevice un I2CFactory palīdz izveidot savienojumu.

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

Šī koda daļa liek sensoram darboties gaismas intensitātes mērīšanai, ierakstot attiecīgās komandas, izmantojot funkciju write (), un pēc tam dati tiek nolasīti, izmantojot funkciju read ().

device.write ((baits) 0x01); // ieslēgt komandu

device.write ((baits) 0x10); // nepārtrauktas mērīšanas komanda

baits dati = jauns baits [2]; // Lasīt 2 baitus datu

device.read (dati, 0, 2);

No sensora saņemtie dati tiek pārveidoti atbilstošā formātā, izmantojot tālāk norādīto.

dubultā spilgtums = ((dati [0] & 0xFF) * 256 + (dati [1] & 0xFF)) / 1,20;

Izvade tiek izdrukāta, izmantojot funkciju System.out.println () šādā formātā.

System.out.printf ("Apkārtējās gaismas spilgtums: %.2f lux %n", spilgtums);

Sensora izeja ir parādīta attēlā iepriekš.

5. darbība. Lietojumprogrammas:

Lietojumprogrammas
Lietojumprogrammas

BH1715 ir digitālās izejas apkārtējās gaismas sensors, ko var ievietot mobilajā tālrunī, LCD televizorā, PIEZĪMES datorā uc efektīvas gaismas uztveršanas lietojumprogrammas.

Ieteicams: