Jos olet koskaan miettinyt, kuinka tehokkaasti mitata valon tasoa ympäristössä Arduinolla, olet oikeassa paikassa. Tässä artikkelissa selitämme vaihe vaiheelta, kuinka se tehdään käyttämällä LDR-valovastusta, joka tunnetaan myös nimellä fotovastus. Nämä pienet teknologiset ihmeet ovat elektronisia komponentteja, jotka pystyvät muuttamaan vastustaan vastaanottamansa valon määrästä riippuen, mikä avaa loputtomasti mahdollisuuksia elektroniikka- ja automaatioprojekteihin.
Arduinon valoanturin sovelluksia on monia: automaattisista valaistusjärjestelmistä valon perusteella suuntautuviin robotteihin. Mikä parasta, se on edullinen ja helppokäyttöinen komponentti. Täällä annamme sinulle kaikki tarvittavat tiedot, jotta voit rakentaa oman valonmittausjärjestelmän Arduinon avulla ja hyödyntää sen täyden potentiaalin.
Mikä on LDR ja miten se toimii?
Una LDR (Light Dependent Resistor) Se on vastus, jonka suuruus vaihtelee sen päälle putoavan valon määrän mukaan. Pimeissä olosuhteissa vastus on erittäin korkea saavuttaen arvot jopa 1 MOhm. Päinvastoin, kun LDR vastaanottaa runsaasti valoa, vastus laskee huomattavasti ja saavuttaa arvot välillä 50-100 ohmia voimakkaassa valossa.
Sen toiminta perustuu puolijohdemateriaalien johtavuuden periaatteeseen. Vastaanottaessaan valoa fotonit energisoivat materiaalissa olevia elektroneja, mikä helpottaa virran kulkua ja vähentää siten vastusta. Tämän tyyppinen anturi on erittäin hyödyllinen sovelluksissa, joissa vaaditaan ympäristön valon suhteellinen mittaus.
LDR-ominaisuudet
Tämä komponentti on erittäin suosittu alhaisten kustannustensa ja helppokäyttöisyytensä vuoksi. Tyypilliset vastusarvot vaihtelevat 1 MOhm täydessä pimeydessä jopa 50-100 ohmiin kirkkaassa valossa. On kuitenkin syytä mainita, että ne eivät ole tarkimpia antureita, jos haluat mitata valaistuksen tarkasti (valo lukseina), koska niihin voivat vaikuttaa esimerkiksi lämpötila.
Resistanssin vaihtelu on melko hidasta, kestää 20-100 millisekuntia mallista riippuen. Tämä tarkoittaa, että se ei sovellu havaitsemaan nopeita valonmuutoksia, kuten vaihtovirtavalaisimissa syntyviä, mutta tarjoaa erinomaisen vakauden tasaisemmissa valaistusolosuhteissa.
kun taas LDR:t sopivat paremmin valotrendien mittaamiseen Tarkkojen tietojen tarjoamiseksi niiden alhaiset kustannukset ja helppo integrointi Arduino-levyihin tekevät niistä ihanteellisen anturin tee-se-itse-projekteihin.
Piiri- ja kytkentäkaavio
Jotta Arduino voi mitata LDR:n resistanssin vaihtelua, anturi on asennettava ns. jännitteenjakaja. Tämä on hyvin yksinkertainen piiri, joka koostuu LDR:stä ja kiinteästä sarjaan kytketystä vastuksesta. LDR on sijoitettu tulojännitteen väliin (esim. 5 V kortilla Arduino Uno) ja analogisen tulonastan, ja kiinteä vastus on kytketty nastan ja maan väliin (GND).
Kiinteän resistanssin arvo on yleensä 10 kOhmia, vaikka se voi vaihdella riippuen herkkyydestä, jonka haluat saavuttaa mittauksessasi.
Esimerkkejä kokoonpanosta ja koodista
Rakentaaksesi perusjärjestelmän Arduinon ja LDR:n kanssa, sinun on ensin yhdistettävä seuraavat elementit:
- LDR:n toinen pää 5 V syöttöön.
- LDR:n toinen pää analogiseen tuloon (esim. A0) ja samalla kiinteään vastukseen, joka kytketään maahan.
Tällä asetuksella voit alkaa lukea arvoja, jotka LDR tarjoaa analogisen tulon kautta. Alla oleva koodi on perusesimerkki näiden arvojen lukemiseen:
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);
}
Tämä koodi tulostaa arvot välillä 0 (eli kun ei ole valoa) ja 1023 (vastaanotettu valon enimmäismäärä). Nämä arvot ovat verrannollisia LDR:n havaitsemaan valoon.
Resistanssin käyttäytyminen valon funktiona
Kuten jo mainittiin, LDR:n vastus pienenee, kun se vastaanottaa enemmän valoa. Saadaksesi a valon määrän tarkka mittaus, sinun on tiedettävä LDR:n vastusarvot erilaisissa valaistusolosuhteissa.
Esimerkiksi GL55-sarjassa arvot vaihtelevat välillä 5 kΩ - 200 kΩ valossa ja 500 kΩ - 10 MΩ pimeässä. Nämä arvot voivat vaihdella malleittain, joten on aina suositeltavaa tutustua anturin valmistajan tietolehteen.
LDR:n mielenkiintoinen erikoisuus on se Sen herkkyys on suurin spektrin vihreän valon osassa., suunnilleen aallonpituuksilla 540 nm. Tämä tarkoittaa, että LDR:t reagoivat paremmin vihreään valoon kuin muut näkyvän spektrin osat.
Käytännön sovellukset
Arduinoon kytkettyjen LDR-laitteiden mahdolliset sovellukset ovat lähes loputtomat. Käytännöllisimpiä ovat automaattiset valaistusjärjestelmät, joissa piiri voi kytkeä valot päälle tai pois päältä riippuen havaitusta valotasosta. Niitä käytetään myös valoa seuraavat robotit ja kodin automaatiojärjestelmät.
Voit esimerkiksi luoda järjestelmän, jossa valotason pienentyessä LED syttyy kompensoimaan valon puutetta. Tässä on yksinkertainen koodiesimerkki:
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);}
Tämä pieni ohjelma lukee LDR-arvon ja jos valotaso on asetettua kynnystä alhaisempi, se sytyttää LEDin. Muuten se sammuttaa sen. Helppo mutta erittäin toimiva esimerkki valaistusautomaatioprojekteista.
Rajoitukset ja varotoimet
Vaikka LDR:n käyttö on erittäin kätevää monissa projekteissa, on tärkeää ottaa huomioon joitakin sen rajoituksia:
- Ne eivät ole kovin tarkkoja, jos haluat mitata tarkan valon intensiteetin lukseina.
- Sen käyttäytyminen voi vaihdella lämpötilan mukaan.
- Ne toimivat parhaiten havaitsemaan suurempia muutoksia valossa eivätkä nopeita vaihteluita.