Digitális fényérzékelő modul – LM393 komparátorral

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.

 

Digitális fényérzékelő modul

 

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);

}

(Statisztika: 890 megtekintés)

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük