ESP32 S3 - Bewegungssensor - LED
Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 S3 zusammen mit einem HC-SR501-PIR-Bewegungssensor verwenden, um eine LED automatisch anhand erkannter Bewegungen zu steuern. Indem Sie einen passiven Infrarotsensor an einen GPIO-Eingang und eine LED an einen GPIO-Ausgang anschließen, erhalten Sie ein praktisches Verständnis dafür, wie man mit dem ESP32 S3 auf reale Bewegungsereignisse mit einer optischen Anzeige reagiert.
Was Sie bauen werden:
- Eine Schaltung, die einen HC-SR501-PIR-Bewegungssensor und eine LED mit dem ESP32 S3 verbindet
- Einen Sketch, der den Ausgangspin des Bewegungssensors am ESP32 S3 kontinuierlich ausliest
- Ein System, das die LED automatisch einschaltet, wenn eine Bewegung erkannt wird, und ausschaltet, wenn keine Bewegung vorhanden ist
- Eine Grundlage für bewegungsaktivierte Alarme, automatische Beleuchtungssysteme und Anwesenheitserkennungsprojekte
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) |
Kaufhinweis: Um den Verdrahtungsprozess zu vereinfachen, empfehlen wir die Verwendung des LED Module, das mit einem eingebauten Widerstand geliefert wird.
Überblick über LED and Motion Sensor
Der PIR-Bewegungssensor HC-SR501 und eine LED sind eine effektive Kombination für Bewegungserkennungsprojekte mit dem ESP32 S3. Der Sensor erkennt Änderungen der Infrarotstrahlung, die durch eine Person oder ein Tier verursacht werden, das sich in seinem Sichtfeld bewegt, und gibt ein HIGH-Signal an seinem Datenpin aus. Der ESP32 S3 liest dieses Signal und schaltet die LED über einen digitalen GPIO-Ausgang ein oder aus.
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 Bewegungssensor und die LED gemäß dem folgenden Diagramm mit Ihrem ESP32 S3. Überprüfen Sie alle Verbindungen, bevor Sie die Stromversorgung einschalten, und achten Sie besonders auf die Polarität der LED und die Position des 220-Ohm-Vorwiderstands.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Lieber ein Steckbrett? Stecken Sie die LED und ihren 220-Ohm-Widerstand auf ein Steckbrett und verdrahten Sie sie so:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie diese Schaltung behalten möchten, denken Sie an Schraubklemmen. Der ESP32 S3 passt auf ein Schraubklemmen-Board für ESP32 S3, das jeden Pin zu einer Schraubklemme macht. Die Verdrahtung bleibt gleich. Nur gehen die Kabel jetzt zu den Schraubklemmen, wie unten gezeigt.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Eine andere Möglichkeit ist ein GPIO-Breakout-Board für ESP32 S3. Jeder GPIO hat einen Signal-Pin mit einem 3,3V- und einem GND-Pin daneben, wie unten gezeigt:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Sicherheitshinweise
Schalten Sie immer den 220-Ohm-Vorwiderstand in Reihe mit der LED, um zu vermeiden, dass zu viel Strom durch den GPIO-Pin des ESP32 S3 fließt, was den Mikrocontroller dauerhaft beschädigen kann. Der Bewegungssensor HC-SR501 benötigt an seinem VCC-Pin eine Versorgungsspannung zwischen 5 V und 20 V; verwenden Sie den 5-V-Ausgangspin der ESP32 S3-Platine zur Versorgung des Sensors, während die Signalleitung des Sensors auf einem Pegel bleibt, der mit dem 3,3-V-GPIO-Eingang des ESP32 S3 kompatibel ist.
Grundeinstellung
| Einsteller für Erkennungsbereich | Drehen Sie ihn vollständig im Uhrzeigersinn. |
| Einsteller für Verzögerungszeit | Drehen Sie ihn vollständig gegen den Uhrzeigersinn. |
| Wahlschalter für wiederholte Auslösung | Setzen Sie den Jumper wie im folgenden Bild. |

