Este un proiect interesant si util, mai ales daca vrei sa inveti cum functioneaza un senzor de lumina digital si cum masoara acesta lumina ambientala, astfel incat sa poata creste automat intensitatea LED-ului atunci cand se intuneca afara.
Ce este un senzor de lumina digital GY-302 BH1750 si cum functioneaza
Senzorul de lumina digital GY-302 BH1750 este un modul care masoara intensitatea luminii ambientale. Acesta foloseste un senzor BH1750 si comunica cu placa Arduino prin interfata I2C, ceea ce inseamna ca transmite datele digital, nu analogic.
Valoarea masurata este exprimata in lux, adica unitatea standard pentru intensitatea luminii. Cu ajutorul acestor date, Arduino poate intelege cat de lumina sau intuneric este in jur si poate ajusta automat intensitatea LED-ului RGB.
Ce este un LED RGB si cum functioneaza
Modulul LED RGB este format din trei LED-uri intr-unul singur: rosu, verde si albastru. Prin combinarea acestor trei culori putem obtine aproape orice alta culoare.
Fiecare canal (R, G si B) poate fi controlat individual de placa Arduino, prin semnale PWM (modulatie in latime de impuls). Practic, Arduino variaza intensitatea fiecarui LED foarte rapid, iar ochiul uman percepe rezultatul ca o culoare continua.
De exemplu, daca crestem intensitatea pe rosu si verde, obtinem galben, iar daca le combinam pe toate la intensitate maxima, obtinem alb.
Componente necesare
1 x Placa de dezvoltare compatibila Arduino Uno R3
1 x Senzor de lumina digital GY-302 BH1750
1 x Modul LED RGB
1 x Breadboard 400 puncte
4 x Fire tata - tata
4 x Fire tata - mama
Schema de conectare

Cod sursa
Dupa ce ai realizat conexiunile, este timpul sa incarci codul sursa. Pentru a-l descarca, click AICI.
Conecteaza placa Arduino UNO R4 WiFi la computer folosind cablul USB, apoi deschide Arduino IDE. Din meniul Tools, selecteaza placa si portul serial corespunzator, iar apoi apasa butonul Upload (sageata spre dreapta).
Pentru ca acest proiect sa functioneze corect, este important sa instalezi cateva librarii in Arduino IDE.
Acestea ii permit placii sa comunice cu senzorul de lumina digital GY-302 BH1750 si cu modulul LED RGB, astfel incat sa poti citi valorile de lumina si sa controlezi automat intensitatea culorilor.
- BH1750 – este libraria care permite Arduino-ului sa comunice cu senzorul de lumina digital GY-302 BH1750 si sa citeasca valorile de lumina in lux.
- Wire – este libraria de baza pentru comunicatia I2C. Ea permite Arduino-ului sa comunice cu dispozitivele care folosesc acest protocol, cum este si senzorul BH1750.
Cum functioneaza proiectul
Odata pornit, Arduino citeste in permanenta valorile de la senzorul de lumina digital GY-302 BH1750, care masoara intensitatea luminii din mediul inconjurator. Pe baza acestor valori, sistemul ajusteaza automat modulul LED RGB, modificand intensitatea luminii emise.
Atunci cand in camera este mai intuneric, LED-ul devine mai puternic pentru a compensa lipsa de lumina, iar cand exista suficienta lumina ambientala, intensitatea este redusa automat pentru a mentine un nivel echilibrat.
Actualizarea se face in timp real, astfel incat sistemul reactioneaza imediat la orice schimbare de lumina din incapere. Comunicarea cu senzorul se realizeaza prin protocolul I2C, ceea ce asigura citiri stabile si rapide.
Proiectul este ideal pentru a invata cum functioneaza un senzor de lumina digital, cum se proceseaza datele in Arduino si cum poti controla automat un modul LED RGB intr-un sistem smart simplu si eficient.
Daca ai intrebari sau nelamuriri legate de proiect, scrie-mi la adresa electronica@bitmi.ro.