Bewegungsmelder arduino

Den Bewegungsmelder HC-SR501 am Arduino anschließen und verwenden

Wenn du Bewegungen erkennen möchtest, um daraufhin z.B. das Licht einzuschalten, ist der Bewegungsmelder HC-SR501 (auch PIR für „passiver Infrarot-Sensor“ genannt) eine oft ausreichend gute und günstige Wahl.

In erster Linie reagiert dieser Sensor auf Wärme in Form von Infrarotstrahlen. Damit nicht die Heizung das Licht einschaltet, reagiert der Bewegungsmelder nur auf warme Objekte, die sich bewegen. Hierfür ist eine sogenannte Fresnel-Linse (die „Kuppel“) über dem eigentlichen Sensor verbaut.

Den Bewegungsmelder anschließen

Der Anschluss des HC-SR501 ist ganz simpel. Gerade einmal drei Pins benötigst du hierfür: Plus (VCC), Minus (GND) und OUT. Letzteren schließt du an einen Digitalpin deines Arduinos an. Sobald dein Sensor eine Bewegung erkennt, sendet er ein HIGH an den Arduino, das du in deinem Sketch auslesen kannst.

An der Unterseite des Bewegungsmelders findest du zwei Potentiometer. Drehe den Sensor um, sodass die Platine nach oben zeigt. Am linken Potentiometer kannst du die Empfindlichkeit des Sensors einstellen; am rechten die Länge, des Signals, das an deinen Arduino gesendet wird. Stellst du hier eine lange Zeitspanne ein, hält der Bewegungsmelder den „Alarm“ damit in dieser Zeit kann keine weitere Bewegung erkannt werden kann. Das ist praktisch, wenn du nicht möchtest, dass ein und dieselbe Bewegung mehrere Signale sendet.

Der passende Sketch

Für diesen Sketch haben wir eine LED an den Digitalpin 9 angeschlossen. Diese leuchtet auf, sobald eine Bewegung erkannt wurde. Der Bewegungsmelder hängt am Digitalpin 7.

Neben den Einstellungen und Angaben für die verwendeten Pins benötigst du nur eine Variable und eine IF-Abfrage:

status = digitalRead(sensor);

if (status == HIGH){
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}

Den Wert, den der Bewegungsmelder ausgibt, speicherst du in die Variable status – liegt keine Bewegung vor, ist dieser Wert 0. Wenn sich etwas vorm Sensor bewegt entsprechend 1.

Anschließend lässt du die LED bei einer Bewegung aufleuchten. Wenn dein Bewegungsmelder wieder auf Null umschaltet – weil er keine Bewegung erkennt – geht sie wieder aus. Das war’s.

Hier der vollständige Sketch:

int led = 9;
int sensor = 7;
int status = 0;

void setup(){
pinMode(led, OUTPUT);
pinMode(sensor, INPUT);
}

void loop(){

status = digitalRead(sensor);

if (status == HIGH){
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
}

Wie geht es weiter?

Jetzt wo du weißt, wie du den Bewegungsmelder HC-SR501 richtig anschließt und verwendest, kannst du dich an ein richtiges Projekt machen. Wie wäre es z.B. mit dem Klassiker – ein Licht, das angeht, sobald du einen Raum betrittst?

In diesem Projekt baust du dir einen stillen Alarm, der dir per Telegram eine Nachricht an dein Smartphone sendet.

Diese Art von Bewegungsmelder ist übrigens nicht die einzige: In diesem Projekt verwendest du einen Mikrowellen-Radar, um herauszufinden, ob du einen Regenschirm benötigst.

Bausätze für dein nächstes Projekt

Alles, was du für dein nächstes Projekt brauchst – Bausätze inklusive Anleitung als E-Book und der benötigten Hardware.

ESP8266 Projekt

Wetterstation & Vorhersage

Miss die aktuelle Temperatur und Luftfeuchtigkeit und zeige dazu die Wettervorhersage auf einem OLED-Display an.

Bausatz anschauen

Arduino Projekt

Pflanzenwächter

Braucht deine Pflanze Wasser? Dieses Arduino Projekt gibt dir Bescheid, wenn es so weit ist.

Bausatz anschauen

ESP8266 Projekt

Webserver

Lerne, wie du mit deinem Webserver Messdaten ausgibst, Geräte steuerst und dir mit HTML und CSS ein Interface erstellst.

Bausatz anschauen

Arduino Projekt

Wetterstation

Baue deine eigene Wetterstation, die dir Temperatur und Luftfeuchtigkeit anzeigt.

Bausatz anschauen

Auch interessant

Mehr Projekte für Arduino, ESP32, Raspi & Co
Werde Mitglied bei Pollux Labs und finde dein nächstes Projekt. Zum Beispiel:
Über 100 Maker sind bereits Mitglied bei Pollux Labs
  • ESP32 Internetradio
  • Arduino Wetterstation
  • ESP8266 & Raspi Webserver
  • Automatische Bewässerung
  • ... und viele mehr!