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. darbība: gaismas intensitātes mērīšana Arduino kods:
- 5. darbība. Lietojumprogrammas:
Video: Gaismas intensitātes aprēķins, izmantojot BH1715 un Arduino Nano: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
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:
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..
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 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:
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:
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:
Mitruma, spiediena un temperatūras aprēķins, izmantojot BME280 un fotonu saskarni: 6 soļi
Mitruma, spiediena un temperatūras aprēķins, izmantojot BME280 un fotonu saskarni: Mēs saskaramies ar dažādiem projektiem, kuriem nepieciešama temperatūras, spiediena un mitruma kontrole. Tādējādi mēs saprotam, ka šiem parametriem faktiski ir būtiska nozīme, novērtējot sistēmas darba efektivitāti dažādos atmosfēras apstākļos
Gaismas intensitātes mērīšana, izmantojot BH1715 un Raspberry Pi: 5 soļi
Gaismas intensitātes mērīšana, izmantojot BH1715 un Raspberry Pi: 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 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 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