PIR HC-SR501
SensorPassiver Infrarot-Sensor — erkennt die Waermestrahlung von Menschen und Tieren. Wenn sich etwas Warmes im Sichtfeld bewegt, gibt er HIGH aus. Wird in Bewegungsmeldern und Alarmanlagen verwendet.
Tipps:
Nach dem Einschalten braucht der PIR 30–60 Sekunden zum Kalibrieren — in dieser Zeit nicht davor bewegen! Die zwei Potis auf der Platine regeln Empfindlichkeit und Haltezeit.
Technische Daten
| Kategorie | Bewegung |
|---|---|
| Schnittstelle | Digital |
| Pinbelegung | VCC, OUT, GND |
| Anzahl Pins | 3 |
| Messgroesse | Infrarot-Bewegung |
| Messbereich | Reichweite bis 7 m, Erfassungswinkel ca. 120° |
| Genauigkeit | Erkennung: ja/nein (digital) |
| Betriebsspannung | 4.5V – 20.0V |
| Stromverbrauch | 0.065 mA |
| Datenblatt | PDF oeffnen |
Anschluss
Arduino Uno R3
Pins:
5V=VCC, D7=OUT, GND=GND
Hinweise: OUT wird HIGH wenn Bewegung erkannt wird. 30s Aufwaermzeit nach Einschalten beachten!
Codebeispiele
Bewegungsmelder bauen Anfaenger
Der PIR-Sensor erkennt Bewegung durch Waermestrahlung. Wenn sich eine Person vor dem Sensor bewegt, gibt er HIGH aus. Wir nutzen das fuer einen einfachen Bewegungsmelder mit LED.
Benoetigte Bibliotheken: Keine (nur Arduino-Standardfunktionen)
// ============================================
// PIR HC-SR501: Einfacher Bewegungsmelder
// ============================================
// Anschluss: VCC=5V, OUT=Pin 7, GND=GND
// WICHTIG: 30-60 Sekunden Aufwaermzeit nach dem Einschalten!
#define PIR_PIN 7 // Signal-Pin des PIR-Sensors
#define LED_PIN 13 // Onboard-LED als Alarm
void setup() {
Serial.begin(9600);
pinMode(PIR_PIN, INPUT); // PIR-Ausgang lesen
pinMode(LED_PIN, OUTPUT); // LED als Anzeige
Serial.println("PIR Bewegungsmelder");
Serial.println("Warte 30 Sekunden auf Kalibrierung...");
Serial.println("NICHT vor dem Sensor bewegen!");
// Aufwaermzeit abwarten
for (int i = 30; i > 0; i--) {
Serial.print(i);
Serial.print("... ");
delay(1000);
}
Serial.println();
Serial.println("BEREIT! Bewegungsmelder aktiv.");
}
void loop() {
int bewegung = digitalRead(PIR_PIN);
if (bewegung == HIGH) {
Serial.println(">>> BEWEGUNG ERKANNT! <<<");
digitalWrite(LED_PIN, HIGH); // LED an
} else {
Serial.println("Keine Bewegung.");
digitalWrite(LED_PIN, LOW); // LED aus
}
delay(500);
}
Projekte mit diesem Bauteil
Probleme mit PIR HC-SR501?
KI-Lernhelfer fragen