ESP32 S3 - Bewegungssensor - LED-Streifen
Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 S3 zusammen mit einem HC-SR501-Bewegungssensor verwenden, um einen DotStar-LED-Streifen automatisch anhand der Erkennung von Personen zu steuern. Durch die Kombination von passiver Infrarot-Erfassung mit einem adressierbaren LED-Streifen erhalten Sie ein praktisches Verständnis dafür, wie man mit dem ESP32 S3 Beleuchtungsautomatisierungen baut, die auf reale Bewegungen reagieren.
Was Sie bauen werden:
- Eine Schaltung, die einen HC-SR501-Bewegungssensor und einen DotStar-LED-Streifen mit dem ESP32 S3 verbindet
- Einen Sketch, der den Ausgang des Bewegungssensors kontinuierlich überwacht und die Anwesenheit von Personen erkennt
- Ein System, das den LED-Streifen automatisch einschaltet, wenn eine Bewegung erkannt wird, und ausschaltet, wenn der Bereich frei ist
- Eine Grundlage für Treppenbeleuchtung, Unterbettbeleuchtung und andere anwesenheitsgesteuerte Automatisierungsprojekte
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 LED Strip and Motion Sensor
Der passive Infrarot-Bewegungssensor HC-SR501 und ein DotStar-RGB-LED-Streifen sind eine starke Kombination für anwesenheitsgesteuerte Beleuchtungssysteme mit dem ESP32 S3. Der Sensor erkennt Änderungen der Infrarotstrahlung, die durch menschliche Bewegung verursacht werden, und gibt ein digitales HIGH-Signal an den ESP32 S3 aus. Dieser steuert dann den LED-Streifen über eine spezielle SPI-basierte Bibliothek an, um lebendige, steuerbare Lichteffekte zu erzeugen. Sie können wahlweise NeoPixel-, WS2812B- oder DotStar-LED-Streifen verwenden; dieses Tutorial nutzt den DotStar-Streifen wegen der einfachen Verdrahtung. Die Anpassung des Codes an andere Streifentypen wird in den unten aufgeführten Tutorials zu den einzelnen Komponenten behandelt.
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 den DotStar-LED-Streifen gemäß dem folgenden Diagramm mit Ihrem ESP32 S3. Der LED-Streifen benötigt eine separate 5-V-Stromversorgung über eine DC-Buchse — versuchen Sie nicht, ihn direkt über den Spannungsregler des ESP32 S3 zu versorgen, da der Streifen mehr Strom zieht, als die Platine sicher liefern kann.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Grundeinstellung
Stellen Sie vor der Montage des Sensors die Einsteller wie unten gezeigt ein, um einen zuverlässigen Erkennungsbereich und ein passendes Zeitverhalten für die Innenbeleuchtungsautomatisierung sicherzustellen.
| Einsteller für Verzögerungszeit | Drehen Sie ihn vollständig gegen den Uhrzeigersinn. |
| Einsteller für Erkennungsbereich | Drehen Sie ihn vollständig im Uhrzeigersinn. |
| Wahlschalter für wiederholte Auslösung | Setzen Sie den Jumper wie im Bild gezeigt. |

