Grensesnitt LDR-sensor med Arduino Nano

Grensesnitt Ldr Sensor Med Arduino Nano



Light Dependent Resistor har et stort bruksområde i lysavhengige prosjekter. Ved hjelp av en mikrokontroller som Arduino Nano kan LDR brukes til å kontrollere ulike enheter basert på lysintensitetsnivået. Denne veiledningen dekker grunnleggende om LDR og dens applikasjoner med Arduino Nano.

Innholdet i denne artikkelen inkluderer:







1: Introduksjon til LDR-sensor



2: Anvendelser av LDR med Arduino Nano



3: Grensesnitt LDR med Arduino Nano





Konklusjon

1: Introduksjon til LDR-sensor

EN L rett D avhengig R esistor (LDR) er en type motstand som endrer motstanden basert på lysintensiteten den utsettes for. I mørke er motstanden svært høy, mens motstanden i sterkt lys er svært lav. Denne endringen i motstand gjør den best for lysregistreringsprosjekter.




LDR gir analog spenningsutgang som vil bli lest av Arduino ADC ved analoge pinner. Den analoge inngangspinnen på Arduino bruker en ADC for å konvertere den analoge spenningen fra LDR til en digital verdi. ADC har et område på 0 til 1023, hvor 0 representerer 0V og 1023 representerer maksimal inngangsspenning (vanligvis 5V for Arduino).

Arduino vil lese de analoge verdiene ved å bruke analogRead() funksjon i koden din. AnalogRead()-funksjonen tar det analoge inngangs-pin-nummeret som et argument og returnerer den digitale verdien.


Fotoner eller lyspartikler spiller en avgjørende rolle i driften av LDR-er. Når lys faller på overflaten av en LDR, absorberes fotoner av materialet, som deretter frigjør elektroner i materialet. Antallet frie elektroner er direkte proporsjonalt med lysintensiteten, og jo flere elektroner som frigjøres, jo lavere blir motstanden til LDR.

2: Anvendelser av LDR med Arduino Nano

Følgende er listen over noen vanlige applikasjoner av LDR med Arduino:

    • Automatisk lysstyring
    • Lysaktivert bryter
    • Lysnivåindikator
    • Nattmodus i enheter
    • Lysbaserte sikkerhetssystemer

3: Grensesnitt LDR med Arduino Nano

For å bruke en LDR med Arduino Nano, må det lages en enkel krets. Kretsen består av LDR, en motstand og Arduino Nano. LDR og motstand er koblet i serie, med LDR koblet til den analoge inngangspinnen til Arduino Nano. En LED vil bli lagt til kretsen som kan teste at LDR fungerer.

3.1: Skjematisk

Følgende bilde er skjemaet av Arduino Nano med LDR-sensor.

3.2: Kode

Når kretsen er satt opp, er neste trinn å skrive koden for Arduino Nano. Koden vil lese den analoge inngangen fra LDR og bruke den til å kontrollere en LED eller annen enhet basert på forskjellige lysnivåer.

int LDR_Val = 0 ; /* Variabel for å lagre fotoresistorverdi */
int sensor =A0; /* Analog pinne til fotomotstand */
int ledet = 12 ; /* LED-utgang Pin */
ugyldig oppsett ( ) {
Serial.begin ( 9600 ) ; /* Baud rate til seriell kommunikasjon */
    pinMode ( ledet, OUTPUT ) ; /* LED-pinne sett som produksjon */
}
ugyldig sløyfe ( ) {
LDR_Val = analogLes ( sensor ) ; /* Analog lese LDR-verdi */
Serial.print ( 'LDR utgangsverdi: ' ) ;
Serial.println ( LDR_Val ) ; /* Vis LDR Output Val på seriell monitor */
hvis ( LDR_Val > 100 ) { /* Hvis lysintensiteten er HØY */
Serial.println ( ' Høy intensitet ' ) ;
digitalWrite ( ledet, LAVT ) ; /* LED forblir AV */
}
ellers {
/* Ellers hvis Lysintensiteten er LAV LED vil forbli PÅ */
Serial.println ( 'LAV intensitet' ) ;
digitalWrite ( ledet, HØY ) ; /* LED Slå PÅ LDR-verdien er mindre enn 100 */
}
forsinkelse ( 1000 ) ; /* Leser verdi etter hver 1 sek */
}


I koden ovenfor bruker vi en LDR med Arduino Nano som vil kontrollere LED ved å bruke den analoge inngangen fra LDR.

De tre første linjene med kode erklærer variabler som skal lagres fotoresistor verdi , den analog pinne for fotomotstanden, og LED utgangspinne.

I oppsett() funksjon, initieres den serielle kommunikasjonen med en overføringshastighet på 9600 og LED-pin D12 settes som utgang.

I Løkke() funksjon, leses fotomotstandsverdien ved å bruke analogRead()-funksjonen, som er lagret i LDR_Val variabel. Fotoresistorverdien vises deretter på den serielle monitoren ved hjelp av Serial.println()-funksjonen.

An hvis-annet statement brukes til å kontrollere lysdioden basert på lysintensiteten detektert av fotomotstanden. Hvis fotoresistorverdien er større enn 100, betyr det at lysintensiteten er HØY, og LED-en forblir AV. Imidlertid, hvis fotoresistorverdien er mindre enn eller lik 100, betyr det at lysintensiteten er LAV, og LED-en slås PÅ.

Til slutt venter programmet i 1 sekund ved å bruke delay()-funksjonen før du leser fotoresistorverdien igjen. Denne syklusen gjentas på ubestemt tid, noe som gjør at LED-en slås PÅ og AV basert på lysintensiteten detektert av fotomotstanden.

3.3: Utgang under svakt lys

Lysintensiteten er mindre enn 100, så LED vil forbli PÅ.

3.4: Utgang under sterkt lys

Etter hvert som lysintensiteten øker, vil LDR-verdien øke og LDR-motstanden reduseres slik at LED vil slå seg AV.

Konklusjon

LDR kan kobles til Arduino Nano ved hjelp av en analog pinne. LDR-utgangen kan kontrollere lysføling i ulike applikasjoner. Enten den brukes til automatisk lyskontroll, lysbaserte sikkerhetssystemer eller bare en lysnivåindikator, kan LDR og Arduino Nano kobles sammen for å lage prosjekter som reagerer på endringer i lysintensitet.