A Digitális fényérzékelő modul példafeladathoz sem mellékelek kapcsolást, mert nem igényel nagy fantáziát az összeállítás. A fényérzékelő szenzornak 3 lába van. VCC – GND – OUT. Értelemszerűen a bekötésnél az A0 analóg pint használjuk az érzékelő OUT kimenetére. Ennek egyszerű oka van, ha nem akarunk logikai illesztőt használni, akkor nem tudjuk digitális bemeneten érzékelni a szenzor jelét, mert max 3,3 V feszültséget ad le, én személy szerint 2,7-et mértem. Az érzékelő fényérzékenységét a kis kék potméterrel állíthatjuk. A modul működése tökéletes abban az esteben, ha Raspberry pi-vel használjuk, tulajdonképpen a modul csak egy egyszerű feladatot hajt végre, amikor a fényerősség szintje a potméterrel beállított szint fölé emelkedik, akkor a digitális kimenetre kiadja a jelet. Az LM393 nem más, mint egy egyszerű komparátor. Összehasonlítja a két ellenállás értékét (Potméter és LDR). Így remélem érthető miért az analóg beolvasás műveletével használjuk a modult.
Nos a forráskód alapján, amikor összeállítjuk a kapcsolást, akkor kiválaszjuk a számunkra szimpatikus digit pint a led számára (nálam ez a 11-es) és ha kell módosítjuk a forrást. A működés nagyon egyszerű, ha a beolvasott analóg érték 400 feletti, akkor világít led, ellenben nem világít. A 400-as érték egy olyan konstans, amin nem érdemes változtatni, mert amikor a digitális kimenet átbillen 1-be akkor egy olyan ~450-es analóg értéket olvashatunk be. Amikor visszabillen 0-ba, akkor 8 és 20 közötti értéket kapunk. A fényerősséget pedig így is úgy a potméterrel szabályozzuk.
Digitális fényérzékelő modul Forráskód:
int photoPin = 0; // Photellcellpin csatlakozás int LEDpin = 11; // Ledpin csatlakozás int light = 0; void setup() { pinMode(LEDpin, OUTPUT); Serial.begin(9600); } void loop() { light = analogRead(photoPin); if (light <=400) { Serial.println(" DARK "); digitalWrite (LEDpin, LOW); } else { Serial.println(" LIGHT "); digitalWrite (LEDpin, HIGH); } delay(100); }