Sisukord:
- 1. samm: BH1715 ülevaade:
- Samm: mida vajate..
- 3. samm: riistvara ühendamine:
- 4. samm: valguse intensiivsuse mõõtmine Arduino kood:
- Samm: rakendused:
Video: Valguse intensiivsuse arvutamine BH1715 ja Arduino Nano abil: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
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 Arduino Nanoga.
Riistvara, mida selleks vajate, on järgmine:
1. BH1715 - ümbritseva valguse andur
2. Arduino nano
3. I2C kaabel
4. I2C kilp Arduino Nano jaoks
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. Arduino Nano
3. I2C kaabel
4. I2C kilp Arduino nano jaoks
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 Arduino kood:
Alustame nüüd Arduino koodiga.
Arduinoga andurimoodulit kasutades kaasame Wire.h raamatukogu. Juhtmeraamatukogu sisaldab funktsioone, mis hõlbustavad i2c suhtlust anduri ja Arduino plaadi vahel.
Kogu Arduino kood on kasutaja mugavuse huvides toodud allpool:
#kaasake
// BH1715 I2C aadress on 0x23 (35) #define Addr 0x23 void setup () {// Initsialiseeri I2C side kui MASTER Wire.begin (); // Initsialiseeri jadakommunikatsioon, määra edastuskiirus = 9600 Serial.begin (9600); // Käivita I2C ülekandejuhe Wire.beginTransmission (Addr); // Sisselülitamise käsk Wire.write (0x01); // Peata I2C ülekanne Wire.endTransmission (); // Käivita I2C ülekandejuhe Wire.beginTransmission (Addr); // Saada pideva mõõtmise käsk Wire.write (0x10); // Peata I2C ülekanne Wire.endTransmission (); viivitus (300); } void loop () {unsigned int data [2]; // Taotle 2 baiti andmeid Wire.requestFrom (Addr, 2); // Loe 2 baiti andmeid // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); andmed [1] = Wire.read (); } viivitus (300); // teisendada andmete ujuki heledus = ((andmed [0] * 256) + andmed [1]) /1,20; // Väljundandmed jadamonitorile Serial.print ("Ümbritseva valguse heledus:"); Serial.print (heledus); Serial.println ("lux"); }
Koodi järgmine osa käivitab i2c -side ja jadaühenduse funktsiooni Wire.begin () ja Serial.begin () abil.
// Initsialiseeri I2C side kui MASTER
Wire.begin (); // Initsialiseeri jadakommunikatsioon, määra edastuskiirus = 9600 Serial.begin (9600); // Käivita I2C ülekandejuhe Wire.beginTransmission (Addr); // Sisselülitamise käsk Wire.write (0x01); // Peata I2C ülekanne Wire.endTransmission (); // Käivita I2C ülekandejuhe Wire.beginTransmission (Addr); // Saada pideva mõõtmise käsk Wire.write (0x10); // Peata I2C ülekanne Wire.endTransmission (); viivitus (300);
Valguse intensiivsust mõõdetakse koodi järgmises osas.
allkirjastamata int andmed [2];
// Taotle 2 baiti andmeid Wire.requestFrom (Addr, 2); // Loe 2 baiti andmeid // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); andmed [1] = Wire.read (); } viivitus (300); // teisendada andmete ujuki heledus = ((andmed [0] * 256) + andmed [1]) /1,20; // Väljundandmed jadamonitorile Serial.print ("Ümbritseva valguse heledus:"); Serial.print (heledus); Serial.println ("lux");
Kõik, mida pead tegema, on kood arduinos põletada ja oma näitu jadaportis kontrollida. Väljund on ülaltoodud pildil näidatud ka teie jaoks.
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 mõõtmine BH1715 ja Raspberry Pi abil: 5 sammu
Valguse intensiivsuse mõõtmine BH1715 ja Raspberry Pi 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 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
Arduino Nano - BH1715 digitaalse ümbritseva valguse anduri õpetus: 4 sammu
Arduino Nano - BH1715 digitaalse ümbritseva valguse anduri õpetus: 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 reguleerib
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