ESP32 S3 - Bewegungssensor - Relais
Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 S3 mit einem HC-SR501-PIR-Bewegungssensor und einem Relaismodul verwenden, um ein Hochspannungsgerät anhand erkannter Bewegungen automatisch ein- und auszuschalten. Am Ende haben Sie eine solide Grundlage für den Bau praxisnaher Automatisierungsprojekte wie bewegungsaktivierte Lampen, Alarme und Sicherheitssysteme mit Ihrem ESP32 S3.
Was Sie bauen werden:
- Eine Schaltung, die einen HC-SR501-Bewegungssensor und ein Relaismodul mit dem ESP32 S3 verbindet
- Einen Sketch, der das Relais aktiviert, wenn eine Bewegung erkannt wird, und es deaktiviert, wenn der Bereich wieder frei ist
- Ein System, das Hochspannungslasten wie Lampen, Sirenen oder Ventilatoren über das Relais schalten kann
- Eine Grundlage für die Erweiterung zu Smart-Home-Automatisierungs- und Sicherheitsprojekten
Wir können dieses Tutorial erweitern, um mit dem Bewegungssensor einen LED-Streifen, eine Sirene, eine Glühbirne oder einen Aktor zu steuern, indem wir diese an das Relais anschließen.
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 Motion Sensor and Relay
Der PIR-Bewegungssensor HC-SR501 und das Relaismodul gehören zu den praktischsten Bausteinen für automatisierte Steuerungsprojekte mit dem ESP32 S3. Der HC-SR501 gibt ein digitales HIGH-Signal aus, sobald er die Bewegung eines warmen Objekts wie einer Person oder eines Tieres erkennt, während das Relais es dem ESP32 S3 ermöglicht, Lasten mit hoher Spannung oder hohem Strom sicher zu schalten, die sonst die GPIO-Pins der Platine direkt beschädigen würden.
Wichtige Spezifikationen
Wir haben eigene Tutorials, die jede Komponente ausführlich behandeln. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Pinbelegung der Hardware, zum Funktionsprinzip, zur Verdrahtung mit dem ESP32 S3 und zum Arduino-Code. Mehr dazu erfahren Sie unter den folgenden Links:
Verdrahtungsdiagramm
Verbinden Sie den HC-SR501-Bewegungssensor und das Relaismodul gemäß dem folgenden Diagramm mit Ihrem ESP32 S3. Der Sensor benötigt für einen zuverlässigen Betrieb eine 5-V-Versorgung. Verwenden Sie daher die 5-V-Schiene des ESP32 S3 und nicht die 3,3-V-Schiene.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Soll die Verkabelung fest an ihrem Platz bleiben? Stecken Sie dazu den ESP32 S3 auf ein Schraubklemmen-Board für ESP32 S3. Unten sehen Sie das Verdrahtungsdiagramm mit dem Schraubklemmen-Board.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Sie können auch ein GPIO-Breakout-Board für ESP32 S3 verwenden. Jeder GPIO hat eigene S-, 3,3V- und GND-Pins, sodass die Modulkabel direkt aufgesteckt werden:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Sicherheitshinweise
Versorgen Sie den HC-SR501 immer über den 5-V-Pin des ESP32 S3 und niemals über 3,3 V, da eine zu geringe Versorgungsspannung zu unzuverlässiger oder gar keiner Erkennung führt. Überprüfen Sie auf der Relaisseite, dass die Klemmen COM und NO (bzw. NC) fest angezogen sind und keine blanken Drähte freiliegen, bevor Sie die Stromversorgung einschalten — halten Sie die Verdrahtung der Hochspannungslast räumlich getrennt von der Niederspannungs-Steuerverdrahtung, um das Risiko einer versehentlichen Berührung zu verringern.
| Komponente | Pin | ESP32 S3-Pin |
|---|---|---|
| HC-SR501 | VCC | 5V |
| HC-SR501 | GND | GND |
| HC-SR501 | OUTPUT | GPIO42 |
| Relais | DC- | GND |
| Relais | DC+ | 5V |
| Relais | IN | GPIO9 |
Grundeinstellungen des Sensors
Konfigurieren Sie vor der Verwendung des HC-SR501 diese Einstellungen, um beim ersten Testen eine optimale Leistung zu erzielen.

