Mozgás- és akadályérzékelés

A mozgás- és akadályérzékelés szenzortípusai:

Infravörös érzékelő
Az IR érzékelő típusok a kibocsátott fény útjába kerülő objektumokat a visszaverődés hiányával tudják azonosítani. Az IR előnye, hogy emberi szem számára nem látható.

PIR szenzor
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

en: IR obstacle avoidance sensor

Az IR-08H egy szűk tartományban hangolható digitális akadály-érzékelő modul. Technikailag megegyezik az alábbi (eltérő gyártójú) modulokkal: HXJ-38, AD-032, KY-032, KeyesIR, FC-51..

A modul az IR LED-et (SN74LS00) 38 kHz-es frekvencián vezérli, ha az engedélyező-jel (EN) kint van. Az (általában) HS0038B típusú érzékelő a közeli és látószögbe eső tárgyakról vagy felfestésekről visszaverődő jeleket figyeli. A vevőegység tartalmaz AGC (Automatic Gain Control) funkciót; ez egy külső, optikai, 950 nm-es IR szűrő és egy belső, elektronikus, 38 kHz-es sávszűrő, így a vevő csak az adott frekvencián pulzáló infravörös fényt érzékeli.

Egyes fajtákon egy, míg más típusain kettő potméterrel lehet a modult hangolni:

IR-08H infravörös digitális akadály-érzékelő modul beállítása

Technikai jellemzők

  • Működési feszültség: 3.3V .. 5V DC
  • Üzemi áram: ≥ 20mA
  • Működési hőmérséklet: -10 °C .. 50 °C
  • Érzékelési távolság: 2 .. 40 cm
  • Kimeneti jel: TTL logikai szintek
  • - LOW szint, ha akadály észlelhető
  • - HIGH, ha nem észlelt akadályt
  • Látószög: ± 35 °

Pin-ek, beállítási lehetőségek

beállítási lehetőségleírás
R6 potmétera LED 38 kHz-ének a finomhangolása állítható
R5 potmétera jel munkaciklusának az állítása, ezzel az IR LED világossága hangolható
zöld jumperHa a jumper a helyén van, a modul folyamatosan működni fog. Ha nincs a helyén, az érzékelés az "EN" pin-nel indítható / leállítható.
EN, 1.pin"engedélyezés": Az érzékelő működésének engedélyezése (HIGH aktív). Ha a zöld jumper a helyén van, nem használható.
OUT, 2.pinJel kimenet
+, 3.pinTápfeszültség, 3.3V..5V DC
GND, 4.pingrund

Az AGC működésének "jót tesz", azaz a modul megbízhatóbban működik, ha nem folyamatos üzemben alkalmazzuk, hanem (jumper nélkül) az "EN"-nel aktiváljuk a működését (azaz rászánunk egy digitális kimenetet is).

A LED és a vevőegység bizonyos esetekben zavarni tudja egymást, ilyenkor érdemes a LED-et egy rövid csővel (pl. zsugorcsővel) körülvenni.

Szoftver

digitalWrite( enablePin, HIGH);     // Enable the internal 38kHz signal.
microDelay( 210);                   // Wait 210µs (8 pulses of 38kHz).
if( digitalRead( outputPin))        // If detector Output is HIGH,
{
    objectDetect = false;           // then no object was detected;
}
else                                // but if the Output is LOW,
{
    microDelay( 395);               // wait for another 15 pulses.
    if( digitalRead( outputPin))    // If the Output is now HIGH,
    {                               // then first Read was noise
        objectDetect = false;       // and no object was detected;
    }
    else                            // but if the Output is still LOW,
    {
        objectDetect = true;        // then an object was truly detected.
    }
}
digitalWrite( enablePin, LOW);      // Disable the internal 38kHz signal.

Az infravörös átvitelről egy áttekintés a Kommunikáció fejezetben, az IR-nél található.
Az Arduino infravörös átvitellel ez a fejezet foglalkozik.

Források