ESP32 S3 - Ultraschallsensor - LCD
Der HC-SR04-Ultraschallsensor in Kombination mit einem LCD-I2C-Display macht den ESP32 S3 zu einer eigenständigen Entfernungsmessstation – nach dem Hochladen des Sketches wird kein Laptop mehr benötigt. Dieses Tutorial führt Sie durch die Verdrahtung beider Komponenten mit dem ESP32 S3 und das Schreiben des Arduino-Codes, der Messungen durchführt und sie in Echtzeit auf dem Bildschirm ausgibt.
Was Sie bauen werden:
- Eine Schaltung, die einen HC-SR04-Ultraschallsensor und ein LCD-I2C-Display mit dem ESP32 S3 verbindet
- Einen Sketch, der den Sensor auslöst, die Entfernung berechnet und das LCD alle 500 Millisekunden aktualisiert
- Ein tragbares, eigenständiges Entfernungsmessgerät, das Messwerte ohne Seriellen Monitor anzeigt
- Eine Grundlage, die Sie zu Näherungsalarmen, Einparkhilfen oder Füllstandsüberwachungen erweitern können
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: Die meisten LCD I2C-Displays auf dem Markt sind 5V-Displays. Sie funktionieren möglicherweise mit diesem Board, aber das ist nicht sicher und kann das Board beschädigen. Wir empfehlen dringend, das oben empfohlene 3.3V LCD I2C-Display zu verwenden.
Überblick über Ultrasonic Sensor and LCD
Der HC-SR04-Ultraschallsensor sendet einen hochfrequenten Schallimpuls aus und misst, wie lange das Echo zur Rückkehr braucht, sodass der ESP32 S3 die Entfernung zu jedem Objekt vor dem Sensor ohne physischen Kontakt berechnen kann. In Verbindung mit einem LCD-I2C-Display wird das Ergebnis zu einer ständig aktualisierten Anzeige, die auf einen Blick ablesbar ist – ideal für eigenständige Messgeräte und interaktive Ausstellungsstücke.
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 Hardware-Pinbelegung, Funktionsprinzip, Verdrahtung mit dem ESP32 S3 und Arduino-Code. Mehr dazu erfahren Sie unter den folgenden Links:
Verdrahtungsdiagramm
Schließen Sie den HC-SR04 und das LCD-I2C-Display gemäß dem folgenden Schaltplan an Ihren ESP32 S3 an und überprüfen Sie jede Verbindung, bevor Sie die Platine mit Strom versorgen. Sowohl der Ultraschallsensor als auch das LCD arbeiten mit 5 V, verwenden Sie daher bei Versorgung über USB den 5-V-Pin (VBUS) des ESP32 S3.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Eine Schraubklemme hält jedes Kabel fest, auch wenn die Platine wackelt. Der ESP32 S3 passt auf ein Schraubklemmen-Board für ESP32 S3, das jeden Pin zu einer Schraubklemme macht. So sieht es mit dem Schraubklemmen-Board aus:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Oder stecken Sie den ESP32 S3 auf ein GPIO-Breakout-Board für ESP32 S3. Dieselbe Verdrahtung sieht dann so aus:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Sicherheitshinweise
Verbinden Sie die VCC-Pins des HC-SR04 und des LCD immer mit der 5-V-Schiene statt mit der 3,3-V-Schiene – beide Komponenten benötigen 5 V für einen korrekten Betrieb und liefern bei niedrigeren Spannungen unzuverlässige Ergebnisse. Halten Sie Signalleitungen kurz und fern von Stromleitungen, um Störungen auf der ECHO-Leitung zu minimieren, die zu sprunghaften Entfernungswerten führen könnten.
| Komponente | Pin | ESP32 S3 Pin |
|---|---|---|
| Ultraschallsensor | VCC | 5V |
| Ultraschallsensor | GND | GND |
| Ultraschallsensor | TRIG | GPIO15 |
| Ultraschallsensor | ECHO | GPIO7 |
| LCD I2C | VCC | 5V |
| LCD I2C | GND | GND |
| LCD I2C | SCL | GPIO9 (I2C-Takt) |
| LCD I2C | SDA | GPIO8 (I2C-Daten) |
ESP32-S3-Code
Der folgende Code löst den HC-SR04-Ultraschallsensor alle 500 Millisekunden aus, liest die Dauer des Echoimpulses, rechnet sie in Zentimeter um und zeigt das Ergebnis auf dem LCD-I2C-Bildschirm an. Er verwendet die DIYables-LCD-I2C-Bibliothek, um die Anzeigelogik übersichtlich und lesbar zu halten, sodass nur wenige Zeilen zum Initialisieren und Aktualisieren des Bildschirms nötig sind.
※ Notiz:
Die I2C-Adresse des LCD kann je nach Hersteller unterschiedlich sein. Im Code haben wir die Adresse 0x27 verwendet, die vom Hersteller DIYables angegeben wird. Wenn Ihr LCD nichts anzeigt, versuchen Sie stattdessen die Adresse 0x3F.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Verdrahten Sie den Ultraschallsensor und das LCD I2C gemäß dem obigen Schaltplan mit dem ESP32 S3.
- 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.
- Geben Sie "DIYables LCD I2C" in das Suchfeld ein und suchen Sie die Bibliothek DIYables_LCD_I2C von DIYables.
- Klicken Sie auf die Schaltfläche Install, um die Bibliothek DIYables_LCD_I2C zu installieren.
- Search for DIYables LCD I2C created by DIYables.io and click the Install button.
- 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 Ihren ESP32 S3 hochzuladen.

