ESP32 S3 - Ultraschallsensor - OLED
Der HC-SR04-Ultraschallsensor in Kombination mit einem OLED-Display macht den ESP32 S3 zu einer kompakten, eigenständigen Abstandsmessstation — nach dem Hochladen des Sketches ist kein Laptop mehr nötig. 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 OLED-Bildschirm darstellt.
Was Sie bauen werden:
- Eine Schaltung, die einen HC-SR04-Ultraschallsensor und ein SSD1306-OLED-Display mit dem ESP32 S3 verbindet
- Einen Sketch, der den Sensor auslöst, den Abstand berechnet und das OLED alle 500 Millisekunden aktualisiert
- Ein tragbares, eigenständiges Abstandsmessgerät, das die Werte ohne Seriellen Monitor anzeigt
- Eine Grundlage, die Sie zu Näherungsalarmen, Einparkhilfen oder Füllstandsanzeigen 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: Wenn Sie ein größeres OLED-Display möchten, verwenden Sie das 2.42 inch OLED Display 128x64.
Überblick über Ultrasonic Sensor and OLED
Der HC-SR04-Ultraschallsensor sendet einen hochfrequenten Schallimpuls aus und misst, wie lange das Echo für die Rückkehr braucht. So kann der ESP32 S3 den Abstand zu jedem Objekt vor dem Sensor berechnen, ohne es zu berühren. In Kombination mit einem SSD1306-OLED-Display wird das Ergebnis zu einer klaren, kontrastreichen Anzeige, die sich auf einen Blick ablesen lässt — ideal für eigenständige Messgeräte und interaktive Projekte.
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 HC-SR04 und das SSD1306-OLED-Display gemäß dem folgenden Schaltplan mit Ihrem ESP32 S3 und prüfen Sie jede Verbindung, bevor Sie das Board mit Strom versorgen. Der Ultraschallsensor arbeitet mit 5V, verwenden Sie daher bei USB-Versorgung den 5V-Pin (VBUS) des ESP32 S3. Das OLED kann je nach Modul mit 3,3V oder 5V betrieben werden.

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. Ein Schraubklemmen-Board für ESP32 S3 löst dieses Problem. Stecken Sie den ESP32 S3 darauf und schrauben Sie die Kabel fest. Die Pins ändern sich nicht. Schließen Sie jedes Kabel einfach an die passende Schraubklemme an:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Lieber Stiftleisten statt Schrauben? Stecken Sie den ESP32 S3 auf ein GPIO-Breakout-Board für ESP32 S3:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Sicherheitshinweise
Verbinden Sie den VCC-Pin des HC-SR04 immer mit der 5V-Schiene und nicht mit der 3,3V-Schiene — der Sensor benötigt 5V für einen korrekten Betrieb und erzeugt bei niedrigeren Spannungen unzuverlässige Echoimpulse. Halten Sie die Signalleitungen kurz und fern von Stromleitungen, um Störungen auf der ECHO-Leitung zu minimieren, die zu sprunghaften Abstandswerten führen könnten.
| Komponente | Pin | ESP32 S3 Pin |
|---|---|---|
| Ultraschallsensor | VCC | 5V |
| Ultraschallsensor | GND | GND |
| Ultraschallsensor | TRIG | GPIO15 |
| Ultraschallsensor | ECHO | GPIO7 |
| OLED-Display | VCC | 3.3V |
| OLED-Display | GND | GND |
| OLED-Display | SCL | GPIO9 (I2C-Takt) |
| OLED-Display | 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 zentriert auf dem SSD1306-OLED-Bildschirm an. Er verwendet die Adafruit-SSD1306-Bibliothek, damit die Anzeigelogik übersichtlich und gut lesbar bleibt, und zentriert den Abstandswert automatisch horizontal und vertikal auf dem Bildschirm.
※ Notiz:
Der obige Code richtet den Text auf dem OLED-Display automatisch horizontal und vertikal mittig aus. Weitere Details finden Sie unter Wie man Text auf dem OLED vertikal/horizontal zentriert.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Verdrahten Sie den Ultraschallsensor und das OLED-Display gemäß dem obigen Schaltplan mit dem ESP32 S3.
- 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ü Tools das richtige ESP32-S3-Board und den COM-Port aus.
- Klicken Sie auf das Symbol Libraries in der linken Leiste der Arduino IDE.
- Geben Sie "SSD1306" in das Suchfeld ein und suchen Sie die SSD1306-Bibliothek von Adafruit.
- Klicken Sie auf die Schaltfläche Install, um die Bibliothek zu installieren.
- Search for Adafruit SSD1306 created by Adafruit and click the Install button.
- Sie werden aufgefordert, einige weitere abhängige Bibliotheken zu installieren.
- Klicken Sie auf die Schaltfläche Install All, um alle abhängigen Bibliotheken zu installieren.
- 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 ein Objekt in verschiedenen Abständen vor den Sensor.
- Beobachten Sie, wie sich der Abstandswert auf dem OLED-Display in Echtzeit aktualisiert.
- Profi-Tipp: Wenn auf dem OLED nichts erscheint, prüfen Sie, ob die I2C-Adresse im Code zu Ihrem Modul passt (versuchen Sie 0x3F, wenn 0x3D oder 0x3C nicht funktioniert), und stellen Sie sicher, dass die SDA/SCL-Leitungen nicht vertauscht sind.
Ausgabe im Seriellen Monitor
Die folgende Ausgabe im Seriellen Monitor zeigt, wie der ESP32 S3 den Abstand vom HC-SR04-Sensor liest und das OLED in regelmäßigen Abständen aktualisiert. Jede Zeile hat einen Zeitstempel, sodass Sie die Aktualisierungsrate prüfen und kontrollieren können, ob sich die Werte ändern, wenn Sie ein Objekt näher heran oder weiter weg bewegen.
Anwendungen und Projektideen
Sobald die Abstandswerte mit Ihrem ESP32 S3 auf dem OLED angezeigt werden, 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 auf dem OLED den Abstand 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 OLED an.
- Näherungsalarm: Lösen Sie einen Summer aus, wenn der angezeigte Abstand unter einen einstellbaren Schwellenwert fällt.
- Roboter mit Hinderniserkennung: Verwenden Sie den Abstandswert in einer Navigationslogik, um ein autonomes Fahrzeug um Hindernisse herumzusteuern.
- Personenzähler: Erkennen Sie, wenn jemand eine Tür passiert, und erhöhen Sie einen Besucherzähler auf dem OLED.
- Station zur Höhenmessung: Montieren Sie den Sensor oben und zeigen Sie die berechnete Höhe eines darunter stehenden Objekts oder einer Person an.
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 Ihrem ESP32 S3 aktuelle Abstandswerte auf dem OLED 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 der Abstand in Zentimetern und Zoll in getrennten Zeilen auf dem OLED angezeigt wird.
- Anfänger: Fügen Sie dem OLED eine zweite Zeile hinzu, die anzeigt, ob das erkannte Objekt "NEAR" (unter 20 cm) oder "FAR" (über 20 cm) ist.
- Fortgeschritten: Setzen Sie eine dreistufige Näherungsanzeige auf dem OLED um — "SAFE", "CLOSE" und "DANGER" — mit passenden Farben über eine RGB-LED.
- Fortgeschritten: Wenden Sie einen gleitenden Mittelwert über fünf Messungen an, um Störungen zu glätten und eine ruhigere OLED-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 ein Aus- und Einschalten übersteht.
- Experte: Erweitern Sie das Projekt um Wi-Fi, sodass der ESP32 S3 die Abstandswerte an ein Web-Dashboard sendet und gleichzeitig das OLED aktualisiert.