Gränssnitt LDR-sensor med Arduino Nano

Granssnitt Ldr Sensor Med Arduino Nano



Light Dependent Resistor har en stor applikation i ljusberoende projekt. Med hjälp av en mikrokontroller som Arduino Nano kan LDR användas för att styra olika enheter baserat på ljusintensitetsnivån. Den här guiden täcker grunderna i LDR och dess applikationer med Arduino Nano.

Den här artikelns innehåll inkluderar:







1: Introduktion till LDR-sensor



2: Tillämpningar av LDR med Arduino Nano



3: Gränssnitt LDR med Arduino Nano





Slutsats

1: Introduktion till LDR-sensor

A L rätt D beroende R esistor (LDR) är en typ av motstånd som ändrar sin resistans baserat på ljusintensiteten den utsätts för. I mörker är dess motstånd mycket högt, medan dess motstånd är mycket lågt i starkt ljus. Denna förändring i motstånd gör den bäst för ljusavkänningsprojekt.




LDR ger analog spänningsutgång som kommer att läsas av Arduino ADC vid analoga stift. Det analoga ingångsstiftet på Arduino använder en ADC för att omvandla den analoga spänningen från LDR till ett digitalt värde. ADC har ett intervall från 0 till 1023, där 0 representerar 0V och 1023 representerar den maximala inspänningen (vanligtvis 5V för Arduino).

Arduino kommer att läsa de analoga värdena med hjälp av analogRead() funktion i din kod. Funktionen analogRead() tar det analoga ingångsstiftnumret som ett argument och returnerar det digitala värdet.


Fotoner eller ljuspartiklar spelar en avgörande roll i driften av LDR. När ljus faller på ytan av en LDR absorberas fotoner av materialet, som sedan frigör elektroner i materialet. Antalet fria elektroner är direkt proportionellt mot ljusets intensitet, och ju fler elektroner som frigörs, desto lägre blir resistansen för LDR.

2: Tillämpningar av LDR med Arduino Nano

Följande är listan över några vanliga applikationer av LDR med Arduino:

    • Automatisk ljusstyrning
    • Ljusaktiverad strömbrytare
    • Ljusnivåindikator
    • Nattläge i enheter
    • Ljusbaserade säkerhetssystem

3: Gränssnitt LDR med Arduino Nano

För att använda en LDR med Arduino Nano måste en enkel krets skapas. Kretsen består av LDR, ett motstånd och Arduino Nano. LDR och motståndet är anslutna i serie, med LDR ansluten till det analoga ingångsstiftet på Arduino Nano. En lysdiod kommer att läggas till kretsen som kan testa att LDR fungerar.

3.1: Schematisk

Följande bild är schemat för Arduino Nano med LDR-sensor.

3.2: Kod

När kretsen väl har ställts in är nästa steg att skriva koden för Arduino Nano. Koden kommer att läsa den analoga ingången från LDR och använda den för att styra en LED eller annan enhet baserat på olika ljusnivåer.

int LDR_Val = 0 ; /* Variabel för att lagra fotoresistorvärde */
int sensor =A0; /* Analog stift för fotoresistor */
int led = 12 ; /* LED-utgång Pin */
ogiltig installation ( ) {
Serial.begin ( 9600 ) ; /* Baudhastighet för seriell kommunikation */
    pinMode ( led, OUTPUT ) ; /* LED-stift uppsättning som produktion */
}
tom slinga ( ) {
LDR_Val = analogRead ( sensor ) ; /* Analog läsa LDR-värde */
Serial.print ( 'LDR-utgångsvärde: ' ) ;
Serial.println ( LDR_Val ) ; /* Visa LDR-utgångsvärde på seriell monitor */
om ( LDR_Val > 100 ) { /* Om ljusintensiteten är HÖG */
Serial.println ( ' Hög intensitet ' ) ;
digitalWrite ( led, LÅG ) ; /* LED förblir AV */
}
annan {
/* Annan om Ljusintensiteten är LÅG LED kommer att förbli PÅ */
Serial.println ( 'Låg intensitet ' ) ;
digitalWrite ( led, HÖG ) ; /* LED Slå PÅ LDR-värdet är mindre än 100 */
}
dröjsmål ( 1000 ) ; /* Läser värde efter varje 1 sek */
}


I ovanstående kod använder vi en LDR med Arduino Nano som kommer att styra LED med den analoga ingången som kommer från LDR.

De tre första kodraderna deklarerar variabler för att lagra fotoresistorvärde , den analog stift för fotomotståndet och LED utgångsstift.

I den uppstart() funktion initieras den seriella kommunikationen med en baudhastighet på 9600 och LED-stift D12 sätts som utgång.

I den slinga() funktionen läses fotoresistorvärdet med funktionen analogRead(), som lagras i LDR_Val variabel. Fotoresistorvärdet visas sedan på den seriella monitorn med hjälp av Serial.println()-funktionen.

En om annat statement används för att styra lysdioden baserat på ljusintensiteten som detekteras av fotoresistorn. Om fotoresistorvärdet är större än 100 betyder det att ljusintensiteten är HÖG och att lysdioden förblir AV. Men om fotoresistorvärdet är mindre än eller lika med 100, betyder det att ljusintensiteten är LÅG och LED-lampan tänds.

Slutligen väntar programmet i 1 sekund med funktionen delay() innan det läser fotoresistorvärdet igen. Denna cykel upprepas i oändlighet, vilket gör att lysdioden slås PÅ och AV baserat på ljusintensiteten som detekteras av fotoresistorn.

3.3: Utgång under svagt ljus

Ljusintensiteten är mindre än 100 så lysdioden förblir PÅ.

3.4: Utdata under starkt ljus

När ljusintensiteten ökar kommer LDR-värdet att öka och LDR-resistansen minskar så att LED släcks.

Slutsats

LDR kan anslutas till Arduino Nano med hjälp av ett analogt stift. LDR-utgången kan styra ljusavkänning i olika applikationer. Oavsett om den används för automatisk ljusstyrning, ljusbaserade säkerhetssystem eller bara en ljusnivåindikator, kan LDR och Arduino Nano gränssnittas för att skapa projekt som svarar på förändringar i ljusintensitet.