ESP32 S3 - Ultraschallsensor - LED
Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 S3 zusammen mit einem Ultraschallsensor verwenden, um eine LED automatisch abhängig vom Abstand zu einem nahen Objekt zu steuern. Durch die Kombination einer berührungslosen Abstandsmessung mit einer einfachen visuellen Anzeige erhalten Sie ein praktisches Verständnis dafür, wie Sie GPIO-Ausgänge des ESP32 S3 als Reaktion auf reale Sensordaten schalten.
Was Sie bauen werden:
- Eine Schaltung, die einen HC-SR04-Ultraschallsensor und eine LED mit dem ESP32 S3 verbindet
- Einen Sketch, der mit dem Ultraschallsensor kontinuierlich den Abstand zu einem Objekt misst
- Ein System, das die LED automatisch einschaltet, wenn sich ein Objekt innerhalb eines nahen Schwellenabstands befindet
- Eine Grundlage für Näherungsalarme, Anwesenheitsmelder und Projekte zur Hinderniserkennung
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 Ultrasonic Sensor
Der HC-SR04-Ultraschallsensor und eine LED sind eine wirkungsvolle Kombination für Projekte zur Näherungserkennung mit dem ESP32 S3. Der Sensor sendet einen Ultraschallimpuls aus und misst die Zeit, bis dieser von einem nahen Objekt reflektiert wird. Der ESP32 S3 rechnet diesen Zeitwert in einen Abstand um, mit dem die LED dann über einen digitalen GPIO-Ausgang ein- oder ausgeschaltet wird.
Wichtige Spezifikationen
Wir haben eigene Tutorials, die jede Komponente ausführlich behandeln. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zu Pinbelegung, Funktionsprinzip, Verdrahtung mit dem ESP32 S3 und Arduino-Code. Mehr erfahren Sie unter den folgenden Links:
Verdrahtungsdiagramm
Verbinden Sie den Ultraschallsensor und die LED gemäß dem folgenden Schaltplan mit Ihrem ESP32 S3. Prüfen Sie alle Verbindungen, bevor Sie die Stromversorgung anlegen, 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.
Sie können die LED und den 220-Ohm-Widerstand auch auf ein Steckbrett stecken. Hier ist dieselbe Schaltung auf einem halben Steckbrett:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Für ein dauerhaftes Projekt halten Schraubklemmen die Kabel besser als Jumperkabel. Der ESP32 S3 passt auf ein Schraubklemmen-Board für ESP32 S3, das jeden Pin zu einer Schraubklemme macht. Das Diagramm unten zeigt die Version mit Schraubklemmen.

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, damit kein zu hoher Strom durch den GPIO-Pin des ESP32 S3 fließt, was den Mikrocontroller dauerhaft beschädigen kann. Der HC-SR04-Ultraschallsensor arbeitet mit 5V an seinem VCC-Pin. Wenn Ihr ESP32-S3-Board einen 5V-Ausgangspin hat, verwenden Sie ihn für VCC des Sensors und halten Sie alle Signalleitungen (Trig und Echo) auf dem 3,3V-Logikpegel, den die GPIO-Pins des ESP32 S3 erwarten.
| Komponente | Pin | ESP32 S3 Pin |
|---|---|---|
| Ultraschallsensor | VCC | 5V |
| Ultraschallsensor | GND | GND |
| Ultraschallsensor | Trig | GPIO8 |
| Ultraschallsensor | Echo | GPIO9 |
| LED | Anode (+) | GPIO38 (über 220Ω-Widerstand) |
| LED | Kathode (-) | GND |
ESP32 S3 Code
Der folgende Code löst am ESP32 S3 einen Ultraschallimpuls aus, misst die Laufzeit des Echos, rechnet sie in einen Abstand in Zentimetern um und schaltet die LED ein, wenn der gemessene Abstand unter einen festgelegten Schwellenwert fällt. Der Schwellenwert kann direkt im Code angepasst werden, um unterschiedliche Anforderungen an die Näherungserkennung zu erfüllen.
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 Schaltplan.
- Verbinden Sie das ESP32-S3-Board über ein USB-Typ-C-Kabel mit Ihrem PC.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Wählen Sie im Menü Werkzeuge das richtige ESP32-S3-Board 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.