Sicherheitshinweise
Versorgen Sie den DotStar-LED-Streifen immer über ein externes 5-V-Netzteil über die DC-Buchse und verbinden Sie nur die Daten- und Taktleitungen mit den GPIO-Pins des ESP32 S3. Die Stromversorgung des Streifens und der ESP32 S3 müssen eine gemeinsame Masse (GND) haben. Der Sensor HC-SR501 arbeitet mit einer Versorgungsspannung von 5 V bis 12 V; verwenden Sie den 5-V-Ausgangspin der ESP32 S3-Platine für VCC des Sensors und verbinden Sie den Signalausgang des Sensors direkt ohne Pegelwandler mit einem 3,3-V-kompatiblen GPIO-Pin des ESP32 S3, da der Ausgang des Sensors sicher im Eingangsbereich des ESP32 S3 liegt.
| Komponente | Pin | ESP32 S3-Pin |
|---|---|---|
| Bewegungssensor | VCC | 5V |
| Bewegungssensor | GND | GND |
| Bewegungssensor | OUT | GPIO6 |
| DotStar-LED-Streifen | 5V | Externe 5-V-Stromversorgung |
| DotStar-LED-Streifen | GND | GND (gemeinsam) |
| DotStar-LED-Streifen | CI (Takt) | GPIO40 |
| DotStar-LED-Streifen | DI (Daten) | GPIO39 |
ESP32 S3-Code
Der folgende Code überwacht den Ausgang des HC-SR501-Bewegungssensors am ESP32 S3 und schaltet den DotStar-LED-Streifen sofort ein, wenn eine Bewegung erkannt wird. Sobald der Sensorausgang wieder auf LOW geht, wird der Streifen ausgeschaltet. Farbe und Helligkeit des Streifens sind als Konstanten am Anfang des Sketches definiert, sodass Sie den Lichteffekt einfach anpassen können, ohne die eigentliche Erkennungslogik zu ändern.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Stellen Sie die Einsteller des Bewegungssensors wie im obigen Abschnitt Grundeinstellung beschrieben ein.
- 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.
- Klicken Sie auf das Symbol Libraries in der linken Leiste der Arduino IDE.
- Suchen Sie nach "Adafruit DotStar" und finden Sie dann die DotStar-Bibliothek von Adafruit.
- Klicken Sie auf die Schaltfläche Install, um die DotStar-Bibliothek zu installieren.
- Search for Adafruit DotStar created by Adafruit and click the Install button.
- Wenn Sie aufgefordert werden, Abhängigkeiten zu installieren, klicken Sie auf Install All.
- 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 und beobachten Sie, wie der LED-Streifen aufleuchtet.
- Bleiben Sie still und warten Sie, bis die Verzögerungszeit des Sensors abgelaufen ist. Beobachten Sie dann, wie der LED-Streifen ausgeht.
- Öffnen Sie den Seriellen Monitor mit 115200 Baud, um die Bewegungserkennungsereignisse in Echtzeit zu sehen.
- Profi-Tipp: Verstellen Sie den Einsteller für die Verzögerungszeit am HC-SR501, um zu ändern, wie lange der LED-Streifen nach der letzten erkannten Bewegung eingeschaltet bleibt — eine Drehung im Uhrzeigersinn verlängert die Haltezeit. Das ist nützlich für Treppen- oder Flurbeleuchtung, bei der das Licht lange genug an bleiben soll, damit eine Person hindurchgehen kann.
Ausgabe im Seriellen Monitor
Die folgende Ausgabe im Seriellen Monitor zeigt, wie der ESP32 S3 die Bewegungserkennungsereignisse des HC-SR501-Sensors in Echtzeit liest. Jede Zeile zeigt den aktuellen Sensorzustand und den entsprechenden Zustand des LED-Streifens, der von der Erkennungslogik ausgelöst wurde.
Anwendungen und Projektideen
Sobald Sie einen LED-Streifen mit einem Bewegungssensor am ESP32 S3 auslösen können, lässt sich dieses Muster auf eine Vielzahl anwesenheitsgesteuerter Projekte und Beleuchtungsautomatisierungen anwenden.
- Treppenbeleuchtung: Montieren Sie Sensoren oben und unten an einer Treppe und aktivieren Sie einen LED-Streifen entlang des Handlaufs, wenn sich eine Person nähert. So erhalten Sie eine sichere Beleuchtung ohne manuelle Schalter.
- Nachtlicht unter dem Bett: Installieren Sie Sensor und LED-Streifen unter einem Bett, sodass das Licht automatisch angeht, wenn die Füße einer Person den Boden berühren — ideal, um sich im Dunkeln sicher zu bewegen.
- Weihnachtsbaum-Beleuchtung: Lösen Sie animierte Lichteffekte des LED-Streifens am Weihnachtsbaum nur aus, wenn Personen im Raum sind, und sparen Sie so Energie, wenn der Raum leer ist.
- Flur- oder Gangautomatisierung: Installieren Sie Sensoren entlang eines Flurs und schalten Sie Abschnitte des LED-Streifens nacheinander ein und aus, während eine Person hindurchgeht. So entsteht ein mitlaufender Lichteffekt.
- Sicherheitsanzeige: Kombinieren Sie die Bewegungserkennung mit einem Farbwechsel des LED-Streifens, um eine sichtbare Warnung zu geben — zum Beispiel, indem der Streifen auf Rot umschaltet, wenn in einem gesperrten Bereich eine unerwartete Bewegung erkannt wird.
- Aufwertung von Verkaufsdisplays: Aktivieren Sie auffällige Effekte des LED-Streifens an einem Produktregal, wenn sich ein Kunde nähert, um Aufmerksamkeit zu erregen, ohne dass die Beleuchtung dauerhaft läuft.
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 einen LED-Streifen 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 anwesenheitsgesteuerte Beleuchtungssysteme zu bauen.
- Einsteiger: Ändern Sie die Farbe des LED-Streifens im Code von Weiß auf eine andere Farbe Ihrer Wahl und beobachten Sie das Ergebnis. Fügen Sie dann eine Meldung im Seriellen Monitor hinzu, die den Namen der aktiven Farbe ausgibt, wenn der Streifen eingeschaltet wird.
- Einsteiger: Verstellen Sie den Einsteller für die Verzögerungszeit am HC-SR501 und beobachten Sie, wie sich die Einschaltdauer des LED-Streifens ändert. Fügen Sie dann der Ausgabe im Seriellen Monitor einen Zeitstempel hinzu, damit Sie die Verzögerung genau messen können.
- Fortgeschritten: Ersetzen Sie die einfarbige Beleuchtung durch einen animierten Lichteffekt — etwa einen Color Wipe oder einen Regenbogenzyklus aus der Bibliothek Adafruit DotStar —, der abgespielt wird, wenn eine Bewegung erkannt wird, und stoppt, wenn der Bereich frei ist.
- Fortgeschritten: Fügen Sie ein I2C-OLED-Display hinzu, das den aktuellen Bewegungszustand und die Anzahl der seit dem Einschalten erkannten Bewegungsereignisse anzeigt. So benötigen Sie für die Statusüberwachung keinen angeschlossenen PC mehr.
- Experte: Nutzen Sie die WLAN-Fähigkeit des ESP32 S3, um eine einfache Webseite bereitzustellen, die den aktuellen Zustand des Bewegungssensors und die gesamte Einschaltdauer des LED-Streifens anzeigt und es Ihnen ermöglicht, den Streifen aus der Ferne über einen Browser ein- oder auszuschalten.
- Experte: Speichern Sie eine konfigurierbare Farbe und Helligkeit des LED-Streifens im nichtflüchtigen Speicher des ESP32 S3 (Bibliothek Preferences), damit die Beleuchtungseinstellungen auch nach dem Aus- und Einschalten erhalten bleiben und über eine einfache Weboberfläche geändert werden können, ohne den Code erneut hochzuladen.