HC-SR501 PIR motion sensor

Last Updated on 18. October 2026 by SuffocationLink 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.

Facts

Technical Data

HC-SR501 PIR-Bewegungsmelder
MessgrößeBewegung (Wärmestrahlung)
MessprinzipPassiv-Infrarot (pyroelektrisch)
Sensor-BausteinPyroelektrischer Sensor LHI778
Messbereichca. 3–7 m (per Potentiometer)
Öffnungswinkel< 120°
Operating voltage5–20 V
Stromaufnahme< 50 µA (Ruhestrom)
Abmessungen32 × 24 mm
DescriptionAusgang 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

Areas of application

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

Views

Programming

Libraries

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

Experimental setup

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

Test programme

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:

Source code 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

Problems

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.

Conclusion

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

Related Posts

Sources

https://www.mpja.com/download/31227sc.pdfLink status: Broken

http://www.netzmafia.de/skripten/hardware/RasPi/Projekt-PIR/index.htmlLink status: Broken

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

DateChangeAuthor
19.10.2026Fakten-Tabelle durch Datenblock aus dem Modell ersetztSuffocation
10.10.2026Gist-Einbettung durch Code-Block ersetzt (Gist als Quelle verlinkt)Suffocation
04.10.2026Rechtschreibung korrigiert: Tippfehler, Kommas, GrammatikSuffocation
03.10.2026Log-Liste eingefügtSuffocation
15.09.2019Post createdSuffocation
Changelog

2 thoughts on “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…..
    Thank you

    1. Hello 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.

      Hello

      Stefan

Leave a Reply

Your email address will not be published. Required fields are marked *