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.
HC-SR501
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.
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 / port | Leí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ág | Az é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 jumper | L-á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
http://henrysbench.capnfatz.com/henrys-bench/arduino-sensors-and-input/arduino-hc-sr501-motion-sensor-tutorial/#attachment wp-att-2123/0/
IR-08H infravörös digitális akadály-érzékelő modul
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:
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ég | leírás |
---|---|
R6 potméter | a LED 38 kHz-ének a finomhangolása állítható |
R5 potméter | a jel munkaciklusának az állítása, ezzel az IR LED világossága hangolható |
zöld jumper | Ha 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.pin | Jel kimenet |
+, 3.pin | Tápfeszültség, 3.3V..5V DC |
GND, 4.pin | grund |
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.