ESP32 S3 - Ultraschallsensor
Der HC-SR04-Ultraschallsensor ist eines der praktischsten Module zur Abstandsmessung, die Sie mit dem ESP32 S3 kombinieren können, und bietet eine zuverlässige berührungslose Erkennung von 2 cm bis 400 cm. Dieses Tutorial führt Sie durch alles, was Sie brauchen — von der Verdrahtung des Sensors bis zum Schreiben und Hochladen des Arduino-Sketches —, damit Sie Ihre ESP32-S3-Projekte sicher um eine Abstandsmessung erweitern können.
Was Sie bauen werden:
- Ein Abstandsmesssystem mit dem ESP32 S3 und dem HC-SR04-Ultraschallsensor
- Einen Sketch, der den Sensor auslöst, das Echo liest und den Abstand in Zentimetern berechnet
- Eine Echtzeit-Ausgabe des Abstands im Seriellen Monitor der Arduino IDE
- Eine Grundlage, die Sie zu Hindernisvermeidung, 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) |
Überblick über Ultrasonic Sensor
Der HC-SR04 ist ein weit verbreiteter Abstandssensor, der Ultraschallimpulse aussendet und auf das Echo wartet, um zu bestimmen, wie weit ein Objekt entfernt ist. Er ist preiswert, einfach zu verdrahten und für die meisten Hobby- und Maker-Anwendungen genau genug, was ihn zu einer naheliegenden Wahl für ESP32-S3-Projekte macht.
Wichtige Spezifikationen
Der HC-SR04 arbeitet mit 5V DC und misst Abstände von 2 cm bis 400 cm (etwa 0,8 bis 157 Zoll) mit einer Genauigkeit von bis zu 3 mm. Sein Messwinkel beträgt 15 Grad, und er wird durch einen 10-µs-TTL-Impuls am TRIG-Pin ausgelöst. Da die Messung berührungslos erfolgt, kann der Sensor Objekte sicher erkennen, ohne sie zu berühren.
Pinbelegung des Ultraschallsensors
Der HC-SR04 hat vier Pins, von denen jeder eine bestimmte Aufgabe im Messvorgang hat:
- VCC — Mit der 5V-Stromversorgung verbinden
- GND — Mit Masse (0V) verbinden
- TRIG — Empfängt den Auslöseimpuls vom ESP32 S3, um eine Messung zu starten
- ECHO — Gibt einen Impuls aus, dessen Dauer proportional zum gemessenen Abstand ist

Wie der Ultraschallsensor funktioniert
Schaltplan zwischen Ultraschallsensor und ESP32 S3
Für den Anschluss des HC-SR04 an den ESP32 S3 sind nur vier Drähte nötig, und auf einem Breadboard dauert das nur ein paar Minuten. Achten Sie auf die Stromversorgung — der HC-SR04 benötigt 5V, die der ESP32 S3 bei USB-Versorgung über seinen 5V-Pin bereitstellen kann.
Sicherheitshinweise
Verbinden Sie den VCC-Pin des HC-SR04 immer mit der 5V-Schiene, niemals mit 3,3V, da der Sensor bei niedrigerer Spannung nicht korrekt arbeitet. Prüfen Sie Ihre Verbindungen, bevor Sie das Board mit Strom versorgen, um falsche Signale auf den TRIG- oder ECHO-Leitungen zu vermeiden.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Pin des Ultraschallsensors | ESP32 S3 Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | GPIO8 |
| ECHO | GPIO9 |
Wie man den Ultraschallsensor programmiert
Die Programmierung des HC-SR04 mit dem ESP32 S3 folgt einem einfachen dreistufigen Ablauf, der direkt der physikalischen Funktionsweise des Sensors entspricht. Jeder Schritt unten zeigt den relevanten Codeausschnitt und erklärt, was er tut.
Schritt 1: Auslöseimpuls senden
Erzeugen Sie mit digitalWrite() und delayMicroseconds() einen HIGH-Impuls von 10 Mikrosekunden am TRIG-Pin:
Schritt 2: Dauer des Echoimpulses messen
Lesen Sie mit pulseIn() die Dauer des zurückkommenden Impulses am ECHO-Pin. Die Dauer entspricht der Laufzeit der Schallwelle hin und zurück:
Schritt 3: Abstand berechnen
Rechnen Sie die Impulsdauer in Zentimeter um. Schall breitet sich mit etwa 340 m/s aus, und die Division durch 2 berücksichtigt den Hin- und Rückweg:
ESP32 S3 Code
Der folgende Sketch fasst alle drei Schritte zu einem vollständigen Programm zusammen, das alle 500 Millisekunden einen Auslöseimpuls sendet, die Echodauer liest, sie in Zentimeter umrechnet und das Ergebnis im Seriellen Monitor ausgibt. Er initialisiert die TRIG- und ECHO-Pins in setup() und wiederholt die Messschleife fortlaufend in loop().
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Kopieren Sie den obigen Sketch und fügen Sie ihn in die Arduino IDE ein.
- Verbinden Sie den ESP32 S3 über ein USB-Typ-C-Kabel mit Ihrem Computer.
- Wählen Sie in der Arduino IDE unter Tools das richtige Board (ESP32S3 Dev Module oder gleichwertig) und den COM-Port aus.
- Klicken Sie auf die Schaltfläche Upload, um den Sketch zu kompilieren und auf den ESP32 S3 zu flashen.

