Sisukord:
- 1. samm: BH1715 ülevaade:
- Samm: mida vajate..
- 3. samm: riistvara ühendamine:
- 4. samm: valguse intensiivsuse mõõtmine Java -koodi abil:
- Samm: rakendused:
Video: Valguse intensiivsuse mõõtmine BH1715 ja Raspberry Pi abil: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
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:
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..
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 ü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:
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:
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:
Temperatuuri ja valguse intensiivsuse logimine - Proteuse simulatsioon - Fritzing - Liono Maker: 5 sammu
Temperatuuri ja valguse intensiivsuse logimine | Proteuse simulatsioon | Fritzing | Liono Maker: Tere, see on Liono Maker, see on minu ametlik YouTube'i kanal. See on avatud lähtekoodiga YouTube'i kanal. Siin on link: Liono Makeri YouTube'i kanal Siin on videolink: Temp & Kerge intensiivsusega logimine Selles õpetuses õpime, kuidas temperit valmistada
Valguse intensiivsuse joonistamine Arduino ja Pythoni Arduino Master Library abil: 5 sammu
Kerge intensiivsusega joonistamine Arduino ja Pythoni Arduino Master Library abil: Arduino on ökonoomne, kuid samas väga tõhus ja funktsionaalne tööriist, selle programmeerimine Embedded C -s muudab projektide tegemise tüütuks! Pythoni Arduino_Master moodul lihtsustab seda ja võimaldab meil arvutusi teha, prügiväärtusi eemaldada
Valguse intensiivsuse arvutamine BH1715 ja Arduino Nano abil: 5 sammu
Valguse intensiivsuse arvutamine BH1715 ja Arduino Nano abil: 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 hästi öeldud roll bioloogilises
Valguse intensiivsuse arvutamine BH1715 ja osakeste footoni abil: 5 sammu
Valguse intensiivsuse arvutamine BH1715 ja osakeste footoni abil: 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 hästi öeldud roll bioloogilises
Valguse ja värvi mõõtmine Pimoroni Enviro: bitiga Micro: bit: 5 sammu
Valguse ja värvuse mõõtmine Pimoroni Enviro: bitiga Micro: bit: olin varem töötanud mõnede seadmetega, mis võimaldavad valguse ja värvide mõõtmist, ning võite leida palju selliste mõõtmiste teooria kohta, mis on siin ja siin. ilmus hiljuti keskkond: bit, lisandmoodul m