HC-SR501 PIR Bewegungs Sensor

Last Updated on 18. Oktober 2026 by sfambachLink-Status: OK

Der HC SR501 ist ein 360° Infrarot Bewegungsmelder. Er hat einen Erfassungsradius 120°. Bei Bewegung im Messbereich schaltet er einen Pin auf 3,3V und hält diesen für eine eingestellte Haltezeit (Anzeit). Die Empfindlichkeit und die Haltezeit können am jeweiligen Drehregler eingestellt werden.

Fakten

Technische Daten

HC-SR501 PIR-Bewegungsmelder
MessgrößeBewegung (Wärmestrahlung)
MessprinzipPassiv-Infrarot (pyroelektrisch)
Sensor-BausteinPyroelektrischer Sensor LHI778
Messbereichca. 3–7 m (per Potentiometer)
Öffnungswinkel< 120°
Betriebsspannung5–20 V
Stromaufnahme< 50 µA (Ruhestrom)
Abmessungen32 × 24 mm
BeschreibungAusgang High 3,3 V / Low 0 V; Haltezeit per Potentiometer ca. 5 s bis 300 s; Arbeitstemperatur −15 bis +70 °C

Anschlüsse und Regler

PIR HC-SR501 Beschriftete Unterseite

Anwendungsbereiche

  • Sicherung von Objekten
  • Einschalter/Aufwecken von Kameras oder anderen Microcontrollern
  • Bewegungsabhängige Lichtsteuerung

Ansichten

Programmierung

Bibliotheken

Es wird nur ein digitaler Eingang am Microprozessor benötigt. Dieser kann über die Standard-Bibliothek mit „digitalRead“ abgefragt werden.

Versuchsaufbau

HC-SR501 Schaltplan mit Arduino
HC-SR501 Schaltplan mit Arduino

Testprogramm

Das Testprogramm fragt in jeder Schleife den Pin ab, der mit dem PIR verbunden ist. Bei Aktivierung wird der Status auf der Konsole ausgegeben. Der Prozess verweilt so lange in einer Schleife, bis der PIR Sensor wieder inaktiv ist. (Die 3,3 Volt sollten reichen, um den Pin auf High zu schalten) Folgend der Code:

Quellcode HCSR501Test (GitHub GistLink-Status: OK)

/** HC SR501 Test
 *   www.fambach.net
 *   GPL V2
*/

#define SR501PIN A0

void setup() {
  Serial.begin(115200);

  // init pin
  pinMode(A0, INPUT_PULLUP);

}

void loop() {
  if (digitalRead(A0) == HIGH) {
    Serial.print("PIR activated ...");
    while (digitalRead(A0) == HIGH) {
      //Serial.print(".");
    }
    Serial.println(" now inactive");
  }
}

Hier noch die Konsolenausgabe:

PIR HC SR501 – Konsolen Ausgabe

Probleme

Verzögerte Reaktion

Dies ist normal. Der PIR hat eine Anschaltverzögerung. Wenn der PIR sich ausschaltet, braucht er danach ein paar Sekunden, bis er wieder aktiviert werden kann.

Jumper Einstellung

Unterschiede zwischen den beiden Jumper-Einstellungen konnten leider nicht festgestellt werden.

Fazit

Der PIR ist preiswert und leicht mit dem Arduino zu verbinden. Die Einstellmöglichkeiten sind etwas ungenau und bedürfen mehrfachen Ausprobierens.

Verwandte Beiträge

Quellen

https://www.mpja.com/download/31227sc.pdfLink-Status: Kaputt

http://www.netzmafia.de/skripten/hardware/RasPi/Projekt-PIR/index.htmlLink-Status: Kaputt

https://www.adrirobot.it/sensori/pir_sensor/pir_sensor_hc-sr501_arduino.htmLink-Status: OK

DatumÄnderungAutor
19.10.2026Fakten-Tabelle durch Datenblock aus dem Modell ersetztsfambach
10.10.2026Gist-Einbettung durch Code-Block ersetzt (Gist als Quelle verlinkt)sfambach
04.10.2026Rechtschreibung korrigiert: Tippfehler, Kommas, Grammatiksfambach
03.10.2026Log-Liste eingefügtsfambach
15.09.2019Beitrag erstelltsfambach
Logbuch

2 Gedanken zu „HC-SR501 PIR Bewegungs Sensor“

  1. Hallo, ich bin Neueinsteiger und habe das Problem nicht herausfinden zu können wie ich das w-lan teil zum senden bringe…
    Habe eine Analogroutine auf dem seriellen Monitor…
    Funktioniert auch… Nun wollte ich die daten als webseite haben (beim uno mit shield hat es geklappt)….
    Wenn ich denselben sketch auf den mega schiebe, baut er keine Verbindung zum wlan auf….
    Hilfe…..
    Danke

    1. Hallo Thomas,

      dein Problem klingt etwas pauschal. Auch scheint es thematisch nicht zum HC-SR501 PIR zu passen.
      Solange ich keine zusätzlichen Informationen habe, welches Mega Board du benutzt und ich deinen Quellcode nicht kenne, fällt es mir schwer eine fundierte Antwort zu geben.

      Gruß

      Stefan

Schreibe einen Kommentar

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