ESP32 S3-Code
Der folgende Code liest den Ausgangspin des HC-SR501-Bewegungssensors am ESP32 S3 und schaltet die LED sofort ein, wenn eine Bewegung erkannt wird. Sobald der Sensorausgang wieder auf LOW geht, wird die LED ausgeschaltet. Der Zeitverzögerungs-Trimmer auf dem Sensor bestimmt, wie lange der Ausgang nach einer erkannten Bewegung HIGH bleibt. Sie können also diese Hardware-Einstellung ändern, um die Leuchtdauer der LED anzupassen, ohne den Code zu verändern.
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 Bewegungssensor.
- Beobachten Sie, wie die LED angeht, wenn eine Bewegung erkannt wird.
- Bleiben Sie still und beobachten Sie, wie die LED ausgeht, nachdem die Verzögerungszeit des Sensors abgelaufen ist.
- Prüfen Sie den Seriellen Monitor, um den aktuellen Bewegungszustand in Echtzeit zu sehen.
- Profi-Tipp: Stellen Sie die beiden Trimmer auf dem HC-SR501 ein — der Empfindlichkeits-Trimmer legt den Erkennungsbereich fest (bis etwa 7 Meter) und der Zeitverzögerungs-Trimmer legt fest, wie lange der Ausgang nach dem Ende der Bewegung HIGH bleibt. Passen Sie beide an Ihre konkrete Einbauumgebung an, bevor Sie Ihr Projekt fertigstellen.
Ausgabe im Seriellen Monitor
Die folgende Ausgabe im Seriellen Monitor zeigt, wie der ESP32 S3 die Bewegungsdaten des HC-SR501-Sensors in Echtzeit liest. Jede Zeile zeigt den aktuellen Bewegungszustand und den entsprechenden LED-Zustand, der durch den Sensorausgang ausgelöst wurde.
Anwendungen und Projektideen
Sobald Sie eine LED mit einem Bewegungssensor am ESP32 S3 auslösen können, lässt sich dieses Muster auf eine Vielzahl bewegungsaktivierter Projekte und Anwesenheitserkennungsprojekte erweitern.
- Automatische Raumbeleuchtung: Schalten Sie ein relaisgesteuertes Licht ein, wenn jemand einen Raum betritt, und automatisch wieder aus, nachdem die Verzögerungszeit abgelaufen ist.
- Sicherheitsalarmsystem: Ersetzen Sie die LED durch einen Piezo-Summer oder eine per Relais angeschlossene Sirene, um einen akustischen Alarm auszulösen, sobald in einem gesperrten Bereich eine Bewegung erkannt wird.
- Bewegungsaktivierte Kamera: Verwenden Sie das Bewegungserkennungssignal, um ein Kameramodul auszulösen oder eine Benachrichtigung zu senden und Bilder aufzunehmen, wenn eine Anwesenheit erkannt wird.
- Energiesparendes Display: Wecken Sie ein OLED- oder LCD-Display nur dann aus dem Ruhezustand, wenn sich jemand dem Gerät nähert, und sparen Sie so bei batteriebetriebenen Projekten Strom.
- Haustier-Aktivitätsmonitor: Verfolgen Sie, wann und wie oft sich ein Haustier durch einen bestimmten Bereich bewegt, indem Sie Bewegungsereignisse mit Zeitstempel auf einer SD-Karte protokollieren.
- Intelligente Türklingel: Erkennen Sie, wenn sich jemand der Haustür nähert, und lösen Sie einen Summer aus, senden Sie eine E-Mail-Benachrichtigung oder protokollieren Sie das Ereignis auf einem Webserver.
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 eine LED 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 Bewegungserkennungssysteme zu bauen.
- Einsteiger: Fügen Sie eine Meldung im Seriellen Monitor hinzu, die jedes Mal, wenn eine Bewegung zum ersten Mal erkannt wird, das genaue Datum und die Uhrzeit ausgibt (mit millis() als Zähler), damit Sie die Erkennungsereignisse während einer Sitzung verfolgen können.
- Einsteiger: Fügen Sie eine zweite LED an einem anderen GPIO-Pin hinzu und lassen Sie sie schnell blinken, während die Haupt-LED dauerhaft leuchtet. So erhalten Sie ein eindeutiges optisches Muster, das eine aktive Bewegungserkennung anzeigt.
- Fortgeschritten: Fügen Sie einen Taster hinzu, mit dem der Benutzer die Bewegungserkennung zur Laufzeit aktivieren oder deaktivieren kann, wobei die LED den aktuellen Aktivierungszustand anzeigt, wenn keine Bewegung vorhanden ist.
- Fortgeschritten: Schließen Sie ein I2C-OLED-Display an den ESP32 S3 an und zeigen Sie neben dem aktuellen Erkennungszustand einen Live-Zähler an, wie viele Bewegungsereignisse in der aktuellen Sitzung aufgetreten sind.
- Experte: Senden Sie bei jeder Auslösung des Bewegungssensors eine E-Mail oder eine MQTT-Nachricht an eine Hausautomatisierungsplattform und nutzen Sie dazu die WLAN-Verbindung des ESP32 S3, um Ereignisse aus der Ferne zu melden.
- Experte: Bauen Sie ein Bewegungserkennungssystem mit mehreren Zonen aus zwei HC-SR501-Sensoren an getrennten GPIO-Pins und bestimmen Sie anhand der Kombination ihrer Ausgänge die Bewegungsrichtung im überwachten Bereich.