| Einstellung | Konfiguration |
|---|---|
| Einsteller für Erkennungsbereich | Vollständig im Uhrzeigersinn drehen (minimaler Bereich zum Testen) |
| Einsteller für Verzögerungszeit | Vollständig gegen den Uhrzeigersinn drehen (minimale Verzögerung) |
| Wahlschalter für wiederholte Auslösung | Jumper wie im obigen Bild gezeigt setzen |
ESP32 S3-Code
Der folgende Code liest den Ausgang des HC-SR501-Bewegungssensors, der mit dem ESP32 S3 verbunden ist, und steuert entsprechend ein Relais — das Relais wird aktiviert, wenn eine Bewegung erkannt wird, und deaktiviert, wenn der Bereich wieder frei ist. Zustandswechsel werden von Schleifendurchlauf zu Schleifendurchlauf verfolgt, sodass das Relais nur auf Änderungen des Bewegungszustands reagiert, anstatt ständig umzuschalten.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Verdrahten Sie die Komponenten gemäß dem oben gezeigten Verdrahtungsdiagramm.
- Verbinden Sie die ESP32 S3-Platine über ein USB-Typ-C-Kabel mit Ihrem PC.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Wählen Sie im Menü Werkzeuge die richtige ESP32 S3-Platine und den COM-Port aus.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Klicken Sie auf die Schaltfläche Upload, um den Code zu kompilieren und auf den ESP32 S3 hochzuladen.

