Satura rādītājs:

Gaismas intensitātes aprēķins, izmantojot BH1715 un Arduino Nano: 5 soļi
Gaismas intensitātes aprēķins, izmantojot BH1715 un Arduino Nano: 5 soļi

Video: Gaismas intensitātes aprēķins, izmantojot BH1715 un Arduino Nano: 5 soļi

Video: Gaismas intensitātes aprēķins, izmantojot BH1715 un Arduino Nano: 5 soļi
Video: EP24 Pimped — старый измеритель RSSI с AD8318 и Arduino 2024, Jūlijs
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 Arduino Nano.

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

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

2. Arduino nano

3. I2C kabelis

4. I2C vairogs Arduino Nano

1. darbība: BH1715 pārskats:

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

Vispirms 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. Arduino Nano

3. I2C kabelis

4. I2C vairogs Arduino nano

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. darbība: gaismas intensitātes mērīšana Arduino kods:

Gaismas intensitātes mērīšana Arduino kods
Gaismas intensitātes mērīšana Arduino kods
Gaismas intensitātes mērīšana Arduino kods
Gaismas intensitātes mērīšana Arduino kods

Sāksim ar Arduino kodu tūlīt.

Izmantojot sensoru moduli ar Arduino, mēs iekļaujam Wire.h bibliotēku. "Wire" bibliotēkā ir funkcijas, kas atvieglo i2c komunikāciju starp sensoru un Arduino plati.

Viss Arduino kods lietotāja ērtībai ir norādīts zemāk:

#iekļaut

// BH1715 I2C adrese ir 0x23 (35) #define Addr 0x23 void setup () {// Inicializēt I2C komunikāciju kā MASTER Wire.begin (); // Inicializēt seriālo komunikāciju, iestatīt pārraides ātrumu = 9600 Serial.begin (9600); // Start I2C Transmission Wire.beginTransmission (Addr); // Nosūtīt barošanas ieslēgšanas komandu Wire.write (0x01); // Stop I2C Transmission Wire.endTransmission (); // Start I2C Transmission Wire.beginTransmission (Addr); // Sūtīt nepārtrauktas mērīšanas komandu Wire.write (0x10); // Stop I2C Transmission Wire.endTransmission (); kavēšanās (300); } void loop () {unsigned int data [2]; // Pieprasīt 2 baitus datu Wire.requestFrom (Addr, 2); // Lasīt 2 baitus datu // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); dati [1] = Wire.read (); } kavēšanās (300); // konvertēt datu pludiņa spilgtumu = ((dati [0] * 256) + dati [1]) /1.20; // Izvadiet datus uz seriālo monitoru Serial.print ("Apkārtējās gaismas spilgtums:"); Sērijas nospiedums (spilgtums); Serial.println ("lux"); }

Ar kodu Wire.begin () un Serial.begin () tiek uzsākta nākamā koda daļa, lai uzsāktu i2c sakarus un sērijas sakarus.

// Inicializēt I2C komunikāciju kā MASTER

Wire.begin (); // Inicializēt seriālo komunikāciju, iestatīt pārraides ātrumu = 9600 Serial.begin (9600); // Start I2C Transmission Wire.beginTransmission (Addr); // Nosūtīt barošanas ieslēgšanas komandu Wire.write (0x01); // Stop I2C Transmission Wire.endTransmission (); // Start I2C Transmission Wire.beginTransmission (Addr); // Sūtīt nepārtrauktas mērīšanas komandu Wire.write (0x10); // Stop I2C Transmission Wire.endTransmission (); kavēšanās (300);

Gaismas intensitāti mēra nākamajā koda sadaļā.

neparakstīti int dati [2];

// Pieprasīt 2 baitus datu Wire.requestFrom (Addr, 2); // Lasīt 2 baitus datu // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); dati [1] = Wire.read (); } kavēšanās (300); // konvertēt datu pludiņa spilgtumu = ((dati [0] * 256) + dati [1]) /1.20; // Izvadiet datus uz seriālo monitoru Serial.print ("Apkārtējās gaismas spilgtums:"); Sērijas nospiedums (spilgtums); Serial.println ("lux");

Viss, kas jums jādara, ir ierakstīt kodu arduino un pārbaudīt savus rādījumus seriālajā portā. Izvade ir parādīta attēlā arī jūsu atsaucei.

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: