Bewegungsmelder HC-SR501 Arduino anschließen & verwenden

Wir werden uns ansehen, wie man den PIR-Sensor HC-SR501 Arduino (pyroelektrischer Infrarot-Bewegungssensor) anschließt und ein Programm zum automatischen Einschalten der LEDs entwickeln, die aufleuchten, wenn eine Bewegung im Raum erkannt wird. Wir werden auch einen Blick auf die millis-Funktion in der Arduino-Sprache werfen, die oft in Programmen benötigt wird, um einen Multitasking Arduino zu erstellen.




Bestandteile:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • HC-SR501 Motion Sensor
  • LEDs und Widerstände
  • Taster
  • Breadboard
  • Dupont-Kabel

Schauen wir uns den Aufbau des Bewegungssensors und seinen Anschluss an den Arduino genauer an und bauen wir einen automatischen Lichtschalter darauf auf. Das PIR-Sensormodul HC-SR501 besteht aus einem pyroelektrischen Element unter einer Fresnel-Linse aus Kunststoff – ein zylindrisches Teil mit einem rechteckigen Kristall in der Mitte, das den Pegel der Infrarotstrahlung erfasst und sie durch sich selbst hindurchleitet.

Motion Sensor HC-SR501 Arduino pinout, datasheet

Motion Sensor HC-SR501 Arduino pinout, datasheet

Merkmale des Bewegungsmelder HC-SR501 (datasheet)

  • Versorgungsspannung: 5 – 20 V
  • Betriebsstrom: 55 µA
  • Ausgangssignalpegel: 3.3 V
  • Empfindlichkeitseinstellung: ja
  • Schaltwinkel: 120°
  • Erfassungsbereich: 7 Meter
  • Verzögerungszeit: einstellbar von 0,3 sec bis 60 sec

Alle Bewegungssensor-Modelle sind praktisch identisch aufgebaut. Der PIR Arduino hat einen Empfindlichkeitsbereich von bis zu 6 Metern und einen Sichtwinkel von 110° x 70°. Die Stromversorgung beträgt 5 Volt und das digitale Signal ist „0“, wenn es keine Bewegung gibt, und „1“, wenn es eine Bewegung gibt. Die Sensorelemente sind in einem wasserdichten Gehäuse untergebracht, das sie vor Feuchtigkeit schützt.

Wie man einen Bewegungsmelder an einen Arduino anschließt

Wie man einen Bewegungsmelder an einen Arduino anschließt

Die Belegung der Stifte kann von Hersteller zu Hersteller variieren, aber neben den Stiften befinden sich Beschriftungen. Studieren Sie daher das Modul sorgfältig, bevor Sie es anschließen. Ein Ausgang geht an GND, der zweite an die 5-V-Stromversorgung (VCC), und der dritte Ausgang (OUT) sendet das digitale Signal vom Präsenzmelder. Bauen Sie die Schaltung wie in der Abbildung oben gezeigt zusammen und laden Sie den Code herunter.

Programm Arduino für PIR Bewegungsmelder HC-SR501




#define PIR A1
#define LED 13

void setup() {
  pinMode(PIR, INPUT);
  pinMode(LED, OUTPUT);
}

void loop() {
  int pirVal = digitalRead(PIR);

  if (pirVal == HIGH) {
     digitalWrite(LED, HIGH);
     delay(1000);
  }

  else {
     digitalWrite(LED,LOW);
     delay(1000);
  }
}
  1. Durch die Verwendung der #define-Anweisung für die Anschlüsse 2 und 13 haben wir PIR und LED im Programm die entsprechenden Namen zugewiesen;
  2. Die doppelte Gleichheit wenn (pirVal == HIGH), die ein Vergleichsoperator ist, wird in der Arduino-Programmiersprache als if-Operator verwendet.

Wie man einen HC-SR501 und LEDs an einen Arduino anschließt

Wie man einen HC-SR501 und LEDs an einen Arduino anschließt

In den vorgestellten Beispielen haben wir mit der define-Direktive für die Ports 2 und 12 die Namen PIR und LED vergeben. Im ersten Beispiel würde die LED sofort nach dem LOW-Signal des Bewegungssensors erlöschen, aber mit der millis-Funktion beginnen wir, die Zeit herunterzuzählen (während dieser Zeit kann der Mikrocontroller weiterhin andere Befehle ausführen) und nach 1 Minute ohne Bewegungserkennung wird die LED erlöschen.

Programm für LED-Steuerung über einen Arduino Bewegungssensor

#define PIR A1
#define LED 12

unsigned long counttime;

void setup() {
  pinMode(PIR, INPUT);
  pinMode(LED, OUTPUT);
}

void loop() {
  if (digitalRead(PIR) == HIGH) {
     digitalWrite(LED, HIGH);
     counttime = millis();
  }

  if (digitalRead(PIR) == LOW and millis() - counttime > 60000) {
      digitalWrite(LED, LOW);
  }
}
  1. Mit der Funktion counttime = millis(); wir beginnen, die Zeit zu zählen, während der Mikrocontroller weiterhin andere Berechnungen im Code ausführt.

Schlussfolgerung. Es ist heute keine Überraschung mehr, dass sich die Beleuchtung automatisch einschaltet, wenn eine Person erscheint. Heutzutage sind die meisten Beleuchtungskörper bereits mit passiven Bewegungssensoren ausgestattet. In diesem Artikel haben wir den Aufbau des HC SR501, die Schaltung seines Anschlusses an den Arduino überprüft und ein Programm für den automatischen Lichtschalter geschrieben.

5/5 - (1 vote)


Schreibe einen Kommentar

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