LDR érzékelő interfész az Arduino Nano-val

Ldr Erzekelo Interfesz Az Arduino Nano Val



A Light Dependent Resistor széles körben alkalmazható fényfüggő projektekben. Egy olyan mikrokontroller segítségével, mint az Arduino Nano, az LDR segítségével különféle eszközöket lehet vezérelni a fényintenzitás szintje alapján. Ez az útmutató az LDR alapjait és az Arduino Nano-val kapcsolatos alkalmazásait ismerteti.

A cikk tartalma a következőket tartalmazza:







1: Az LDR érzékelő bemutatása



2: Az LDR alkalmazásai Arduino Nano-val



3: LDR interfész az Arduino Nano-val





Következtetés

1: Az LDR érzékelő bemutatása

A L ight D függő R Az esistor (LDR) egy olyan típusú ellenállás, amely az általa kitett fény intenzitása alapján változtatja ellenállását. Sötétben az ellenállása nagyon nagy, míg erős fényben nagyon alacsony. Ez az ellenállásváltozás teszi a legjobban a fényérzékelő projektekhez.




Az LDR analóg feszültségkimenetet ad, amelyet az Arduino ADC az analóg érintkezőkön olvas be. Az Arduino analóg bemeneti érintkezője ADC-t használ az LDR analóg feszültségének digitális értékké alakításához. Az ADC tartománya 0 és 1023 között van, ahol a 0 a 0 V-ot, az 1023 pedig a maximális bemeneti feszültséget jelenti (általában 5 V az Arduino esetében).

Az Arduino a segítségével olvassa be az analóg értékeket analógRead() funkciót a kódban. Az analogRead() függvény az analóg bemenet PIN-számát veszi argumentumként, és visszaadja a digitális értéket.


A fotonok vagy fényrészecskék döntő szerepet játszanak az LDR-ek működésében. Amikor a fény az LDR felületére esik, az anyag fotonokat nyel el, ami azután elektronokat szabadít fel az anyagban. A szabad elektronok száma egyenesen arányos a fény intenzitásával, és minél több elektron szabadul fel, annál kisebb lesz az LDR ellenállása.

2: Az LDR alkalmazásai Arduino Nano-val

Az alábbiakban felsoroljuk az LDR néhány gyakori alkalmazását az Arduino-val:

    • Automatikus világításvezérlés
    • Fénnyel aktivált kapcsoló
    • Fényszint jelző
    • Éjszakai mód az eszközökben
    • Fényalapú biztonsági rendszerek

3: LDR interfész az Arduino Nano-val

Ahhoz, hogy LDR-t használjunk az Arduino Nano-val, egy egyszerű áramkört kell létrehozni. Az áramkör az LDR-ből, egy ellenállásból és az Arduino Nano-ból áll. Az LDR és az ellenállás sorba van kötve, az LDR pedig az Arduino Nano analóg bemeneti érintkezőjéhez csatlakozik. Egy LED-et adnak az áramkörhöz, amely tesztelheti az LDR működését.

3.1: Sematikus

A következő képen az Arduino Nano vázlata látható LDR érzékelővel.

3.2: Kód

Az áramkör beállítása után a következő lépés az Arduino Nano kódjának megírása. A kód beolvassa az LDR analóg bemenetét, és arra használja, hogy LED-et vagy más eszközt vezéreljen a különböző fényszintek alapján.

int LDR_Val = 0 ; /* Változó a fotoellenállás értékének tárolására */
int érzékelő =A0; /* Analóg tű számára fotoellenállás */
int vezette = 12 ; /* LED kimenet Pin */
üres beállítás ( ) {
Serial.begin ( 9600 ) ; /* Átviteli sebesség számára soros kommunikáció */
    pinMode ( led, OUTPUT ) ; /* LED Pin készlet mint Kimenet */
}
üres hurok ( ) {
LDR_Val = analogRead ( érzékelő ) ; /* Analóg olvas LDR érték */
Serial.print ( 'LDR kimeneti érték: ' ) ;
Serial.println ( LDR_Val ) ; /* Az LDR kimeneti érték megjelenítése a soros monitoron */
ha ( LDR_Val > 100 ) { /* Ha a fény intenzitása MAGAS */
Serial.println ( ' Magas intenzitás ' ) ;
digitalWrite ( led, LOW ) ; /* A LED KIkapcsolva marad */
}
más {
/* Más ha A fény intenzitása ALACSONY A LED BEkapcsolva marad */
Serial.println ( 'Alacsony intenzitás ' ) ;
digitalWrite ( led, HIGH ) ; /* LED Kapcsolja be az LDR értéke Kevésbé mint 100 */
}
késleltetés ( 1000 ) ; /* Minden után kiolvassa az értéket 1 mp */
}


A fenti kódban egy LDR-t használunk Arduino Nano-val, amely az LDR-ből származó analóg bemenet segítségével vezérli a LED-et.

A kód első három sora változókat deklarál a tárolására fotoellenállás értéke , a analóg tű a fotoellenálláshoz, és a VEZETTE kimeneti tű.

Ban,-ben beállít() funkció esetén a soros kommunikáció 9600-as adatátviteli sebességgel indul, és a LED D12 lába van beállítva kimenetként.

Ban,-ben hurok() függvény, a fotoellenállás értékét az analógRead() függvény segítségével olvassuk ki, amely a LDR_Val változó. A fotoellenállás értéke ezután megjelenik a soros monitoron a Serial.println() függvény segítségével.

An ha más utasítás a LED vezérlésére szolgál a fotoellenállás által észlelt fényintenzitás alapján. Ha a fotoellenállás értéke nagyobb, mint 100, az azt jelenti, hogy a fény intenzitása MAGAS, és a LED nem világít. Ha azonban a fotoellenállás értéke kisebb vagy egyenlő, mint 100, az azt jelenti, hogy a fény intenzitása ALACSONY, és a LED világít.

Végül a program a delay() függvény használatával vár 1 másodpercet, mielőtt újra kiolvassa a fotoellenállás értékét. Ez a ciklus korlátlan ideig ismétlődik, így a LED be- és kikapcsol a fotoellenállás által észlelt fényintenzitás alapján.

3.3: Kimenet gyenge fény mellett

A fény intenzitása kevesebb, mint 100, így a LED világít.

3.4: Kimenet Bright Light alatt

A fényintenzitás növekedésével az LDR érték nő, az LDR ellenállás pedig csökken, így a LED kialszik.

Következtetés

Az LDR analóg érintkező segítségével csatlakoztatható az Arduino Nano-hoz. Az LDR kimenet különféle alkalmazásokban képes szabályozni a fényérzékelést. Függetlenül attól, hogy automatikus világításvezérlésre, fényalapú biztonsági rendszerekre vagy csak fényszint-jelzőre használják, az LDR és az Arduino Nano interfészével olyan projekteket hozhat létre, amelyek reagálnak a fényintenzitás változásaira.