Arduino mozgásérzékelés

A PIR (passive infrared sensor) szenzorok, bár azért meglehetősen összetett készülékek (optika, infravörös érzékelő(k), erősítők, kalibrálási lehetőségek) az Arduino-s kiértékelésük mégsem olyan összetett dolog. Általában ugyanis egy információt adnak csak tovább, érzékelnek-e mozgást vagy sem. A készülékek egy része egy potenciálszabad kontaktot - azaz relét - tartalmaz, melyet mint egy kapcsolót vezetékezhetünk be egy szabad pin-re.

Ez a mozgásérzékelő modul egy LHI778 passzív infravörös érzékelőt és BISS0001 IC-t használ érzékelésre.

A modul érzékenysége állítható; ez lehetővé teszi a mozgásérzékelés tartományának a rugalmas beállítását 3 - 7 méter között.

A modul rendelkezik még "idő késleltetés" beállítással és trigger kiválasztással.

A modul összesen egy digitális bemenetet kapcsol, HI feszültségszint: 3,3V.

HC-SR501 PIR mozgásérzékelő

Az eszköz nagyjából 1 perc alatt inicializálja magát, ez alatt az idő alatt téves riasztást is adhat!

Ráadásul minden késleltetési idő leteltével kb. 3 másodpercig nem érzékel, csak ennek az időnek a letelte után.

Az érzékelő beállítása valódi sziszifuszi munka, készüljön rá!

Technikai adatok

  • Tápfeszültség: 5V – 20V
  • Áramfelhasználás: 65mA
  • TTL kimenet: 3.3V, 0V
  • Időzítési idő: max. 5 min
  • Érzékelési idő: 0.2 sec
  • Trigger beállítás: L – trigger tiltása
  • Érzékelés: kevesebb, mint 120 fok, 7 méterig
  • Hőmérséklet: – 15 ~ +70 °C
  • Mérete: 32*24 mm

Beállítások

Beállítás / portLeírás
késleltetési időA beállított idő szerint marad a kimenet még aktív az érzékelés után. Ez az idő nagyjából 3 sec - 5 min tartományban állítható. Teljesen jobbra forgatva a potmétert a maximális idő állítható be.
érzékelési távolságAz érzékelési távolság, mely 3 és 7 méter között állítható. Teljesen jobbra forgatva a potmétert a minimális távolság állítható be.
trigger jumperL-állás: Egyszerű trigger. A késleltetési idő az első érzékelt mozgással indul
H-állás: Ismétlő trigger. A késleltetési idő az utolsó érzékelt mozgással újraindul
kimenetÉrzékelés (+késleltetési idő) esetén a kimenet 3,3V-t ad ki.

Példaprogram

// kód: OB121.com

int ledPin = 13;  // 13.LED kimenet
int pirPin = 8;   // jel a PIR szernzortól
int pirStore;     // tárolt PIR állapot

void setup() {
  
  pinMode(ledPin, OUTPUT);
  pinMode(pirPin, INPUT);
  digitalWrite(ledPin, LOW);
}

void loop() {
  pirStore = digitalRead(pirPin);
  digitalWrite(ledPin, pirStore);
}

Források