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:

  1. Eine Schaltung, die einen HC-SR04-Ultraschallsensor und eine LED mit dem ESP32 S3 verbindet
  2. Einen Sketch, der mit dem Ultraschallsensor kontinuierlich den Abstand zu einem Objekt misst
  3. Ein System, das die LED automatisch einschaltet, wenn sich ein Objekt innerhalb eines nahen Schwellenabstands befindet
  4. Eine Grundlage für Näherungsalarme, Anwesenheitsmelder und Projekte zur Hinderniserkennung

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Ultraschallsensor
1×LED Kit
1×LED (red)
1×LED Module
1×(Alternativ) Button and LED Kit
1×220Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

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.

ESP32 S3 Ultraschallsensor LED Schaltplan

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:

ESP32 S3 Ultraschallsensor LED Schaltplan (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.

ESP32 S3 Ultraschallsensor LED Schaltplan (Screw Terminal)

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:

ESP32 S3 Ultraschallsensor LED Schaltplan (GPIO Breakout Board)

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.

/* * 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-ultrasonic-sensor-led */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-ultrasonic-sensor-led */ #define TRIG_PIN 8 // ESP32-S3 pin GPIO8 connected to Ultrasonic Sensor's TRIG pin #define ECHO_PIN 9 // ESP32-S3 pin GPIO9 connected to Ultrasonic Sensor's ECHO pin #define LED_PIN 38 // ESP32-S3 pin GPIO38 connected to LED's pin #define DISTANCE_THRESHOLD 50 // centimeters // variables will change: float duration_us, distance_cm; void setup() { Serial.begin (115200); // initialize serial port pinMode(TRIG_PIN, OUTPUT); // set ESP32-S3 pin to output mode pinMode(ECHO_PIN, INPUT); // set ESP32-S3 pin to input mode pinMode(LED_PIN, OUTPUT); // set ESP32-S3 pin to output mode } void loop() { // generate 10-microsecond pulse to TRIG pin digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // measure duration of pulse from ECHO pin duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance distance_cm = 0.017 * duration_us; if (distance_cm < DISTANCE_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED // print the value to Serial Monitor Serial.print("distance: "); Serial.print(distance_cm); Serial.println(" cm"); delay(500); }

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 Schaltplan.
  3. Verbinden Sie das ESP32-S3-Board ü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 das richtige ESP32-S3-Board 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. Öffnen Sie den Seriellen Monitor mit 115200 Baud.
  2. Bewegen Sie Ihre Hand zum Ultraschallsensor hin und beobachten Sie, wie die LED angeht.
  3. Bewegen Sie Ihre Hand vom Sensor weg und beobachten Sie, wie die LED ausgeht.
  4. Sehen Sie im Seriellen Monitor die aktuellen Abstandswerte in Echtzeit.
  5. 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.

∞
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 10:22:01] Distance: 85 cm | LED: OFF [2026-06-16 10:22:02] Distance: 42 cm | LED: OFF [2026-06-16 10:22:03] Distance: 18 cm | LED: ON [2026-06-16 10:22:04] Distance: 9 cm | LED: ON
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

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.

  1. Einparkhilfe: Montieren Sie den Sensor in einer Garage und lassen Sie einen LED-Streifen leuchten, wenn ein Fahrzeug die sichere Haltezone erreicht.
  2. Roboter mit Hindernisvermeidung: Lösen Sie einen Motorstopp oder Richtungswechsel aus, wenn der Sensor eine Wand oder ein Objekt innerhalb eines festgelegten Abstands erkennt.
  3. Berührungsloser Desinfektionsmittelspender: Aktivieren Sie ein Pumpenrelais, wenn eine Hand wenige Zentimeter vor der Sensordüse erkannt wird.
  4. Sicherheits-Näherungsalarm: Lassen Sie statt einer LED einen Piezo-Summer ertönen, wenn jemand einen gesperrten Bereich betritt.
  5. 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.
  6. 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

※ 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!