Dacă v-ați întrebat vreodată cum să măsurați eficient nivelul de lumină într-un mediu cu Arduino, sunteți în locul potrivit. În acest articol, vom explica pas cu pas cum să o faceți folosind un fotorezistor LDR, cunoscut și sub numele de fotorezistor. Aceste mici minuni tehnologice sunt componente electronice capabile să-și modifice rezistența în funcție de cantitatea de lumină pe care o primesc, ceea ce deschide posibilități infinite pentru proiectele electronice și de automatizare.
Aplicațiile senzorului de lumină cu Arduino sunt multe: de la sisteme automate de iluminat până la roboți care se orientează pe bază de lumină. Cel mai bine, este o componentă accesibilă și ușor de utilizat. Aici vă vom oferi toate informațiile necesare, astfel încât să vă puteți construi propriul sistem de măsurare a luminii cu Arduino și să profitați de întregul său potențial.
Ce este un LDR și cum funcționează?
o LDR (rezistor dependent de lumină) Este o rezistență a cărei magnitudine variază în funcție de cantitatea de lumină care cade pe ea. În condiții de întuneric, rezistența este foarte mare, atingând valori de până la 1 MOhm. Dimpotrivă, atunci când LDR primește lumină abundentă, rezistența scade considerabil, atingând valori cuprinse între 50 și 100 Ohmi în lumină intensă.
Funcționarea sa se bazează pe principiul conductivității materialelor semiconductoare. La primirea luminii, fotonii energizează electronii din material, facilitând fluxul de curent și, prin urmare, scăzând rezistența. Acest tip de senzor este foarte util pentru aplicațiile în care este necesară o măsurare relativă a luminii din mediu.
Caracteristici LDR
Această componentă este foarte populară datorită costului redus și ușurinței în utilizare. Valorile tipice ale rezistenței variază de la 1 MOhm în întuneric complet până la 50-100 Ohm în lumină puternică. Cu toate acestea, merită menționat că aceștia nu sunt cei mai precisi senzori dacă doriți să măsurați cu precizie iluminarea (lumina în lux), deoarece aceștia pot fi afectați de factori precum temperatura.
Variația rezistenței este destul de lentă, luând între 20 și 100 de milisecunde, în funcție de model. Aceasta înseamnă că nu este potrivit pentru detectarea schimbărilor rapide de lumină, cum ar fi cele produse sub lumini alimentate cu curent alternativ, dar oferă o stabilitate excelentă în condiții de lumină mai constante.
Si bien LDR-urile sunt mai potrivite pentru măsurarea tendințelor luminii că pentru a oferi date precise, costul lor scăzut și ușurința de integrare cu plăcile Arduino le fac un senzor ideal pentru proiectele de bricolaj.
Schema de circuit și conexiune
Pentru ca Arduino să măsoare variația rezistenței LDR, este necesar să montați senzorul pe ceea ce este cunoscut sub numele de divizor de tensiune. Acesta este un circuit foarte simplu compus din LDR și un rezistor fix conectat în serie. LDR-ul este plasat între tensiunea de intrare (de exemplu, 5V pe placă Arduino Uno) și pinul de intrare analogic, iar rezistorul fix este conectat între pin și masă (GND).
Valoarea rezistenței fixe este de obicei de 10 kOhmi, deși poate varia în funcție de sensibilitatea pe care doriți să o obțineți în măsurare.
Exemple de asamblare și cod
Pentru a construi un sistem de bază cu Arduino și un LDR, primul lucru pe care trebuie să-l faceți este să conectați următoarele elemente:
- Un capăt al LDR la sursa de 5V.
- Celălalt capăt al LDR la intrarea analogică (A0, de exemplu) și, în același timp, la un rezistor fix care va fi conectat la masă.
Cu această setare puteți începe să citiți valorile pe care LDR-ul le oferă prin intrarea analogică. Codul de mai jos este un exemplu de bază pentru a citi acele valori:
const int pinLDR = A0;
void setup() {
Serial.begin(9600); // Iniciar monitor serie}
void loop() {
int valorLDR = analogRead(pinLDR); // Leer valor de LDR
Serial.println(valorLDR); // Imprimir valor en monitor
delay(500);
}
Acest cod va imprima valori cuprinse între 0 (adică atunci când nu există lumină) și 1023 (lumina maximă primită). Aceste valori sunt proporționale cu lumina percepută de LDR.
Comportamentul rezistenței în funcție de lumină
După cum sa menționat deja, rezistența LDR scade pe măsură ce primește mai multă lumină. Pentru a obține a măsurarea precisă a cantității de lumină, trebuie să cunoașteți valorile rezistenței LDR-ului dumneavoastră în diferite condiții de iluminare.
În seria GL55, de exemplu, valorile variază de la 5 kΩ la 200 kΩ în prezența luminii și de la 500 kΩ la 10 MΩ în condiții de întuneric. Aceste valori pot varia de la un model la altul, de aceea este întotdeauna recomandabil să consultați fișa tehnică a producătorului senzorului.
O particularitate interesantă a LDR este aceea că Sensibilitatea sa este cea mai mare în porțiunea de lumină verde a spectrului., aproximativ la lungimi de undă de 540 nm. Aceasta înseamnă că LDR-urile răspund mai bine la lumina verde decât alte părți ale spectrului vizibil.
Aplicații practice
Posibilele aplicații ale LDR-urilor conectate la un Arduino sunt aproape nesfârșite. Printre cele mai practice se numără sistemele automate de iluminat, unde circuitul poate activa sau dezactiva luminile în funcție de nivelurile de lumină detectate. Se folosesc si pentru ușoară după roboți si sisteme de automatizare a locuintei.
Puteți, de exemplu, să creați un sistem în care, pe măsură ce nivelurile de lumină scad, un LED se aprinde pentru a compensa lipsa de lumină. Iată un exemplu de cod simplu:
int LDRPin = A0; // Pin para la LDR
int LEDPin = 13; // Pin para el LED
int threshold = 500; // Umbral para encender el LED
void setup() {
pinMode(LEDPin, OUTPUT);
pinMode(LDRPin, INPUT);}
void loop() {
int valorLuz = analogRead(LDRPin);
if (valorLuz < threshold) {
digitalWrite(LEDPin, HIGH); // Enciende el LED
} else {
digitalWrite(LEDPin, LOW); // Apaga el LED
}
delay(100);}
Acest mic program citește valoarea LDR și dacă nivelul de lumină este mai mic decât pragul setat, aprinde LED-ul. Altfel o stinge. Un exemplu ușor, dar extrem de funcțional, în proiecte de automatizare a iluminatului.
Limitări și precauții
Deși utilizarea unui LDR este foarte convenabilă în multe proiecte, este important să țineți cont de unele dintre limitările sale:
- Nu sunt foarte precise dacă doriți să măsurați intensitatea exactă a luminii în lux.
- Comportamentul său poate varia în funcție de temperatură.
- Ele funcționează cel mai bine pentru a detecta schimbări mai mari de lumină și nu variații rapide.