Povezovanje senzorja LDR z Arduino Nano

Povezovanje Senzorja Ldr Z Arduino Nano



Svetlobno odvisni upor ima široko uporabo v projektih, ki so odvisni od svetlobe. S pomočjo mikrokontrolerja, kot je Arduino Nano, se lahko LDR uporablja za krmiljenje različnih naprav glede na stopnjo jakosti svetlobe. Ta priročnik pokriva osnove LDR in njegove aplikacije z Arduino Nano.

Vsebina tega članka vključuje:







1: Uvod v senzor LDR



2: Aplikacije LDR z Arduino Nano



3: Povezovanje LDR z Arduino Nano





Zaključek

1: Uvod v senzor LDR

A L prav D odvisen R esistor (LDR) je vrsta upora, ki spreminja svoj upor glede na intenzivnost svetlobe, ki ji je izpostavljen. V temi je njegova odpornost zelo visoka, pri močni svetlobi pa zelo nizka. Ta sprememba odpornosti je najboljša za projekte zaznavanja svetlobe.




LDR daje analogni izhod napetosti, ki ga bo prebral Arduino ADC na analognih nožicah. Analogni vhodni zatič na Arduinu uporablja ADC za pretvorbo analogne napetosti iz LDR v digitalno vrednost. ADC ima razpon od 0 do 1023, pri čemer 0 predstavlja 0 V, 1023 pa največjo vhodno napetost (običajno 5 V za Arduino).

Arduino bo prebral analogne vrednosti z uporabo analogRead() funkcijo v vaši kodi. Funkcija analogRead() vzame številko pina analognega vhoda kot argument in vrne digitalno vrednost.


Fotoni ali svetlobni delci igrajo ključno vlogo pri delovanju LDR. Ko svetloba pade na površino LDR, material absorbira fotone, ki nato sprostijo elektrone v materialu. Število prostih elektronov je neposredno sorazmerno z intenzivnostjo svetlobe in več elektronov se sprosti, nižji postane upor LDR.

2: Uporaba LDR z Arduino Nano

Sledi seznam nekaterih pogostih aplikacij LDR z Arduinom:

    • Samodejni nadzor osvetlitve
    • Stikalo, ki se aktivira s svetlobo
    • Indikator stopnje svetlobe
    • Nočni način v napravah
    • Svetlobni varnostni sistemi

3: Povezovanje LDR z Arduino Nano

Za uporabo LDR z Arduino Nano je treba ustvariti preprosto vezje. Vezje je sestavljeno iz LDR, upora in Arduino Nano. LDR in upor sta povezana zaporedno, pri čemer je LDR povezan z analognim vhodnim zatičem Arduino Nano. V vezje bo dodana LED, ki bo lahko preizkusila delovanje LDR.

3.1: Shema

Naslednja slika je shema Arduino Nano s senzorjem LDR.

3.2: Koda

Ko je vezje nastavljeno, je naslednji korak pisanje kode za Arduino Nano. Koda bo prebrala analogni vhod iz LDR in ga uporabila za krmiljenje LED ali druge naprave na podlagi različnih ravni svetlobe.

int LDR_Val = 0 ; /* Spremenljivka za shranjevanje vrednosti fotoupora */
int senzor =A0; /* Analogni zatič za fotoupor */
int LED = 12 ; /* LED izhod Pin */
nastavitev praznine ( ) {
Serial.begin ( 9600 ) ; /* Hitrost prenosa za serijsko komunikacijo */
    pinMode ( led, IZH ) ; /* LED Pin set kot izhod */
}
prazna zanka ( ) {
LDR_Val = analogno branje ( senzor ) ; /* Analogni prebrati vrednost LDR */
Serijski.natis ( 'Izhodna vrednost LDR: ' ) ;
Serial.println ( LDR_Val ) ; /* Prikažite izhodno vrednost LDR na serijskem monitorju */
če ( LDR_Val > 100 ) { /* Če je intenzivnost svetlobe VISOKA */
Serial.println ( 'Visoka intenzivnost' ) ;
digitalWrite ( led,NIZKA ) ; /* LED ostane IZKLOPLJENA */
}
drugače {
/* drugače če Intenzivnost svetlobe je NIZKA. LED bo ostal VKLOPLJEN */
Serial.println ( 'NIZKA intenzivnost' ) ;
digitalWrite ( LED, VISOKA ) ; /* Vrednost LED VKLOP LDR je manj kot 100 */
}
zamuda ( 1000 ) ; /* Prebere vrednost po vsakem 1 sek */
}


V zgornji kodi uporabljamo LDR z Arduino Nano, ki bo krmilil LED z uporabo analognega vhoda, ki prihaja iz LDR.

Prve tri vrstice kode deklarirajo spremenljivke za shranjevanje vrednost fotoupora , the analogni zatič za fotoupor in LED izhodni zatič.

V nastaviti() funkcijo, se serijska komunikacija sproži s hitrostjo prenosa 9600 baud in LED pin D12 je nastavljen kot izhod.

V zanka() se vrednost fotoupora prebere s funkcijo analogRead(), ki je shranjena v LDR_Val spremenljivka. Vrednost fotoupora se nato prikaže na serijskem monitorju s funkcijo Serial.println().

An če potem Izjava se uporablja za krmiljenje LED na podlagi jakosti svetlobe, ki jo zazna fotoupor. Če je vrednost fotoupora večja od 100, to pomeni, da je jakost svetlobe VISOKA, LED pa ostane IZKLOPLJENA. Če pa je vrednost fotoupora manjša ali enaka 100, to pomeni, da je intenzivnost svetlobe NIZKA in lučka LED zasveti.

Na koncu program počaka 1 sekundo z uporabo funkcije delay(), preden ponovno prebere vrednost fotoupora. Ta cikel se ponavlja v nedogled, tako da se LED dioda VKLOPI in IZKLOPI glede na jakost svetlobe, ki jo zazna fotoupor.

3.3: Izhod pri zatemnjeni svetlobi

Intenzivnost svetlobe je manjša od 100, zato bo LED svetila.

3.4: Izhod pri močni svetlobi

Ko se intenzivnost svetlobe poveča, se bo vrednost LDR povečala, upor LDR pa zmanjšal, zato se bo LED IZKLOPIL.

Zaključek

LDR je mogoče povezati z Arduino Nano z uporabo analognega zatiča. Izhod LDR lahko nadzoruje zaznavanje svetlobe v različnih aplikacijah. LDR in Arduino Nano je mogoče povezati za ustvarjanje projektov, ki se odzivajo na spremembe jakosti svetlobe, ne glede na to, ali se uporablja za samodejni nadzor osvetlitve, varnostne sisteme, ki temeljijo na svetlobi, ali samo indikator nivoja svetlobe.