Satura rādītājs:
- 1. darbība: BH1715 pārskats:
- 2. solis: kas jums nepieciešams..
- 3. darbība. Aparatūras savienošana:
- 4. solis: gaismas intensitātes mērīšana, izmantojot Java kodu:
- 5. darbība. Lietojumprogrammas:
Video: Gaismas intensitātes mērīšana, izmantojot BH1715 un Raspberry Pi: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
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:
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..
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 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:
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:
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:
Kā veikt temperatūras un gaismas intensitātes reģistrēšanu - Proteus simulācija - Fritzing - Liono Maker: 5 soļi
Kā veikt temperatūras un gaismas intensitātes reģistrēšanu | Proteus simulācija | Fritzing | Liono Maker: Sveiki, tas ir Liono Maker, šis ir mans oficiālais YouTube kanāls. Šis ir atvērtā koda YouTube kanāls. Šeit ir saite: Liono Maker YouTube kanāls Šeit ir video saite: Temp & gaismas intensitātes reģistrēšana Šajā apmācībā mēs uzzināsim, kā padarīt temperamentu
Gaismas intensitātes grafiks, izmantojot Arduino un Python Arduino galveno bibliotēku: 5 soļi
Gaismas intensitātes attēlojums, izmantojot Arduino un Python Arduino galveno bibliotēku: Arduino ir ekonomisks, bet ļoti efektīvs un funkcionāls rīks, tā programmēšana iegultajā C padara projektu padarīšanu garlaicīgu! Python Arduino_Master modulis to vienkāršo un ļauj mums veikt aprēķinus, noņemt atkritumu vērtības
Gaismas intensitātes aprēķins, izmantojot BH1715 un Arduino Nano: 5 soļi
Gaismas intensitātes aprēķins, izmantojot BH1715 un Arduino Nano: 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 bioloģiskajā
Gaismas intensitātes aprēķins, izmantojot BH1715 un daļiņu fotonu: 5 soļi
Gaismas intensitātes aprēķins, izmantojot BH1715 un daļiņu fotonu: 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 bioloģiskajā
Gaismas intensitātes enerģijas taupīšana, izmantojot fotoelementus un termistorus: 6 soļi
Gaismas intensitātes enerģijas taupīšana, izmantojot fotoelementus un termistorus: šī pamācība ir izstrādāta, lai iemācītu jums ietaupīt enerģiju, mainot gaismas intensitāti, izmantojot fotoelementus un termistorus. Mēs parādīsim, kā izveidot ķēdi un kodēt Arduino, izmantojot MATLAB