- Öffnen Sie den Seriellen Monitor mit 115200 Baud.
- Bewegen Sie Ihre Hand zum Ultraschallsensor hin und beobachten Sie, wie die LED angeht.
- Bewegen Sie Ihre Hand vom Sensor weg und beobachten Sie, wie die LED ausgeht.
- Sehen Sie im Seriellen Monitor die aktuellen Abstandswerte in Echtzeit.
- Profi-Tipp: Passen Sie den Abstandsschwellenwert im Code an, um die Empfindlichkeit der Erkennung fein einzustellen — ein niedrigerer Schwellenwert schaltet die LED nur bei sehr nahen Objekten ein, ein höherer Wert bereits aus größerer Entfernung, was für verschiedene Näherungsalarm-Szenarien nützlich ist.
Ausgabe im Seriellen Monitor
Die folgende Ausgabe im Seriellen Monitor zeigt, wie der ESP32 S3 die Abstandsdaten des Ultraschallsensors in Echtzeit liest. Jede Zeile zeigt den aktuell gemessenen Abstand und den zugehörigen LED-Zustand, der durch den Näherungsschwellenwert ausgelöst wird.
Anwendungen und Projektideen
Sobald Sie mit dem ESP32 S3 eine LED anhand eines Ultraschall-Abstandswerts schalten können, lässt sich dieses Muster auf viele näherungsabhängige Projekte übertragen.
- Einparkhilfe: Montieren Sie den Sensor in einer Garage und lassen Sie einen LED-Streifen leuchten, wenn ein Fahrzeug die sichere Haltezone erreicht.
- Roboter mit Hindernisvermeidung: Lösen Sie einen Motorstopp oder Richtungswechsel aus, wenn der Sensor eine Wand oder ein Objekt innerhalb eines festgelegten Abstands erkennt.
- Berührungsloser Desinfektionsmittelspender: Aktivieren Sie ein Pumpenrelais, wenn eine Hand wenige Zentimeter vor der Sensordüse erkannt wird.
- Sicherheits-Näherungsalarm: Lassen Sie statt einer LED einen Piezo-Summer ertönen, wenn jemand einen gesperrten Bereich betritt.
- Füllstandsüberwachung: Montieren Sie den Sensor über einem Tank, um zu erkennen, wenn der Flüssigkeitsstand unter einen kritischen Punkt fällt, und lösen Sie eine Nachfüllpumpe aus.
- Automatische Treppenbeleuchtung: Verwenden Sie mehrere Sensoren entlang einer Treppe, um LED-Streifen ein- und auszuschalten, während eine Person hinauf- oder hinuntergeht.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung zu diesem ESP32-S3-Projekt an.
Fordern Sie sich selbst heraus
Da Sie nun mit einem Ultraschallsensor am ESP32 S3 eine LED steuern können, probieren Sie diese zunehmend anspruchsvollen Erweiterungen aus, um Ihr Verständnis zu vertiefen und leistungsfähigere Systeme zur Näherungserkennung zu bauen.
- Anfänger: Ändern Sie den Schwellenabstand im Code und beobachten Sie, wie sich der Punkt ändert, an dem die LED einschaltet. Geben Sie dann eine Meldung im Seriellen Monitor aus, die bestätigt, welcher Schwellenwert aktiv ist.
- Anfänger: Schließen Sie eine zweite LED an einen anderen GPIO-Pin an und lassen Sie sie bei einem anderen (weiteren) Schwellenwert leuchten, sodass Sie zwei Näherungszonen mit getrennten Anzeigen haben.
- Fortgeschritten: Ersetzen Sie das einfache Ein/Aus-Verhalten der LED durch eine PWM-Helligkeitssteuerung, sodass die LED allmählich heller wird, wenn sich das Objekt nähert, und dunkler, wenn es sich entfernt.
- Fortgeschritten: Fügen Sie ein I2C-OLED-Display hinzu, das den aktuellen Abstand und den LED-Zustand formatiert anzeigt, sodass Sie den Seriellen Monitor nicht mehr benötigen.
- Experte: Speichern Sie einen einstellbaren Schwellenwert im nichtflüchtigen Speicher des ESP32 S3 (Preferences-Bibliothek), damit die Einstellung auch nach dem Aus- und Einschalten erhalten bleibt, ohne den Code erneut hochzuladen.
- Experte: Übertragen Sie die Abstandswerte per WiFi an eine einfache Webseite, die der ESP32 S3 bereitstellt, und steuern Sie den Erkennungsschwellenwert aus der Ferne über einen Schieberegler im Browser.