Quantcast
Channel: Arduino – Fluuux – TechBlog
Viewing all articles
Browse latest Browse all 40

Arduino erkennt Bewegung mittels PIR Bewegungsmelder

$
0
0

In diesem Tutorial möchte ich Ihnen zeigen, wie man einen Pir-Sensor, also einen passiven Infrarot Sensor (Bewegungsmelder) mit dem Arduino ansteuert und auf Bewegungen reagiert. Für dieses Tutorial habe ich mir einen HC-SR501 bei eBay besorgt. Dieser ist qualitativ recht hochwertig und bereits für 3 Euro zu bekommen.

PIR Sensor

Eigenschaften des HC-SR501

  • Empfindlichkeit einstellbar
  • Signal Low Zeit Einstellbar
  • Digitales TTL Ausgangssignal
  • Low Signal oder Wiederholendes Low Signal bei Bewegungserkennung
  • Arbeitstemperatur -20 – 80°C
  • Größe 32 x 24 x 18mm
  • Reichweite max. 7m

Der HC-SR501 verfügt über zwei Potis. Mit dem linken Poti lässt sich die Empfindlichkeit und mit dem rechten die Verzögerung einstellen. Das bedeutet, je höher die Verzögerung eingestellt ist um so länger dauert es bis der Sensor eine erneute Bewegung detektiert.

Passiver Infrarot Bewegungsmelder

Angesteuert wird der Sensor über gerade einmal einen Pin. Ansonsten müssen lediglich +5V und GND anliegen um den Sensor zur Arbeit zu bewegen.

Verbinden des Sensors mit dem Arduino

Wie bereits angedeutet gibt es hier nicht viel zu schreiben.
Es müssen lediglich +5V, GND und der mittlere Pin an einen digitalen Ausgang des Arduino angeschlossen werden. Das war es dann auch schon. In meinem Beispiel schließe ich den mittleren Pin des Sensors an den digitalen Pin 3 am Arduino an.

Passiver Infrarot Bewegungsmelder auf Steckbrett

 

Arduino Sketch

Dies ist eine ganz einfache Version des Sketches. Wird eine Bewegung erkannt dann leuchtet die LED an Pin13 des Arduino so lange bis keine Bewegung mehr detektiert wird.

static const int triggerPin = 3;   // Pin für PIR-Sensor
static const int ledPin     = 13;  // Digital Pin LED oder Summer
unsigned int val            = 0;   // Wert des triggerPin 
unsigned int pirState       = LOW; // Status des Bewegungsmelders beim start auf LOW (Keine Bewegung) 


void setup() {
  pinMode(triggerPin,INPUT);
  pinMode(ledPin,OUTPUT);
}


void loop() {
  val = digitalRead(triggerPin);
        
  if (val == HIGH) {
    if (pirState == LOW) {
      pirState = HIGH;
    }
  }
  else {
    if (pirState == HIGH) {
      pirState = LOW;
    } 
  }
  digitalWrite(ledPin, pirState);
}

The post Arduino erkennt Bewegung mittels PIR Bewegungsmelder appeared first on Fluuux - TechBlog.


Viewing all articles
Browse latest Browse all 40

Trending Articles