- Bewegen Sie Ihre Hand vor dem HC-SR501-Sensor.
- Beobachten Sie, wie das Relais aktiviert wird (Sie hören ein Klicken), wenn eine Bewegung erkannt wird.
- Hören Sie auf, sich zu bewegen, und beobachten Sie, wie das Relais deaktiviert wird, nachdem die Verzögerungszeit des Sensors abgelaufen ist.
- Profi-Tipp: Öffnen Sie den Seriellen Monitor mit 115200 Baud, um Meldungen zur Bewegungserkennung und zum Relaiszustand in Echtzeit zu sehen — so lassen sich unerwartetes Verhalten viel leichter debuggen und die Potentiometer für Empfindlichkeit und Verzögerung des Sensors feinabstimmen.
Ausgabe im Seriellen Monitor
Die folgende Ausgabe im Seriellen Monitor zeigt, wie der ESP32 S3 in Echtzeit auf das Erkennen und Enden von Bewegungen reagiert. Jede Zeile hat einen Zeitstempel, damit Sie die Zeit zwischen Erkennung und Relaisaktivierung überprüfen können.
Anwendungen und Projektideen
Sobald Sie das bewegungsgesteuerte Schalten eines Relais mit dem ESP32 S3 beherrschen, können Sie dieses Muster auf eine Vielzahl praktischer Automatisierungs- und Smart-Home-Projekte erweitern.
- Automatische Raumbeleuchtung: Schalten Sie eine Lampe oder einen LED-Streifen ein, wenn jemand einen Raum betritt, und automatisch wieder aus, nachdem die Person ihn verlassen hat.
- Bewegungsaktivierter Alarm: Lösen Sie eine 12-V-Sirene oder Warnleuchte aus, wenn der Sensor außerhalb der Geschäftszeiten einen Eindringling erkennt.
- Energiesparsystem fürs Büro: Trennen Sie automatisch die Stromversorgung von Monitoren, Ventilatoren oder Kaffeemaschinen, wenn für eine festgelegte Zeit keine Bewegung erkannt wird.
- Intelligente Treppenbeleuchtung: Schalten Sie die Treppenbeleuchtung ein, wenn jemand die Treppe hinaufsteigt, und kurz nach Erreichen des oberen Endes wieder aus.
- Garagentor-Warnung: Lassen Sie über das Relais einen Summer ertönen, sobald in der Nähe eines Fahrzeugs oder Eingangs eine Bewegung erkannt wird.
- Gewächshausautomatisierung: Schalten Sie einen Lüftungsventilator ein, sobald ein Techniker den Anbaubereich betritt, und sorgen Sie so bei Bedarf für Frischluftzirkulation.
Relais vs. MOSFET-Modul
Ein Relais ist nicht die einzige Möglichkeit, ein Gerät zu schalten. Wenn Ihr Gerät mit Gleichstrom (DC) läuft, zum Beispiel ein 12V-LED-Streifen, ein 12V-Magnetschloss oder ein 12V-Lüfter, kann ein MOSFET-Modul die gleiche Aufgabe übernehmen.
| Relais | MOSFET-Modul | |
|---|---|---|
| Was es kann | Gerät ein- oder ausschalten | Gerät ein- oder ausschalten und die Leistung einstellen (PWM) |
| Geräusch beim Schalten | jedes Mal ein Klicken | kein Geräusch |
| Schaltgeschwindigkeit | langsam, einige Millisekunden | sehr schnell |
| Lebensdauer | die Kontakte verschleißen nach vielen Schaltvorgängen | nichts bewegt sich, daher hält es lange |
| Stromart | AC oder DC | nur DC |
| Stromversorgung des Geräts | jede Spannung, für die das Relais ausgelegt ist | etwa 6V oder mehr |
| Trennung vom ESP32 S3 | ja, zwischen Spule und Kontakten | ja, durch den PC817-Optokoppler |
| Geeignet für | AC-Geräte oder einfaches EIN/AUS | DC-Geräte oder Dimmen und Drehzahlregelung |
Sowohl das Relais als auch das MOSFET-Modul schalten ein, wenn der Pin des ESP32 S3 HIGH ist. Der 3,3V-Pegel des ESP32 S3 reicht völlig aus, weil die LED im PC817-Optokoppler nur wenige Milliampere braucht. Für ein einfaches EIN/AUS bleibt der obige Code also gleich. Nur die Verdrahtung ändert sich. Für Geräte am Wechselstromnetz verwenden Sie immer das Relais.
Pinbelegung, Verdrahtung, PWM-Code und Sicherheitstipps zum MOSFET-Modul finden Sie im Tutorial ESP32 S3 - MOSFET-Modul.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3-Projekt an.
Fordern Sie sich heraus
Nachdem Sie nun ein Relais mit einem Bewegungssensor am ESP32 S3 steuern können, probieren Sie diese zunehmend anspruchsvolleren Erweiterungen aus, um Ihr Verständnis zu vertiefen und leistungsfähigere Projekte zu bauen.
- Einsteiger: Fügen Sie eine LED-Anzeige hinzu, die zusammen mit dem Relais aufleuchtet, damit Sie eine optische Bestätigung der Bewegungserkennung haben, ohne auf das Klicken des Relais achten zu müssen.
- Einsteiger: Ändern Sie den Code so, dass bei jeder neuen Erkennung die Gesamtzahl der Bewegungsereignisse im Seriellen Monitor ausgegeben wird.
- Fortgeschritten: Implementieren Sie eine minimale Einschaltdauer, sodass das Relais nach einer erkannten Bewegung mindestens 10 Sekunden aktiv bleibt, auch wenn der Sensor früher zurückschaltet.
- Fortgeschritten: Fügen Sie einen zweiten HC-SR501-Sensor hinzu, um einen größeren Bereich abzudecken, und aktivieren Sie das Relais, sobald einer der beiden Sensoren eine Bewegung erkennt.
- Experte: Fügen Sie ein Echtzeituhr-Modul hinzu und beschränken Sie die Relaisaktivierung auf bestimmte Uhrzeiten. So entsteht ein zeitgesteuertes, bewegungsaktiviertes Sicherheitssystem.
- Experte: Erweitern Sie das Projekt um WLAN, sodass der ESP32 S3 eine E-Mail oder Push-Benachrichtigung sendet, sobald das Relais durch Bewegung aktiviert wird.