Interfacing LDR Sensor sa Arduino Nano

Interfacing Ldr Sensor Sa Arduino Nano



Ang Light Dependent Resistor ay may malawak na aplikasyon sa mga proyektong umaasa sa liwanag. Sa tulong ng isang microcontroller tulad ng Arduino Nano, ang LDR ay maaaring gamitin upang makontrol ang iba't ibang mga aparato batay sa antas ng intensity ng liwanag. Sinasaklaw ng gabay na ito ang mga pangunahing kaalaman ng LDR at ang mga aplikasyon nito sa Arduino Nano.

Kasama sa nilalaman ng artikulong ito ang:







1: Panimula sa LDR Sensor



2: Mga aplikasyon ng LDR sa Arduino Nano



3: Interfacing LDR sa Arduino Nano





Konklusyon

1: Panimula sa LDR Sensor

A L ight D ependente R Ang esistor (LDR) ay isang uri ng risistor na nagbabago ng resistensya nito batay sa tindi ng liwanag na nalantad dito. Sa dilim, ang resistensya nito ay napakataas, habang sa maliwanag na liwanag ay napakababa ng resistensya nito. Ang pagbabago sa paglaban na ito ay ginagawang pinakamahusay para sa mga proyekto ng light sensing.




Nagbibigay ang LDR ng analog voltage output na mababasa ng Arduino ADC sa mga analog pin. Ang analog input pin sa Arduino ay gumagamit ng ADC upang i-convert ang analog na boltahe mula sa LDR sa isang digital na halaga. Ang ADC ay may saklaw na 0 hanggang 1023, na may 0 na kumakatawan sa 0V at 1023 na kumakatawan sa pinakamataas na boltahe ng input (karaniwang 5V para sa Arduino).

Babasahin ng Arduino ang mga analog na halaga gamit ang analogRead() function sa iyong code. Kinukuha ng analogRead() function ang analog input pin number bilang argumento at ibinabalik ang digital value.


Ang mga photon o light particle ay may mahalagang papel sa pagpapatakbo ng mga LDR. Kapag ang liwanag ay bumagsak sa ibabaw ng isang LDR, ang mga photon ay nasisipsip ng materyal, na pagkatapos ay nagpapalaya ng mga electron sa materyal. Ang bilang ng mga libreng electron ay direktang proporsyonal sa intensity ng liwanag, at ang mas maraming mga electron na napalaya, mas mababa ang paglaban ng LDR.

2: Mga aplikasyon ng LDR sa Arduino Nano

Ang sumusunod ay ang listahan ng ilang karaniwang aplikasyon ng LDR sa Arduino:

    • Awtomatikong kontrol sa pag-iilaw
    • Light activated switch
    • Ilaw na tagapagpahiwatig ng antas
    • Night mode sa mga device
    • Mga sistema ng seguridad na nakabatay sa liwanag

3: Interfacing LDR sa Arduino Nano

Upang gumamit ng LDR sa Arduino Nano, kailangang gumawa ng simpleng circuit. Ang circuit ay binubuo ng LDR, isang risistor, at ang Arduino Nano. Ang LDR at ang risistor ay konektado sa serye, kasama ang LDR na konektado sa analog input pin ng Arduino Nano. Ang isang LED ay idaragdag sa circuit na maaaring subukan ang LDR na gumagana.

3.1: Eskematiko

Ang sumusunod na larawan ay ang eskematiko ng Arduino Nano na may LDR sensor.

3.2: Code

Kapag na-set up na ang circuit, ang susunod na hakbang ay isulat ang code para sa Arduino Nano. Babasahin ng code ang analog input mula sa LDR at gagamitin ito para kontrolin ang isang LED o iba pang device batay sa iba't ibang antas ng liwanag.

int LDR_Val = 0 ; /* Variable upang mag-imbak ng halaga ng photoresistor */
int sensor =A0; /* Analogue pin para sa photoresistor */
int pinangunahan = 12 ; /* LED output Pin */
walang bisang setup ( ) {
Serial.magsimula ( 9600 ) ; /* Baud rate para sa serial na komunikasyon */
    pinMode ( pinangunahan, OUTPUT ) ; /* LED Pin itakda bilang output */
}
walang laman na loop ( ) {
LDR_Val = analogRead ( sensor ) ; /* Analog basahin halaga ng LDR */
Serial.print ( 'Halaga ng Output ng LDR: ' ) ;
Serial.println ( LDR_Val ) ; /* Ipakita ang LDR Output Val sa serial monitor */
kung ( LDR_Val > 100 ) { /* Kung HIGH ang intensity ng liwanag */
Serial.println ( ' Mataas na intensidad ' ) ;
digitalWrite ( humantong, LOW ) ; /* Nananatiling OFF ang LED */
}
iba pa {
/* Iba pa kung Ang intensity ng liwanag ay LOW LED ay Mananatiling ON */
Serial.println ( 'Mababang intensidad ' ) ;
digitalWrite ( pinangunahan, MATAAS ) ; /* Ang halaga ng LED Turn ON LDR ay mas kaunti kaysa sa 100 */
}
pagkaantala ( 1000 ) ; /* Binabasa ang halaga pagkatapos ng bawat 1 sec */
}


Sa code sa itaas ay gumagamit kami ng isang LDR na may Arduino Nano na kumokontrol sa LED gamit ang analog input na nagmumula sa LDR.

Ang unang tatlong linya ng code ay nagdedeklara ng mga variable upang iimbak ang halaga ng photoresistor , ang analog na pin para sa photoresistor, at ang LED output pin.

Nasa setup() function, ang serial communication ay sinisimulan na may baud rate na 9600 at ang LED pin D12 ay nakatakda bilang output.

Nasa loop() function, ang halaga ng photoresistor ay binabasa gamit ang analogRead() function, na nakaimbak sa LDR_Val variable. Ang halaga ng photoresistor ay ipapakita sa serial monitor gamit ang Serial.println() function.

An kung hindi Ang pahayag ay ginagamit upang kontrolin ang LED batay sa intensity ng liwanag na nakita ng photoresistor. Kung ang halaga ng photoresistor ay higit sa 100, nangangahulugan ito na ang intensity ng liwanag ay HIGH, at ang LED ay nananatiling OFF. Gayunpaman, kung ang halaga ng photoresistor ay mas mababa sa o katumbas ng 100, nangangahulugan ito na ang intensity ng ilaw ay LOW, at ang LED ay naka-ON.

Sa wakas, ang programa ay naghihintay ng 1 segundo gamit ang delay() function bago basahin muli ang photoresistor value. Ang cycle na ito ay umuulit nang walang katapusan, na ginagawang ang LED ay naka-ON at naka-OFF batay sa intensity ng liwanag na nakita ng photoresistor.

3.3: Output sa ilalim ng Dim Light

Mas mababa sa 100 ang intensity ng liwanag kaya mananatiling NAKA-ON ang LED.

3.4: Output sa ilalim ng Maliwanag na Liwanag

Habang tumataas ang intensity ng liwanag, tataas ang halaga ng LDR at bababa ang resistensya ng LDR kaya OFF ang LED.

Konklusyon

Ang LDR ay maaaring ma-interface sa Arduino Nano gamit ang isang analog pin. Maaaring kontrolin ng LDR output ang light sensing sa iba't ibang mga application. Ginagamit man ito para sa awtomatikong kontrol sa pag-iilaw, mga light-based na security system, o isang light level indicator lang, ang LDR at Arduino Nano ay maaaring i-interface upang lumikha ng mga proyektong tumutugon sa mga pagbabago sa light intensity.