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:

  1. Eine Schaltung, die einen HC-SR501-Bewegungssensor und ein Relaismodul mit dem ESP32 S3 verbindet
  2. Einen Sketch, der das Relais aktiviert, wenn eine Bewegung erkannt wird, und es deaktiviert, wenn der Bereich wieder frei ist
  3. Ein System, das Hochspannungslasten wie Lampen, Sirenen oder Ventilatoren über das Relais schalten kann
  4. 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.

Ü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.

ESP32 S3 Bewegungssensor Relais Verdrahtungsdiagramm

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.

ESP32 S3 Bewegungssensor Relais Verdrahtungsdiagramm (Screw Terminal)

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:

ESP32 S3 Bewegungssensor Relais Verdrahtungsdiagramm (GPIO Breakout Board)

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.

ESP32 S3 Bewegungssensor Grundeinstellung
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.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-s3/esp32-s3-motion-sensor-relay */ // MotionSensorRelay.cpp // ESP32-S3 - Motion sensor (HC-SR501) controls a relay // Wiring: HC-SR501 OUTPUT -> GPIO42, Relay IN -> GPIO9 #define SENSOR_PIN 42 // HC-SR501 OUTPUT (was D5) #define RELAY_PIN 9 // Relay IN (was D7) int lastState = LOW; void setup() { Serial.begin(115200); pinMode(SENSOR_PIN, INPUT); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // Ensure relay is off delay(100); Serial.println("[INFO] MotionSensorRelay initialized."); } void loop() { int state = digitalRead(SENSOR_PIN); if (state != lastState) { if (state == HIGH) { digitalWrite(RELAY_PIN, HIGH); // Turn relay on Serial.println("[INFO] Motion detected - Relay: ON"); } else { digitalWrite(RELAY_PIN, LOW); // Turn relay off Serial.println("[INFO] Motion stopped - Relay: OFF"); } lastState = state; } delay(50); }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Verdrahten Sie die Komponenten gemäß dem oben gezeigten Verdrahtungsdiagramm.
  3. Verbinden Sie die ESP32 S3-Platine über ein USB-Typ-C-Kabel mit Ihrem PC.
  4. Öffnen Sie die Arduino IDE auf Ihrem PC.
  5. Wählen Sie im Menü Werkzeuge die richtige ESP32 S3-Platine und den COM-Port aus.
  6. Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  7. Klicken Sie auf die Schaltfläche Upload, um den Code zu kompilieren und auf den ESP32 S3 hochzuladen.
Arduino IDE Code hochladen
  1. Bewegen Sie Ihre Hand vor dem HC-SR501-Sensor.
  2. Beobachten Sie, wie das Relais aktiviert wird (Sie hören ein Klicken), wenn eine Bewegung erkannt wird.
  3. Hören Sie auf, sich zu bewegen, und beobachten Sie, wie das Relais deaktiviert wird, nachdem die Verzögerungszeit des Sensors abgelaufen ist.
  4. 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.

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-06-16 09:14:22] Motion detected - Relay: ON [2026-06-16 09:14:30] Motion stopped - Relay: OFF [2026-06-16 09:14:45] Motion detected - Relay: ON [2026-06-16 09:14:53] Motion stopped - Relay: OFF
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

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.

  1. 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.
  2. Bewegungsaktivierter Alarm: Lösen Sie eine 12-V-Sirene oder Warnleuchte aus, wenn der Sensor außerhalb der Geschäftszeiten einen Eindringling erkennt.
  3. 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.
  4. Intelligente Treppenbeleuchtung: Schalten Sie die Treppenbeleuchtung ein, wenn jemand die Treppe hinaufsteigt, und kurz nach Erreichen des oberen Endes wieder aus.
  5. Garagentor-Warnung: Lassen Sie über das Relais einen Summer ertönen, sobald in der Nähe eines Fahrzeugs oder Eingangs eine Bewegung erkannt wird.
  6. 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.

  1. 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.
  2. Einsteiger: Ändern Sie den Code so, dass bei jeder neuen Erkennung die Gesamtzahl der Bewegungsereignisse im Seriellen Monitor ausgegeben wird.
  3. 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.
  4. 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.
  5. Experte: Fügen Sie ein Echtzeituhr-Modul hinzu und beschränken Sie die Relaisaktivierung auf bestimmte Uhrzeiten. So entsteht ein zeitgesteuertes, bewegungsaktiviertes Sicherheitssystem.
  6. 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.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!