- Halten Sie Ihre Hand oder einen Gegenstand in unterschiedlichen Abständen vor den Sensor.
- Beobachten Sie, wie sich der Entfernungswert auf dem LCD in Echtzeit aktualisiert.
- Profi-Tipp: Wenn das LCD nichts anzeigt, stellen Sie das Kontrast-Potentiometer auf der Rückseite des LCD-Moduls ein und prüfen Sie, ob die I2C-Adresse im Code zu Ihrem Modul passt (versuchen Sie 0x3F, wenn 0x27 nicht funktioniert).
Ausgabe im Seriellen Monitor
Die folgende Ausgabe im Seriellen Monitor zeigt, wie der ESP32 S3 die Entfernung vom HC-SR04-Sensor ausliest und das LCD in regelmäßigen Abständen aktualisiert. Jede Zeile trägt einen Zeitstempel, sodass Sie die Aktualisierungsrate überprüfen und kontrollieren können, ob sich die Werte ändern, wenn Sie ein Objekt näher heran- oder weiter wegbewegen.
Anwendungen und Projektideen
Sobald die Entfernungswerte mit Ihrem ESP32 S3 auf dem LCD erscheinen, können Sie dieses Projekt für viele praktische Anwendungen in Hausautomation, Robotik und industrieller Überwachung anpassen.
- Einparkhilfe: Montieren Sie den Sensor in einer Garage und zeigen Sie die Entfernung in Echtzeit an, während sich ein Fahrzeug einer Haltelinie nähert.
- Füllstandsüberwachung: Richten Sie den Sensor nach unten in einen Tank und zeigen Sie die gemessene Tiefe als Füllstand in Prozent auf dem LCD an.
- Näherungsalarm: Lösen Sie einen Summer aus, wenn die angezeigte Entfernung unter einen einstellbaren Schwellenwert fällt.
- Roboter mit Hinderniserkennung: Führen Sie die Entfernung vom LCD einer Navigationslogik zu, um ein autonomes Fahrzeug um Hindernisse herumzusteuern.
- Personenzähler: Erkennen Sie, wenn jemand einen Türdurchgang passiert, und erhöhen Sie einen auf dem LCD angezeigten Besucherzähler.
- Höhenmessstation: Montieren Sie den Sensor über Kopf und zeigen Sie die berechnete Höhe eines darunter befindlichen Objekts oder einer Person an.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.
Fordern Sie sich selbst heraus
Da Sie nun Live-Entfernungswerte mit Ihrem ESP32 S3 auf dem LCD anzeigen können, probieren Sie diese zunehmend schwierigeren Aufgaben aus, um Ihr Verständnis zu vertiefen und das Projekt leistungsfähiger zu machen.
- Anfänger: Ändern Sie den Sketch so, dass die Entfernung in Zentimetern und Zoll in getrennten Zeilen des LCD angezeigt wird.
- Anfänger: Fügen Sie dem LCD eine zweite Zeile hinzu, die anzeigt, ob das erkannte Objekt „NEAR“ (unter 20 cm) oder „FAR“ (über 20 cm) ist.
- Fortgeschritten: Setzen Sie auf dem LCD eine dreistufige Näherungsanzeige um – „SAFE“, „CLOSE“ und „DANGER“ – mit passenden Farben über eine RGB-LED.
- Fortgeschritten: Wenden Sie auf die Entfernungswerte einen gleitenden Mittelwert über fünf Messungen an, um Rauschen zu glätten und eine ruhigere LCD-Anzeige zu erhalten.
- Experte: Fügen Sie einen Taster hinzu, mit dem der Benutzer einen eigenen Alarmschwellenwert festlegen kann, der im Flash-Speicher abgelegt wird und so einen Neustart übersteht.
- Experte: Erweitern Sie das Projekt um WLAN, sodass der ESP32 S3 die Entfernungswerte an ein Web-Dashboard sendet und gleichzeitig das LCD aktualisiert.