Sisukord:

Valguse intensiivsuse arvutamine BH1715 ja osakeste footoni abil: 5 sammu
Valguse intensiivsuse arvutamine BH1715 ja osakeste footoni abil: 5 sammu
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 osakeste footoniga. Osakeste footon on see plaat, mis võib tegelikult hõlbustada Interneti kaudu mis tahes seadme juhtimist.

Riistvara, mida selleks vajate, on järgmine:

1. BH1715 - ümbritseva valguse andur

2. Osakeste footon

3. I2C kaabel

4. I2C kilp osakeste footonile

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. Osakeste footon

3. I2C kaabel

4. I2C kilp osakeste footonile

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õõtmise osakeste kood:

Valgustugevuse mõõtmise osakeste kood
Valgustugevuse mõõtmise osakeste kood
Valgustugevuse mõõtmise osakeste kood
Valgustugevuse mõõtmise osakeste kood

Alustame nüüd osakeste koodist.

Andurimoodulit koos arduinoga kasutades kaasame teeki application.h ja spark_wiring_i2c.h. Raamatukogu "application.h" ja spark_wiring_i2c.h sisaldab funktsioone, mis hõlbustavad i2c suhtlust anduri ja osakese vahel.

Kogu osakeste kood on kasutaja mugavuse huvides toodud allpool:

#kaasake

#kaasake

// BH1715 I2C aadress on 0x23 (35)

#define Addr 0x23

int heledus = 0;

tühine seadistus ()

{

// Määra muutuja

Particle.variable ("i2cdevice", "BH1715");

Osakeste.muutuja ("heledus", heledus);

// Initsialiseeri I2C side kui MASTER

Wire.begin ();

// Initsialiseeri jadaühendus, määrake edastuskiirus = 9600

Seriaalne algus (9600);

// Käivitage I2C edastamine

Wire.beginTransmission (Addr);

// Käsk sisselülitamine

Wire.write (0x01);

// Peata I2C edastamine

Wire.endTransmission ();

// Käivitage I2C edastamine

Wire.beginTransmission (Addr);

// Pideva mõõtmise käsu saatmine

Wire.write (0x10);

// Peata I2C edastamine

Wire.endTransmission ();

viivitus (300);

}

tühine tsükkel ()

{

allkirjastamata int andmed [2];

// Taotle 2 baiti andmeid

Wire.requestFrom (Addr, 2);

// Lugege 2 baiti andmeid

// ALS msb, ALS lsb

kui (Wire.available () == 2)

{

andmed [0] = Wire.read ();

andmed [1] = Wire.read ();

}

viivitus (300);

// Teisendage andmed

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

// Andmete väljastamine armatuurlauale

Particle.publish ("Ümbritseva valguse heledus:", String (heledus));

}

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: