ESP32 S3 - Bewegungssensor
Erfahren Sie, wie Sie mit Ihrem ESP32 S3 und dem HC-SR501-PIR-Bewegungssensor Bewegungen erkennen. Diese einsteigerfreundliche Anleitung führt Sie durch alles, was Sie für zuverlässige Projekte zur Bewegungserkennung mit dem ESP32 S3 benötigen.
Was Sie bauen werden:
- Eine Schaltung, die den HC-SR501-Bewegungssensor mit dem ESP32 S3 verbindet
- Arduino-Code, der den Sensor ausliest und den Beginn und das Ende einer Bewegung erkennt
- Ausgabe im Seriellen Monitor mit Ergebnissen der Bewegungserkennung in Echtzeit
- Eine Grundlage, die Sie mit Lichtern, Alarmen oder Smart-Home-Automatisierungen erweitern können

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über HC-SR501 Motion Sensor

Der HC-SR501 ist ein PIR-Sensor (Passiv-Infrarot), der Bewegungen erkennt, indem er Veränderungen der Infrarotstrahlung warmer Objekte wahrnimmt. Er gibt ein einfaches digitales Signal aus — HIGH, wenn eine Bewegung erkannt wird, und LOW, wenn der Bereich frei ist — sodass er sich mit jedem digitalen Eingangspin des ESP32 S3 unkompliziert auslesen lässt.
Wichtige Spezifikationen
Der HC-SR501 wird mit 5V versorgt und gibt ein digitales HIGH- oder LOW-Signal aus, um den Bewegungszustand anzuzeigen. Seine Erfassungsreichweite beträgt bis zu 7 Meter mit einem einstellbaren Empfindlichkeits-Potentiometer, und ein zweites Potentiometer legt fest, wie lange der Ausgang nach einer Erkennung HIGH bleibt. Ein Jumper wählt zwischen Einzelauslösung und wiederholbarer Auslösung und bietet Ihnen so Flexibilität für unterschiedliche Anwendungsanforderungen. Der Sensor ist günstig und weit verbreitet, was ihn zu einer beliebten Wahl für Einsteiger und Profis gleichermaßen macht.
HC-SR501 Bewegungssensor Pinbelegung
Der HC-SR501 verfügt über drei Pins für Stromversorgung und Signal sowie zwei Potentiometer auf der Platine und einen Modus-Jumper.

- VCC: Mit der 5V-Stromversorgung verbinden
- GND: Mit Masse (0V) verbinden
- OUTPUT: Mit einem digitalen Eingangspin des ESP32 S3 verbinden — gibt LOW aus, wenn keine Bewegung erkannt wird, und HIGH, wenn eine Bewegung erkannt wird
- Einsteller für die Erfassungsreichweite: Potentiometer zum Einstellen der Erfassungsdistanz
- Einsteller für die Zeitverzögerung: Potentiometer zum Festlegen, wie lange der Ausgang nach einer Erkennung HIGH bleibt
- Wahlschalter für die Wiederholungsauslösung: Jumper zur Auswahl zwischen Einzel- und wiederholbarer Auslösung
Wie der HC-SR501 Bewegungssensor funktioniert
Der HC-SR501 erkennt Bewegungen, indem er Veränderungen der Infrarotstrahlung warmer Objekte wie Menschen und Tiere wahrnimmt. Wenn sich ein Objekt durch das Sichtfeld des Sensors bewegt, registriert das pyroelektrische Element eine Veränderung im IR-Muster und schaltet den OUTPUT-Pin auf HIGH.
Damit eine Erkennung stattfindet, muss das Objekt Infrarotstrahlung abgeben und sich bewegen bzw. seine Position verändern. Eine Person, die durch den Raum geht, löst den Sensor zuverlässig aus, während jemand, der völlig still steht, möglicherweise nicht erkannt wird. Ebenso bleibt ein sich bewegender Roboter oder ein Fahrzeug, das keine nennenswerte Infrarotenergie abgibt, unbemerkt.
Das obige Video zeigt, wie der HC-SR501-Bewegungssensor in Echtzeit auf Bewegungen reagiert.
Erkennen der Anwesenheit von Menschen
Der HC-SR501 schließt aus Bewegung auf die Anwesenheit von Menschen, anstatt eine Person direkt zu erkennen. Wenn der Sensor eine Bewegung wahrnimmt, können Sie davon ausgehen, dass jemand anwesend ist; wenn die Bewegung aufhört, hat die Person den Raum möglicherweise verlassen oder nur kurz innegehalten.
Dieser indirekte Ansatz hat eine praktische Einschränkung: Eine Person, die anwesend ist, sich aber völlig ruhig verhält, wird nicht erkannt, was in manchen Situationen zu falsch-negativen Ergebnissen führen kann. Trotzdem ist der Sensor sehr effektiv für automatische Beleuchtung, Sicherheitsalarme und Energiespargeräte, bei denen aktive Bewegung der entscheidende Auslöser ist.
ESP32 S3 und HC-SR501 Bewegungssensor
Durch den Anschluss des HC-SR501 an den ESP32 S3 erhalten Sie ein einfaches, aber leistungsstarkes System zur Bewegungserkennung. Der ESP32 S3 liest den digitalen OUTPUT-Pin des Sensors aus und kann darauf reagieren, indem er Lichter steuert, Alarme auslöst, Ereignisse protokolliert oder drahtlose Benachrichtigungen sendet — alles auf einer einzigen kompakten Platine.
Verdrahtungsdiagramm
Verbinden Sie den HC-SR501-Bewegungssensor wie im folgenden Diagramm gezeigt mit Ihrem ESP32 S3. Der Sensor benötigt für einen zuverlässigen Betrieb eine 5V-Versorgung, verwenden Sie daher die 5V-Schiene des ESP32 S3 und nicht die 3,3V-Schiene.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Sicherheitshinweise
Versorgen Sie den HC-SR501 immer über den 5V-Pin des ESP32 S3, niemals über 3,3V, da eine unzureichende Versorgungsspannung zu unregelmäßiger oder gar keiner Erkennung führt. Das OUTPUT-Signal des Sensors ist für die GPIO-Pins des ESP32 S3 unbedenklich, da die Ausgangsspannung des Sensors mit den Eingangsschwellen kompatibel ist. Halten Sie den Sensor beim Testen von Heizungsauslässen und direktem Sonnenlicht fern, da starke Infrarotquellen in der Umgebung Fehlauslösungen verursachen können.
| HC-SR501 Pin | ESP32 S3 Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| OUTPUT | GPIO19 |
Anfängliche Sensoreinstellungen
Bevor Sie den HC-SR501 verwenden, konfigurieren Sie diese Einstellungen für eine optimale Leistung.

| Einstellung | Konfiguration |
|---|---|
| Einsteller für die Erfassungsreichweite | Vollständig im Uhrzeigersinn drehen (minimale Reichweite zum Testen) |
| Einsteller für die Zeitverzögerung | Vollständig gegen den Uhrzeigersinn drehen (minimale Verzögerung) |
| Wahlschalter für die Wiederholungsauslösung | Jumper wie im obigen Bild gezeigt setzen |
Wie man den Bewegungssensor programmiert
Um den ESP32 S3 zum Auslesen des HC-SR501 zu programmieren, sind nur wenige Zeilen Arduino-Code nötig. Die Grundidee besteht darin, den vorherigen Zustand des Sensorpins zu speichern und ihn bei jedem Schleifendurchlauf mit dem aktuellen Zustand zu vergleichen, sodass Sie den genauen Moment erkennen können, in dem eine Bewegung beginnt oder endet.
Schritt 1: ESP32 S3 Pin als Eingang konfigurieren
Schritt 2: Den Ausgangszustand des Sensors auslesen
Schritt 3: Beginn einer Bewegung erkennen (LOW zu HIGH)
Schritt 4: Ende einer Bewegung erkennen (HIGH zu LOW)
ESP32 S3 Code
Der folgende Code überwacht den HC-SR501-Bewegungssensor und meldet jeden Beginn und jedes Ende einer Bewegung an den Seriellen Monitor. Er konfiguriert Pin D5 als digitalen Eingang, verfolgt kontinuierlich die Zustandswechsel von LOW zu HIGH und zurück und gibt für jedes Ereignis eine beschreibende Meldung aus — so erhalten Sie ein übersichtliches Echtzeitprotokoll der Aktivität vor dem Sensor.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Wählen Sie Ihr ESP32 S3 Board im Menü Tools > Board aus.
- Verbinden Sie Ihren ESP32 S3 über USB Type-C mit Ihrem Computer.
- Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code hochzuladen.
- Öffnen Sie den Seriellen Monitor, indem Sie auf das entsprechende Symbol klicken oder Strg+Umschalt+M drücken.
- Stellen Sie die Baudrate im Dropdown-Menü des Seriellen Monitors auf 115200 ein.
- Bewegen Sie Ihre Hand vor dem HC-SR501-Sensor und beobachten Sie die Ausgabe.
- Profi-Tipp: Beginnen Sie mit den Potentiometern auf minimaler Empfindlichkeit und Verzögerung und erhöhen Sie diese dann schrittweise, um Erfassungsreichweite und Zeitverhalten passend für Ihre Umgebung einzustellen.
Ausgabe im Seriellen Monitor
Wenn Sie sich vor dem Sensor bewegen, sehen Sie eine Ausgabe ähnlich der folgenden:
Projektideen
Der HC-SR501 in Kombination mit dem ESP32 S3 eröffnet eine breite Palette praktischer Anwendungen, von einfacher Automatisierung bis hin zu vernetzten Smart-Home-Systemen.
- Automatische Raumbeleuchtung: Schalten Sie das Licht ein, wenn eine Bewegung erkannt wird, und automatisch wieder aus, sobald im Raum Ruhe herrscht.
- Sicherheitsalarmsystem: Senden Sie Push-Benachrichtigungen oder lösen Sie einen Summer-Alarm aus, wenn ein Eindringling erkannt wird.
- Energiesparer: Schalten Sie Displays oder Geräte automatisch ab, wenn sich niemand im Raum befindet.
- Intelligenter Futterautomat: Erkennen Sie, wenn sich Ihr Haustier der Futterstelle nähert, und geben Sie bei Bedarf Futter aus.
- Besucherzähler: Protokollieren Sie die Anzahl der Personen, die im Laufe der Zeit einen Raum oder ein Gebäude betreten.
- Halloween-Requisiten: Lösen Sie gruselige Geräusche oder bewegliche Dekorationen aus, wenn sich jemand nähert.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.
Fordern Sie sich heraus
Sobald Ihr Bewegungssensor funktioniert, probieren Sie diese Herausforderungen aus, um Ihre ESP32 S3 Kenntnisse weiter auszubauen — beginnend mit einsteigerfreundlichen Erweiterungen bis hin zu fortgeschrittenen vernetzten Funktionen.
- Einsteiger: Fügen Sie eine LED hinzu, die sich einschaltet, wenn eine Bewegung erkannt wird, und ausschaltet, wenn die Bewegung endet.
- Einsteiger: Zählen Sie die Gesamtzahl der erkannten Bewegungsereignisse seit dem Einschalten der Platine und zeigen Sie sie an.
- Fortgeschritten: Fügen Sie einen Summer hinzu, der bei jeder erkannten Bewegung 3 Sekunden lang einen Alarm ertönen lässt.
- Fortgeschritten: Verwenden Sie den Sensor, um ein Relais zu steuern, das eine Schreibtischlampe ein- und ausschaltet.
- Experte: Kombinieren Sie den Bewegungssensor mit einem OLED-Display, um den Zeitstempel der letzten Erkennung anzuzeigen.
- Experte: Erstellen Sie ein intelligentes Sicherheitssystem, das E-Mail-Benachrichtigungen sendet, wenn außerhalb festgelegter Zeiten eine Bewegung erkannt wird.