Zum Inhalt springen
Arduino Bewegungsmelder

Arduino Bewegungsmelder – So klappt es mit dem Erfassen!

    Wie kann man mit Arduino Bewegungsmelder auslesen? Welche Bewegungsmelder sind geeignet? Wie schließt man sie an? Antworten darauf in diesem Artikel.

    Bei Bewegungsmelder handelt es sich um PIR-Sensoren. PIR steht dabei für passiver Infrarotsensor oder noch cooler Pyroelektrischer Infrarotsensor. Diese PIR-Sensoren reagieren auf Veränderungen der Temperatur. Geht ein Mensch mit seinem warmen Körper durch den Sichtbereich des PIR-Sensors, erzeugt er/sie/es eine Temperaturänderung und löst dadurch den Sensor aus.

    Der Einfachheit halber gibt es für Arduino bereits fertige PIR-Module, bei denen die periphere Elektronik bereits integriert ist. Wir können also direkt mit diesen Breakout-Boards arbeiten. Ich empfehle die Verwendung folgender Sensoren:


    Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


    HC-SR501 PIR Bewegungssensor

    HC-SR501 PIR Arduino Bewegungssensor

    Der HC-SR501 ist ein PIR Bewegungssensor, der über zwei Potentiometer zur Einstellung von Empfindlichkeit und Schaltdauer verfügt. Des Weiteren kann man ihn per Jumper als Einschalter oder Ausschalter konfigurieren. Er ist für eine Betriebsspannung von 5V ausgelegt und verbraucht 65mA.

    AM312 Bewegungssensor

    Arduino Bewegungssensor AM312

    Wesentlich kleiner als der HC-SR501 bietet der AM312 weniger Einstellmöglichkeiten. Er lässt sich dafür in kleinere Aufbauten integrieren, funktioniert in einem Spannungsbereich zwischen 2.7 – 12V und verbraucht weniger als 1mA, was ihn besonders in Batterie gestützter Verwendung interessant macht.

    Arduino Bewegungsmelder Schaltplan

    Schaltplan für Arduino Bewegungsmelder HC-SR501 und AM312

    Die Schaltung ist für beide Sensoren sehr einfach. Sie werden nur mit GND, 5V+ und einem digitalen Input verbunden.

    Code

    const int PIR1_PIN = 3;
    const int LED1_PIN = 4;
    
    const int PIR2_PIN = 6;
    const int LED2_PIN = 7;
    
    void setup() {
      pinMode(PIR1_PIN, INPUT);
      pinMode(LED1_PIN, OUTPUT);
      pinMode(PIR2_PIN, INPUT);
      pinMode(LED2_PIN, OUTPUT);    
      Serial.begin(9600);
    }
    
    void loop() {
      digitalWrite(LED1_PIN,digitalRead(PIR1_PIN));
      digitalWrite(LED2_PIN,digitalRead(PIR2_PIN));
      delay(20);
    }

    Der Code zum Testen ist überschaubar. Im Grunde wird der digitale Pin ausgelesen und dessen Wert an einen anderen digitalen Pin übergeben. Somit leuchten die jeweiligen LEDs, sobald die Bewegungsmelder ausschlagen. Die PIRs sind also wie digitale Inputs zu verstehen. Sie benötigen keine Pull-Up Widerstände.


    Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!

    • Die beliebtesten Arduino-Projekte von StartHardware
    • Inklusive Schaltplan, Beschreibung und Code
    • Arduino-Schnellstart-Kapitel
    • Kompakter Programmierkurs


    5 Gedanken zu „Arduino Bewegungsmelder – So klappt es mit dem Erfassen!“

    1. kann man die reichweite irgendwie einstellen bei dem bewegungssensor, dass es nicht dauerhaft eine bewegung bemerkt??? (schulprojekt) oder ist die reichweite von der gemessenen bewegung minimum 3m? oder wieviel? und kann man die reichweite nur einstellen über das drehen am bewegungsmelder selbst oder auch irgendwie im code geringer machen, evtl. auf 20cm oder so????????und kann der brwegungsmleder auch nur über einen strahl sozusagen messen, also nicht über die kompletten 140 grad? weil sonst nimmt es ja viel zu viel bewegung auch im hintergund wahr… WIR BRAUCHEN EINE ANTWORT; BITTE; SCHNELL:::: UNSER SCHULPROJEKT WIRD SONST NE 6 UND DES WOLLEN WIR nicht…. wir sind euch dankbar, bitte zeigt nächstenliebe, wir lieben euch <33

    2. Warum nicht einen Lüfter mit Tachosignal einsetzen und den dann zeitgemäß mit z.B. einem Arduino die Drehzahl und Abfrage des Tachosignals steuern bzw. auslesen? So kann dann bis zu einer bestimmten Temperaturschwelle der Lüfter aus bleiben und nur drehzahlgesteuert rumpusten, wenn es nötig ist. Totaler Luxus: Drehzahl auf dem Mini-Oled-Display anzeigen. Die Kosten dafür sind heute ja nicht mehr das Thema und Spaß macht es auch noch.

    3. Hallo ich habe ein älteres externes Diskettenlaufwerk von Compaq.
      Original ist ein 12V Lüfter verbaut, der ständig läuft und ziemlich nervt.
      Jetzt habe ich ein Temperatur Regler eingebaut, der schaltet erst nach ca. 2 Std. den Lüfter ein. D.h. er schaltet nicht direkt, sondern erhöht die Spannung bei zunehmender Wärme. Der Lüfter schaltet sich zwischen 3,88 und 3,91V ein. Soweit so gut. Jetzt möchte ich von draussen mittels blauer Leuchtdiode sehen, ob der Lüfter tatsächlich läuft. Vielleicht mittels Hallsensor oder Lichtschranke.
      gibts dafür ne Lösung?

      1. Hallo, ich kenne mich mich Lüftern an Diskettenlaufwerken nicht aus, aber es klingt, als ob Sie gerne basteln.
        Meine Lösungsidee: der Ausgang ihres Reglers ist analog, also erhöht die Ausgangsspannung je nach Temperatur. Also einen Schwellenwertschalter verwenden (Schmitt-Trigger / Komparator). Vielleicht mit einem LTC1041 oder 74LS14 zu realisieren, um mal ein wenig die Richtung anzustossen. Alternativ auch einfach einen OP mit 2 Widerständen zu einem Schmitt-Trigger zusammen bauen.
        Für Hall-Sensoren Steuerungen gibt es Lösungen mit Arduino oder PIC z.B.
        Vielleicht tuts auch einfach eine Z-Diode als Spannungsbegrenzung parallel zur Lüfterspannung, um die LED zu schützen..

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

     

    Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.