Cuprins:
- Pasul 1: BH1715 Prezentare generală:
- Pasul 2: De ce ai nevoie..
- Pasul 3: Conectarea hardware-ului:
- Pasul 4: Măsurarea intensității luminii Cod Arduino:
- Pasul 5: Aplicații:
Video: Calculul intensității luminii utilizând BH1715 și Arduino Nano: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Ieri am lucrat la afișaje LCD și, în timp ce lucram peste ele, am realizat importanța calculului intensității luminii. Intensitatea luminii nu este importantă doar în domeniul fizic al acestei lumi, ci are și rolul său bine spus în domeniul biologic. Estimarea exactă a intensității luminii joacă un rol esențial în ecosistemul nostru, în creșterea plantelor etc. Așadar, pentru a îndeplini acest scop, am studiat acest senzor BH1715, care este un senzor de lumină ambientală de ieșire serială de 16 biți.
În acest tutorial, vom demonstra funcționarea BH1715 cu Arduino Nano.
Hardware-ul de care veți avea nevoie în acest scop este după cum urmează:
1. BH1715 - Senzor de lumină ambientală
2. Arduino nano
3. Cablu I2C
4. Scutul I2C pentru Arduino Nano
Pasul 1: BH1715 Prezentare generală:
În primul rând, am dori să vă familiarizăm cu caracteristicile de bază ale modulului senzor care este BH1715 și cu protocolul de comunicație pe care funcționează.
BH1715 este un senzor digital de lumină ambientală cu o interfață de magistrală I²C. BH1715 este utilizat în mod obișnuit pentru a obține datele de lumină ambientală pentru reglarea puterii de iluminare a ecranului LCD și a tastaturii pentru dispozitive mobile. Acest dispozitiv oferă o rezoluție de 16 biți și un domeniu de măsurare reglabil, permițând detectarea de la 23 la 100 000 lux.
Protocolul de comunicare pe care funcționează senzorul este I2C. I2C reprezintă circuitul inter-integrat. Este un protocol de comunicare în care comunicația are loc prin intermediul liniilor SDA (date seriale) și SCL (serial clock). Permite conectarea mai multor dispozitive în același timp. Este unul dintre cele mai simple și mai eficiente protocol de comunicare.
Pasul 2: De ce ai nevoie..
Materialele de care avem nevoie pentru îndeplinirea obiectivului nostru includ următoarele componente hardware:
1. BH1715 - Senzor de lumină ambientală
2. Arduino Nano
3. Cablu I2C
4. I2C Shield pentru Arduino nano
Pasul 3: Conectarea hardware-ului:
Secțiunea de conectare hardware explică practic conexiunile de cablare necesare între senzor și raspberry pi. Asigurarea conexiunilor corecte este necesitatea de bază în timp ce lucrați la orice sistem pentru ieșirea dorită. Deci, conexiunile necesare sunt următoarele:
BH1715 va funcționa pe I2C. Iată exemplul schemei de cablare, care demonstrează cum se conectează fiecare interfață a senzorului.
Out-of-the-box, placa este configurată pentru o interfață I2C, ca atare, vă recomandăm să utilizați această conexiune dacă sunteți altfel agnostic. Nu ai nevoie decât de patru fire!
Sunt necesare doar patru conexiuni Vcc, Gnd, SCL și pinii SDA și acestea sunt conectate cu ajutorul cablului I2C.
Aceste conexiuni sunt prezentate în imaginile de mai sus.
Pasul 4: Măsurarea intensității luminii Cod Arduino:
Să începem cu codul Arduino acum.
În timp ce utilizați modulul senzor cu Arduino, includem biblioteca Wire.h. Biblioteca „Wire” conține funcțiile care facilitează comunicarea i2c între senzor și placa Arduino.
Întregul cod Arduino este dat mai jos pentru confortul utilizatorului:
#include
// BH1715 Adresa I2C este 0x23 (35) #define Addr 0x23 void setup () {// Inițializați comunicarea I2C ca MASTER Wire.begin (); // Inițializați comunicarea în serie, rata baud setată = 9600 Serial.begin (9600); // Porniți I2C Transmission Wire.beginTransmission (Addr); // Trimiteți comanda de pornire Wire.write (0x01); // Oprire I2C Transmission Wire.endTransmission (); // Porniți I2C Transmission Wire.beginTransmission (Addr); // Trimiteți comanda de măsurare continuă Wire.write (0x10); // Oprire I2C Transmission Wire.endTransmission (); întârziere (300); } void loop () {date int nesemnate [2]; // Solicitați 2 octeți de date Wire.requestFrom (Addr, 2); // Citiți 2 octeți de date // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); date [1] = Wire.read (); } întârziere (300); // convertiți luminanța flotantă a datelor = ((date [0] * 256) + date [1]) / 1,20; // Ieșire date pe monitorul serial Serial.print ("Lumina luminii ambientale:"); Serial.print (luminanță); Serial.println ("lux"); }
Următoarea parte a codului inițiază comunicarea i2c și comunicarea serială cu ajutorul funcțiilor Wire.begin () și Serial.begin ().
// Inițializați comunicarea I2C ca MASTER
Wire.begin (); // Inițializați comunicarea serială, setați baud rate = 9600 Serial.begin (9600); // Porniți I2C Transmission Wire.beginTransmission (Addr); // Trimiteți comanda de pornire Wire.write (0x01); // Oprire I2C Transmission Wire.endTransmission (); // Porniți I2C Transmission Wire.beginTransmission (Addr); // Trimiteți comanda de măsurare continuă Wire.write (0x10); // Oprire I2C Transmission Wire.endTransmission (); întârziere (300);
Intensitatea luminii este măsurată în următoarea secțiune a codului.
date int nesemnate [2];
// Solicitați 2 octeți de date Wire.requestFrom (Addr, 2); // Citiți 2 octeți de date // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); date [1] = Wire.read (); } întârziere (300); // convertiți luminanța flotantă a datelor = ((date [0] * 256) + date [1]) / 1,20; // Ieșire date pe monitorul serial Serial.print ("Lumina luminii ambientale:"); Serial.print (luminanță); Serial.println ("lux");
Tot ce trebuie să faceți este să ardeți codul în arduino și să verificați citirile pe portul serial. Ieșirea este prezentată în imaginea de mai sus și pentru referință.
Pasul 5: Aplicații:
BH1715 este un senzor de lumină ambientală de ieșire digitală care poate fi încorporat în telefonul mobil, TV LCD, NOTE PC etc. Poate fi utilizat și în mașini de joc portabile, aparate foto digitale, camere video digitale, PDA, afișaj LCD și multe alte dispozitive care necesită aplicații eficiente de detectare a luminii.
Recomandat:
Cum se face înregistrarea temperaturii și a intensității luminii - Simulare Proteus - Fritzing - Liono Maker: 5 pași
Cum se face înregistrarea temperaturii și a intensității luminii | Simulare Proteus | Fritzing | Liono Maker: Bună, acesta este Liono Maker, acesta este canalul meu oficial de YouTube. Acesta este canalul YouTube open source. Aici este linkul: canalul YouTube Liono Maker aici este linkul video: Temp & Înregistrare intensitate ușoară În acest tutorial vom învăța cum să facem Temper
Măsurarea intensității luminii utilizând BH1715 și Raspberry Pi: 5 pași
Măsurarea intensității luminii utilizând BH1715 și Raspberry Pi: Ieri am lucrat la afișaje LCD și, în timp ce lucram peste ele, am realizat importanța calculului intensității luminii. Intensitatea luminii nu este importantă doar în domeniul fizic al acestei lumi, ci are rolul său bine spus în biologie
Urmărirea intensității luminii solare: 3 pași
Urmărirea intensității luminii solare: Există o mulțime de proiecte care se bazează pe căldura sau lumina soarelui. De exemplu. uscarea fructelor și legumelor. Cu toate acestea, intensitatea soarelui nu este întotdeauna constantă și se schimbă pe tot parcursul zilei. Acest proiect încearcă să cartografieze soarele
Calculul intensității luminii utilizând BH1715 și fotonul de particule: 5 pași
Calculul intensității luminii folosind BH1715 și fotonul cu particule: Ieri am lucrat la afișaje LCD și, în timp ce lucram peste ele, am realizat importanța calculului intensității luminii. Intensitatea luminii nu este importantă doar în domeniul fizic al acestei lumi, ci are rolul său bine spus în biologie
Microcontroler AVR. Modulația lățimii pulsului. Controler al intensității luminii cu motor DC și LED: 6 pași
Microcontroler AVR. Modulația lățimii pulsului. Controler al motorului de curent continuu și al intensității luminii cu LED-uri .: Bună tuturor! este folosit în mod obișnuit pentru a controla puterea alimentată către un dispozitiv electric, fie că este un motor, un LED, difuzoare etc. Este practic un mod