Fiókom
TERMÉK KATEGÓRIÁK
10/27/2021 Útmutató – HC-SR501 mozgásérzékelő

Útmutató – HC-SR501 mozgásérzékelő

Ebben az útmutatóban megismerkedünk a PIR HC-SR501 modullal. Ez egy mozgásérzékelő, amely infravörös fényt érzékel (innen a PIR – passive infrared elnevezés), állítható időzítéssel és érzékenységgel. Katalógusunkban a szenzoron kívül akril tartót is találhat.

Működési elv

A modul meglehetősen nagy részét egy úgynevezett Fresnel-lencse foglalja el, amely a fényenergiát a szenzorra fókuszálja, ahol azt érzékeli. Nem látható fényről, hanem annak infravörös tartományáról van szó, amelyet minden tárgy kibocsát. Mi emberek az infravörös sugárzást hőként érzékeljük, tehát minden, ami melegebb a környezeténél (például egy ember vagy akár egy állat), a szenzor által érzékelhető.

HC-SR501-PIR-Motion-Sensor-fresnel-lens-working-principle

Hardver

A HC-SR501 panel felső részén található a lencse és az érzékelő, míg az alsó oldalon a hangoláshoz szükséges potméterek és a kimeneti pinek helyezkednek el. A modul lehetővé teszi az érzékenység és a bekapcsolási idő finomhangolását potméterek segítségével. Ezen felül található rajta egy jumper is, amely az üzemmódot állítja be.

Jumper L – ha a modul mozgást érzékel, a kimeneten a beállított ideig logikai 1 jelenik meg. Amennyiben ebben az időtartamban ismét mozgás történik, a modul figyelmen kívül hagyja azt, és az idő letelte után a kimenet logikai 0 lesz

Jumper H – ha a modul mozgást érzékel, a kimeneten a beállított ideig logikai 1 jelenik meg. Ha a működési idő alatt újból mozgást érzékel, akkor a modul újraindítja az időzítést, és ismét a beállított időt várja le. A kimeneten csak az új időtartam letelte után lesz logikai 0

További információért javasoljuk a datasheet áttanulmányozását.

Program és bekötés

A modul használata nagyon egyszerű és intuitív, és még csak könyvtárat sem kell használnunk. A tápfeszültség 3,3V–20V között lehet, a kimeneti jel pedig 3,3V szintre van stabilizálva (az Arduino és a legtöbb mikrovezérlő kompatibilis ezzel a feszültségszinttel).

Ha a modul mozgást érzékel, az OUT kimeneti pin logikai 1-et (3,3V) ad, ha pedig nem érzékel mozgást, akkor logikai 0 (0V) jelenik meg a kimeneten. A kódban tehát elegendő figyelni, hogy a bemeneti pin logikai 1-et kap-e.

HC-SR501-PIR-motion-sensor-with-Arduino-UNO-wiring-diagram-schematic
// tento kód zabezpečí, že ak detegujeme pohyb, LED dióda na pine 13 sa rozsvieti a na seriálový monitor vypíšeme
// správu o detekcií pohybu

// definujeme použité piny
#define pirPin 2
#define ledPin 13

// pomocné premenné
int vstup_zo_senzora = 0;
bool motionState = false; // inicializujeme na false, žiadny pohyb detegovaný

void setup() {
  // konfigurácia pinov ako výstup a vstup
  pinMode(ledPin, OUTPUT);
  pinMode(pirPin, INPUT);
  Serial.begin(9600); //inicializácia komunikácie s PC
  
}

void loop() {  
  vstup_zo_senzora = digitalRead(pirPin);	// prečítame vstup zo senzora
  
  if (vstup_zo_senzora == HIGH) { //ak sme detegovali pohyb....
    digitalWrite(ledPin, HIGH); // zapneme LED
   
    if (motionState == false) { //zmenime nastavenie premennej na true, ak predtým bola false a vypíšeme správu
      Serial.println("Pozor, pohyb!");
      motionState = true;
    }
  }
 
  else { //ak nie je detegovaný pohyb...
    digitalWrite(ledPin, LOW); // vypneme LED
    
    if (motionState == true) {  //zmeníme nastavenie premmennej na false a vypíšeme správu
      Serial.println("Pohyb prestal.");
      motionState = false;
    }
  }
}

További olvasnivaló és források

  • https://www.makerguides.com/hc-sr501-arduino-tutorial/
  • https://sk.wikipedia.org/wiki/Fresnelova_%C5%A1o%C5%A1ovka

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