Jei kada nors susimąstėte, kaip efektyviai išmatuoti šviesos lygį aplinkoje su Arduino, esate tinkamoje vietoje. Šiame straipsnyje žingsnis po žingsnio paaiškinsime, kaip tai padaryti naudojant LDR fotorezistorių, dar žinomą kaip fotorezistorius. Šie maži technologiniai stebuklai – tai elektroniniai komponentai, galintys keisti savo varžą priklausomai nuo gaunamos šviesos kiekio, o tai atveria begalines galimybes elektronikos ir automatikos projektams.
Šviesos jutiklio pritaikymas su Arduino yra daug: nuo automatinių apšvietimo sistemų iki robotų, kurie orientuojasi pagal šviesą. Geriausia, kad tai įperkamas ir lengvai naudojamas komponentas. Čia mes suteiksime jums visą reikalingą informaciją, kad galėtumėte sukurti savo šviesos matavimo sistemą naudodami „Arduino“ ir išnaudoti visas jos galimybes.
Kas yra LDR ir kaip jis veikia?
A LDR (nuo šviesos priklausomas rezistorius) Tai pasipriešinimas, kurio dydis kinta priklausomai nuo į jį krentančios šviesos kiekio. Tamsiomis sąlygomis atsparumas yra labai didelis ir siekia iki 1 MOhm. Priešingai, kai LDR gauna daug šviesos, varža žymiai sumažėja ir pasiekia 50–100 omų vertes esant intensyviai šviesai.
Jo veikimas pagrįstas puslaidininkinių medžiagų laidumo principu. Gavę šviesą, fotonai energizuoja medžiagoje esančius elektronus, palengvindami srovės tekėjimą ir dėl to mažindami pasipriešinimą. Šio tipo jutikliai yra labai naudingi tais atvejais, kai reikalingas santykinis aplinkos šviesos matavimas.
LDR savybės
Šis komponentas yra labai populiarus dėl mažos kainos ir lengvo naudojimo. Įprastos pasipriešinimo vertės svyruoja nuo 1 MOhm visiškoje tamsoje iki 50-100 omų ryškioje šviesoje. Tačiau verta paminėti, kad tai nėra patys tiksliausi jutikliai, jei norite tiksliai išmatuoti apšvietimą (šviesą liuksais), nes jiems gali turėti įtakos tokie veiksniai kaip temperatūra.
Atsparumo kitimas yra gana lėtas, užtrunka nuo 20 iki 100 milisekundžių, priklausomai nuo modelio. Tai reiškia, kad jis nėra tinkamas aptikti greitus šviesos pokyčius, pvz., atsirandančius naudojant kintamosios srovės lemputes, tačiau užtikrina puikų stabilumą esant pastovesniam apšvietimui.
Nors LDR labiau tinka šviesos tendencijoms matuoti Kad būtų pateikti tikslūs duomenys, dėl mažos kainos ir lengvo integravimo su „Arduino“ plokštėmis jie yra idealus jutiklis „pasidaryk pats“ projektams.
Grandinės ir jungčių schema
Kad „Arduino“ galėtų išmatuoti LDR pasipriešinimo kitimą, jutiklį reikia sumontuoti ant vadinamojo įtampos daliklis. Tai labai paprasta grandinė, sudaryta iš LDR ir nuosekliai sujungto fiksuoto rezistoriaus. LDR yra tarp įvesties įtampos (pvz., 5 V plokštėje). Arduino Uno) ir analoginio įvesties kaiščio, o fiksuotas rezistorius yra prijungtas tarp kaiščio ir žemės (GND).
Fiksuoto pasipriešinimo vertė paprastai yra 10 kOhm, nors ji gali skirtis priklausomai nuo jautrumo, kurį norite pasiekti matuodami.
Surinkimo ir kodo pavyzdžiai
Norėdami sukurti pagrindinę sistemą su Arduino ir LDR, pirmiausia turite prijungti šiuos elementus:
- Vienas LDR galas į 5V maitinimo šaltinį.
- Kitas LDR galas į analoginį įvestį (pvz., A0) ir tuo pačiu į fiksuotą rezistorių, kuris bus prijungtas prie žemės.
Naudodami šią sąranką galite pradėti skaityti reikšmes, kurias LDR teikia per analoginę įvestį. Toliau pateiktas kodas yra pagrindinis pavyzdys, kaip skaityti šias vertes:
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);
}
Šis kodas išspausdins reikšmes nuo 0 (t. y. kai nėra šviesos) ir 1023 (maksimaliai gaunama šviesa). Šios vertės yra proporcingos šviesai, kurią suvokia LDR.
Atsparumo elgsena kaip šviesos funkcija
Kaip jau minėta, LDR atsparumas mažėja, kai jis gauna daugiau šviesos. Norėdami gauti a tikslus šviesos kiekio matavimas, turite žinoti savo LDR varžos vertes skirtingomis apšvietimo sąlygomis.
Pavyzdžiui, GL55 serijoje vertės svyruoja nuo 5 kΩ iki 200 kΩ esant šviesai ir nuo 500 kΩ iki 10 MΩ tamsiomis sąlygomis. Skirtinguose modeliuose šios vertės gali skirtis, todėl visada patartina pasiskaityti jutiklio gamintojo duomenų lape.
Įdomus LDR ypatumas yra tas Jo jautrumas yra didžiausias žalios šviesos spektro dalyje., maždaug esant 540 nm bangos ilgiui. Tai reiškia, kad LDR geriau reaguoja į žalią šviesą nei kitos matomo spektro dalys.
Praktiniai pritaikymai
Galimos LDR programos, prijungtos prie „Arduino“, yra beveik neribotos. Tarp praktiškiausių yra automatinės apšvietimo sistemos, kuriose grandinė gali įjungti arba išjungti šviesas, priklausomai nuo aptikto apšvietimo lygio. Jie taip pat naudojami lengvai sekantys robotai ir namų automatikos sistemos.
Pavyzdžiui, galite sukurti sistemą, kurioje, mažėjant šviesos lygiui, įsižiebia šviesos diodas, kad kompensuotų šviesos trūkumą. Štai paprastas kodo pavyzdys:
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);}
Ši maža programa nuskaito LDR reikšmę ir, jei šviesos lygis yra žemesnis už nustatytą slenkstį, įjungia šviesos diodą. Priešingu atveju jis jį išjungia. Lengvas, bet labai funkcionalus pavyzdys apšvietimo automatizavimo projektuose.
Apribojimai ir atsargumo priemonės
Nors LDR naudojimas yra labai patogus daugelyje projektų, svarbu atsižvelgti į kai kuriuos jo apribojimus:
- Jie nėra labai tikslūs, jei norite išmatuoti tikslų šviesos intensyvumą liuksais.
- Jo elgesys gali skirtis priklausomai nuo temperatūros.
- Jie geriausiai padeda nustatyti didesnius šviesos pokyčius, o ne greitus pokyčius.