- Öffnen Sie nach Abschluss des Hochladens den Seriellen Monitor über das Menü Tools oder das Monitor-Symbol.

- Stellen Sie im Dropdown-Menü des Seriellen Monitors die Baudrate auf 115200 ein.
- Halten Sie Ihre Hand in verschiedenen Abständen vor den Sensor und beobachten Sie, wie sich die Werte in Echtzeit aktualisieren.
- Profi-Tipp: Halten Sie Objekte mindestens 2 cm vom Sensor entfernt, um genaue Werte zu erhalten, und vermeiden Sie weiche oder schräge Oberflächen, die Schallwellen absorbieren oder ablenken.
Zeilenweise Code-Erklärung
Der obige ESP32-S3-Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!
Ausgabe im Seriellen Monitor
Wenn Sie Ihre Hand vor dem mit dem ESP32 S3 verbundenen HC-SR04-Ultraschallsensor bewegen, zeigt der Serielle Monitor Abstandswerte in Echtzeit ähnlich den folgenden an:
Wie man Rauschen aus den Abstandsmessungen des Ultraschallsensors filtert
Ultraschallsensoren können aufgrund von Umgebungseinflüssen manchmal verrauschte oder uneinheitliche Werte liefern.
Siehe Wie man Rauschen aus den Abstandsmessungen des Ultraschallsensors filtert
Temperatur, Luftfeuchtigkeit und die Oberflächenbeschaffenheit des Objekts beeinflussen das Echoverhalten, und nahe reflektierende Flächen können Fehlmessungen verursachen. Ein einfacher Median- oder gleitender Mittelwertfilter in Ihrem ESP32-S3-Sketch ist eine wirksame Methode, um diese Schwankungen zu glätten und die Zuverlässigkeit Ihrer Abstandsdaten zu verbessern.
Anwendungen und Projektideen
Der ESP32 S3 in Kombination mit einem HC-SR04-Ultraschallsensor eröffnet eine Vielzahl praktischer und kreativer Projekte in Robotik, Hausautomation und IoT. Hier einige lohnende Richtungen:
- Einparkhilfe: Bauen Sie ein Abstandswarnsystem, das Fahrer warnt, wenn sie sich in einer Garage einem Hindernis nähern.
- Automatischer Mülleimer: Erstellen Sie einen berührungslosen Deckelöffner, der aktiviert wird, wenn eine Hand einen festgelegten Abstand unterschreitet.
- Wasserstandsanzeige: Messen Sie den Wasser- oder Flüssigkeitsstand in einem Tank ohne jeden Kontakt mit der Flüssigkeit.
- Roboter mit Hindernisvermeidung: Ermöglichen Sie einem autonomen Roboter, Objekte auf seinem Weg zu erkennen und ihnen auszuweichen.
- Sicherheitsalarm: Lösen Sie einen Alarm oder eine Benachrichtigung aus, wenn ein Objekt eine festgelegte Zone betritt.
- Werkzeug zur Höhenmessung: Bauen Sie eine digitale Höhenmessstation für schnelle, berührungsfreie Messungen.
- Intelligente Türklingel: Erkennen Sie, wenn sich jemand Ihrer Haustür nähert, und senden Sie mit dem ESP32 S3 eine Benachrichtigung über Wi-Fi.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung zu diesem ESP32-S3-Projekt an.
Fordern Sie sich selbst heraus
Sobald die grundlegende Abstandsmessung auf Ihrem ESP32 S3 funktioniert, gibt es viele Möglichkeiten, Ihr Verständnis zu vertiefen und das Projekt zu erweitern. Probieren Sie die folgenden Aufgaben nach Schwierigkeit geordnet aus:
- Anfänger: Ändern Sie den Sketch so, dass der Abstand in Zoll statt in Zentimetern angezeigt wird.
- Anfänger: Fügen Sie eine LED hinzu, die leuchtet, sobald ein Objekt innerhalb von 10 cm erkannt wird.
- Fortgeschritten: Erstellen Sie ein Mehrzonen-Warnsystem, das die Blinkfrequenz der LED abhängig davon ändert, wie nah ein Objekt ist.
- Fortgeschritten: Zeigen Sie den aktuellen Abstand auf einem OLED- oder LCD-Display statt im Seriellen Monitor an.
- Experte: Bauen Sie einen 2D-Positionsdetektor mit zwei HC-SR04-Sensoren und Triangulationsberechnung auf dem ESP32 S3.
- Experte: Setzen Sie einen Medianfilter über fünf aufeinanderfolgende Messungen um, um Rauschen zu unterdrücken und eine gleichmäßigere, genauere Abstandsausgabe zu erreichen.