Interfața senzorului LDR cu Arduino Nano

Interfata Senzorului Ldr Cu Arduino Nano



Rezistorul dependent de lumină are o aplicație vastă în proiecte dependente de lumină. Cu ajutorul unui microcontroler precum Arduino Nano, LDR-ul poate fi folosit pentru a controla diverse dispozitive în funcție de nivelul de intensitate a luminii. Acest ghid acoperă elementele de bază ale LDR și aplicațiile sale cu Arduino Nano.

Conținutul acestui articol include:







1: Introducere în senzorul LDR



2: Aplicații ale LDR cu Arduino Nano



3: Interfața LDR cu Arduino Nano





Concluzie

1: Introducere în senzorul LDR

A L ight D dependentă R esistorul (LDR) este un tip de rezistor care își modifică rezistența în funcție de intensitatea luminii la care este expus. În întuneric, rezistența sa este foarte mare, în timp ce la lumină puternică rezistența sa este foarte scăzută. Această schimbare a rezistenței îl face cel mai bun pentru proiectele de detectare a luminii.




LDR oferă o ieșire de tensiune analogică care va fi citită de Arduino ADC la pinii analogici. Pinul de intrare analogic de pe Arduino folosește un ADC pentru a converti tensiunea analogică de la LDR într-o valoare digitală. ADC are un interval de la 0 la 1023, 0 reprezentând 0V și 1023 reprezentând tensiunea maximă de intrare (de obicei 5V pentru Arduino).

Arduino va citi valorile analogice folosind analogRead() funcția în codul dvs. Funcția analogRead() ia numărul pinului de intrare analogică ca argument și returnează valoarea digitală.


Fotonii sau particulele de lumină joacă un rol crucial în funcționarea LDR-urilor. Când lumina cade pe suprafața unui LDR, fotonii sunt absorbiți de material, care apoi eliberează electroni în material. Numărul de electroni liberi este direct proporțional cu intensitatea luminii și cu cât sunt mai mulți electroni eliberați, cu atât rezistența LDR-ului devine mai mică.

2: Aplicații ale LDR cu Arduino Nano

Mai jos este lista unor aplicații comune ale LDR cu Arduino:

    • Control automat al luminii
    • Comutator activat de lumină
    • Indicator de nivel de lumină
    • Modul de noapte în dispozitive
    • Sisteme de securitate bazate pe lumină

3: Interfața LDR cu Arduino Nano

Pentru a utiliza un LDR cu Arduino Nano, trebuie creat un circuit simplu. Circuitul este format din LDR, un rezistor și Arduino Nano. LDR-ul și rezistorul sunt conectate în serie, cu LDR-ul conectat la pinul de intrare analogic al Arduino Nano. La circuit va fi adăugat un LED care poate testa funcționarea LDR.

3.1: Schemă

Următoarea imagine este schema Arduino Nano cu senzor LDR.

3.2: Cod

Odată ce circuitul a fost configurat, următorul pas este să scrieți codul pentru Arduino Nano. Codul va citi intrarea analogică de la LDR și o va folosi pentru a controla un LED sau alt dispozitiv pe baza diferitelor niveluri de lumină.

int LDR_Val = 0 ; /* Variabilă pentru a stoca valoarea fotorezistorului */
int senzor =A0; /* Pin analogic pentru fotorezistor */
int LED = 12 ; /* Pin de ieșire LED */
anulează configurarea ( ) {
Serial.begin ( 9600 ) ; /* Rata baud pentru comunicare în serie */
    pinMode ( led, IEȘIRE ) ; /* Pin LED a stabilit la fel de ieșire */
}
buclă goală ( ) {
LDR_Val = analogRead ( senzor ) ; /* Analogic citit Valoarea LDR */
Serial.print ( 'Valoare de ieșire LDR: ' ) ;
Serial.println ( LDR_Val ) ; /* Afișați valoarea de ieșire LDR pe monitorul serial */
dacă ( LDR_Val > 100 ) { /* Dacă intensitatea luminii este MARE */
Serial.println ( ' Intensitate mare ' ) ;
digitalWrite ( led, JOS ) ; /* LED-ul rămâne stins */
}
altfel {
/* Altfel dacă Intensitatea luminii este LOW LED-ul va rămâne aprins */
Serial.println ( 'Intensitate scăzută ' ) ;
digitalWrite ( led, ÎNALT ) ; /* LED Pornire Valoarea LDR este Mai puțin decât 100 */
}
întârziere ( 1000 ) ; /* Citește valoarea după fiecare 1 sec */
}


În codul de mai sus folosim un LDR cu Arduino Nano care va controla LED-ul utilizând intrarea analogică venită de la LDR.

Primele trei linii de cod declară variabile pentru a stoca valoarea fotorezistorului , cel pin analogic pentru fotorezistor și LED pin de ieșire.

În înființat() Funcție, comunicarea serială este inițiată cu o viteză de transmisie de 9600 și pinul LED D12 este setat ca ieșire.

În buclă() funcția, valoarea fotorezistorului este citită folosind funcția analogRead(), care este stocată în LDR_Val variabil. Valoarea fotorezistorului este apoi afișată pe monitorul serial utilizând funcția Serial.println().

Un dacă-altfel declarația este utilizată pentru a controla LED-ul pe baza intensității luminii detectate de fotorezistor. Dacă valoarea fotorezistorului este mai mare de 100, înseamnă că intensitatea luminii este MARE, iar LED-ul rămâne stins. Cu toate acestea, dacă valoarea fotorezistorului este mai mică sau egală cu 100, înseamnă că intensitatea luminii este Scăzută și LED-ul se aprinde.

În cele din urmă, programul așteaptă 1 secundă folosind funcția delay() înainte de a citi din nou valoarea fotorezistorului. Acest ciclu se repetă la infinit, făcând LED-ul să se aprindă și să se stingă în funcție de intensitatea luminii detectată de fotorezistor.

3.3: Ieșire sub lumină slabă

Intensitatea luminii este mai mică de 100, așa că LED-ul va rămâne aprins.

3.4: Ieșire în lumină puternică

Pe măsură ce intensitatea luminii crește, valoarea LDR va crește și rezistența LDR va scădea, astfel încât LED-ul se va stinge.

Concluzie

LDR-ul poate fi interfațat cu Arduino Nano folosind un pin analog. Ieșirea LDR poate controla detectarea luminii în diverse aplicații. Fie că este folosit pentru controlul automat al luminii, sisteme de securitate bazate pe lumină sau doar un indicator al nivelului de lumină, LDR și Arduino Nano pot fi interfațate pentru a crea proiecte care să răspundă la schimbările de intensitate a luminii.