====== Bewegungs- und Hinderniserkennung ====== Arten von Bewegungs- und Hinderniserkennungssensoren: ** Infrarotsensor ** \\ IR-Sensortypen können Objekte im Weg des emittierten Lichts durch fehlende Reflexion identifizieren. Der Vorteil von IR ist, dass es für das menschliche Auge nicht sichtbar ist. ** PIR-Sensor ** \\ PIR-Sensoren (passiver Infrarotsensor) sind zwar recht komplexe Geräte (Optik, Infrarotsensoren, Verstärker, Kalibrierungsoptionen), ihre Arduino-Bewertung ist jedoch nicht so komplex. Dies liegt daran, dass sie normalerweise Informationen weitergeben, unabhängig davon, ob sie Bewegung spüren oder nicht. Einige Geräte enthalten einen potentialfreien Kontakt, d. H. Ein Relais, das als Schalter mit einem freien Pin verbunden werden kann. ===== HC-SR501 ===== {{anchor:hcsr501}} Dieses Bewegungssensormodul verwendet einen passiven Infrarotsensor LHI778 und einen BISS0001-IC zur Erkennung. Die Empfindlichkeit des Moduls ist einstellbar; Dies ermöglicht eine flexible Einstellung des Bewegungserkennungsbereichs von 3 bis 7 Metern. Das Modul verfügt außerdem über eine Einstellung "Zeitverzögerung" und eine Triggerauswahl. Das Modul schaltet insgesamt einen Digitaleingang, HI-Spannungspegel: 3,3V. {{:wiki:arduino:pir.png|HC-SR501 PIR Bewegungssensor}} Das Gerät initialisiert sich in ca. 1 Minute und kann dabei einen Fehlalarm auslösen! Zusätzlich werden nach jeder Verzögerungszeit ca. Es wird 3 Sekunden lang nicht erkannt, erst nach Ablauf dieser Zeit. Das Einrichten des Sensors ist eine echte Sisyphus-Aufgabe. Machen Sie sich bereit! ==== Technische Details ==== * Stromversorgung: 5V - 20V * Stromverbrauch: 65mA * TTL-Ausgang: 3,3 V und 0 V. * Zeit: max. 5 Minuten * Erkennungszeit: 0,2 Sek * Triggereinstellung: L - Trigger deaktivieren * Wahrnehmung: weniger als 120 Grad, bis zu 7 Meter * Temperatur: - 15 ~ +70 °C. * Größe: 32 * 24 mm ==== Die Einstellungen ==== ^Einstellung / Port^ Beschreibung| |Verzögerungszeit | Entsprechend der eingestellten Zeit bleibt der Ausgang nach der Erkennung aktiv. Diese Zeit kann im Bereich von ungefähr 3 Sekunden bis 5 Minuten eingestellt werden. Drehen Sie den Knopf ganz nach rechts, um die maximale Zeit einzustellen Erfassungsentfernung Die Erfassungsentfernung, die zwischen 3 und 7 Metern eingestellt werden kann. Drehen Sie den Knopf ganz nach rechts, um den Mindestabstand einzustellen| |Trigger-Jumper|L-Position: Einfacher Trigger. Die Verzögerungszeit beginnt mit der ersten erkannten Bewegung \\ H-Position: Trigger wiederholen. Die Verzögerungszeit startet mit der zuletzt erkannten Bewegung neu Ausgang Bei Erkennung (+ Verzögerungszeit) gibt der Ausgang 3,3 V aus| ==== Beispielprogramm ==== // code: OB121.com int ledPin = 13; // 13.LED output int pirPin = 8; // from the PIR-sensor int pirStore; // old state from PIR void setup() { pinMode(ledPin, OUTPUT); pinMode(pirPin, INPUT); digitalWrite(ledPin, LOW); } void loop() { pirStore = digitalRead(pirPin); digitalWrite(ledPin, pirStore); } ==== Quellen ==== http://henrysbench.capnfatz.com/henrys-bench/arduino-sensors-and-input/arduino-hc-sr501-motion-sensor-tutorial/#attachment wp-att-2123/0/ ===== Digitales Infrarot-Infrarot-Hinderniserkennungsmodul IR-08H ===== en: IR obstacle avoidance sensor \\ {{anchor:ir08h}} {{anchor:hxj38}} {{anchor:ad032}} Der IR-08H ist ein schmalbandig abstimmbares digitales Hinderniserkennungsmodul. Technisch identisch mit folgenden Modulen (verschiedener Hersteller): **HXJ-38**, **AD-032**, **KY-032**, **KeyesIR**, **FC-51** .. Das Modul steuert die IR-LED (**SN74LS00**) bei 38 kHz, wenn das Freigabesignal aus ist. Der (normalerweise) **HS0038B** -Sensor erkennt Signale, die von Nahaufnahmen und abgewinkelten Objekten oder Gemälden reflektiert werden. Der Empfänger enthält die Funktion **AGC** (//Automatic Gain Control//); Es handelt sich um ein externes optisches 950-nm-IR-Filter und ein internes elektronisches 38-kHz-Bandpassfilter, sodass der Empfänger nur Infrarotlicht erkennt, das mit dieser Frequenz pulsiert. Bei einigen Typen kann das Modul mit einem eingestellt werden, während Sie bei anderen Typen das Modul mit zwei Reglern einstellen können: {{:wiki:arduino:ir_akadaly_1.png|Einrichtung des digitalen Infrarot-Infrarot-Hindernissensormoduls IR-08H}} ==== Technische Details ==== * **Betriebsspannung: ** 3,3 V .. 5 V DC * **Betriebsstrom: ** ≥ 20mA * **Betriebstemperatur: ** -10 °C .. 50 °C. * **Erkennungsabstand: ** 2 .. 40 cm * **Ausgangssignal:** [[de:arduino:start#arduino_ttl|TTL logische Ebenen]] * - **LOW**, wenn ein Hindernis erkannt wird * - **HIGH**, wenn kein Hindernis erkannt wird * **Betrachtungswinkel: ** ± 35 ° ==== Pins, Einstellmöglichkeiten ==== ^Einstellungsoption^ Beschreibung| |R6 Potentiometer | Feinabstimmung der LED 38 kHz | |R5-Potentiometer | Einstellung des Signal-Tastverhältnisses zur Einstellung der IR-LED-Helligkeit | |grüner Jumper | Wenn der Jumper vorhanden ist, läuft das Modul kontinuierlich. Wenn nicht vorhanden, kann die Erkennung mit Pin "EN" gestartet / gestoppt werden.| |EN, Pin 1.| "Enable": Aktiviert den Sensorbetrieb (HIGH active). Sobald der grüne Jumper angebracht ist, kann er nicht mehr verwendet werden| |OUT, 2.pin Signalausgang| |+, 3.pin|Versorgungsspannung, 3.3V..5V DC| |GND, 4.pin|grund| Die AGC "funktioniert" gut, dh das Modul arbeitet zuverlässiger, wenn es nicht im Dauerbetrieb verwendet wird, aber (ohne Jumper) wird es mit "EN" aktiviert (d.H. wir verwenden auch einen digitalen Ausgang). In einigen Fällen können sich die LED und der Empfänger gegenseitig stören. In diesem Fall ist es ratsam, die LED mit einer kurzen Röhre (z.B. Schrumpfröhre) zu umgeben. ==== Software ==== 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. Dieses Kapitel befasst sich mit der Arduino-Infrarotübertragung: [[de:arduino:ir|Arduino Infrarot (IR) Übertragung]]\\ ==== Quellen ==== http://irsensor.wizecode.com/ \\