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:

  1. Ein Abstandsmesssystem mit dem ESP32 S3 und dem HC-SR04-Ultraschallsensor
  2. Einen Sketch, der den Sensor auslöst, das Echo liest und den Abstand in Zentimetern berechnet
  3. Eine Echtzeit-Ausgabe des Abstands im Seriellen Monitor der Arduino IDE
  4. Eine Grundlage, die Sie zu Hindernisvermeidung, Einparkhilfen oder Füllstandsanzeigen erweitern können
ESP32 S3 - Ultraschallsensor

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×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.

Ü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:

  1. VCC — Mit der 5V-Stromversorgung verbinden
  2. GND — Mit Masse (0V) verbinden
  3. TRIG — Empfängt den Auslöseimpuls vom ESP32 S3, um eine Messung zu starten
  4. ECHO — Gibt einen Impuls aus, dessen Dauer proportional zum gemessenen Abstand ist
Pinbelegung des Ultraschallsensors
image source: diyables.io

Wie der Ultraschallsensor funktioniert

Siehe 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.

ESP32 S3 Ultraschallsensor Schaltplan

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:

digitalWrite(GPIO8, HIGH); delayMicroseconds(10); digitalWrite(GPIO8, LOW);

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:

duration_us = pulseIn(GPIO9, HIGH);

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:

distance_cm = 0.017 * duration_us;

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().

/* * 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 */ #define TRIG_PIN 8 // The ESP32 S3 pin connected to Ultrasonic Sensor's TRIG pin #define ECHO_PIN 9 // The ESP32 S3 pin connected to Ultrasonic Sensor's ECHO pin float duration_us, distance_cm; void setup() { // begin serial port Serial.begin (115200); // Configure the trigger pin to output mode pinMode(TRIG_PIN, OUTPUT); // Configure the echo pin to input mode pinMode(ECHO_PIN, INPUT); } void loop() { // Produce a 10-microsecond pulse to the TRIG pin. digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // Measure the pulse duration from the ECHO pin duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance distance_cm = 0.017 * duration_us; // 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. Kopieren Sie den obigen Sketch und fügen Sie ihn in die Arduino IDE ein.
  3. Verbinden Sie den ESP32 S3 über ein USB-Typ-C-Kabel mit Ihrem Computer.
  4. Wählen Sie in der Arduino IDE unter Tools das richtige Board (ESP32S3 Dev Module oder gleichwertig) und den COM-Port aus.
  5. Klicken Sie auf die Schaltfläche Upload, um den Sketch zu kompilieren und auf den ESP32 S3 zu flashen.
Wie man ESP32-S3-Code in der Arduino IDE hochlädt
  1. Öffnen Sie nach Abschluss des Hochladens den Seriellen Monitor über das Menü Tools oder das Monitor-Symbol.
Wie man den Seriellen Monitor in der Arduino IDE öffnet
  1. Stellen Sie im Dropdown-Menü des Seriellen Monitors die Baudrate auf 115200 ein.
  2. Halten Sie Ihre Hand in verschiedenen Abständen vor den Sensor und beobachten Sie, wie sich die Werte in Echtzeit aktualisieren.
  3. 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:

∞
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:32:01] distance: 19.4 cm [2026-06-16 10:32:01] distance: 17.6 cm [2026-06-16 10:32:02] distance: 14.2 cm [2026-06-16 10:32:02] distance: 12.8 cm [2026-06-16 10:32:03] distance: 10.1 cm [2026-06-16 10:32:03] distance: 15.3 cm [2026-06-16 10:32:04] distance: 23.5 cm [2026-06-16 10:32:04] distance: 27.4 cm
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

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:

  1. Einparkhilfe: Bauen Sie ein Abstandswarnsystem, das Fahrer warnt, wenn sie sich in einer Garage einem Hindernis nähern.
  2. Automatischer Mülleimer: Erstellen Sie einen berührungslosen Deckelöffner, der aktiviert wird, wenn eine Hand einen festgelegten Abstand unterschreitet.
  3. Wasserstandsanzeige: Messen Sie den Wasser- oder Flüssigkeitsstand in einem Tank ohne jeden Kontakt mit der Flüssigkeit.
  4. Roboter mit Hindernisvermeidung: Ermöglichen Sie einem autonomen Roboter, Objekte auf seinem Weg zu erkennen und ihnen auszuweichen.
  5. Sicherheitsalarm: Lösen Sie einen Alarm oder eine Benachrichtigung aus, wenn ein Objekt eine festgelegte Zone betritt.
  6. Werkzeug zur Höhenmessung: Bauen Sie eine digitale Höhenmessstation für schnelle, berührungsfreie Messungen.
  7. 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:

  1. Anfänger: Ändern Sie den Sketch so, dass der Abstand in Zoll statt in Zentimetern angezeigt wird.
  2. Anfänger: Fügen Sie eine LED hinzu, die leuchtet, sobald ein Objekt innerhalb von 10 cm erkannt wird.
  3. Fortgeschritten: Erstellen Sie ein Mehrzonen-Warnsystem, das die Blinkfrequenz der LED abhängig davon ändert, wie nah ein Objekt ist.
  4. Fortgeschritten: Zeigen Sie den aktuellen Abstand auf einem OLED- oder LCD-Display statt im Seriellen Monitor an.
  5. Experte: Bauen Sie einen 2D-Positionsdetektor mit zwei HC-SR04-Sensoren und Triangulationsberechnung auf dem ESP32 S3.
  6. Experte: Setzen Sie einen Medianfilter über fünf aufeinanderfolgende Messungen um, um Rauschen zu unterdrücken und eine gleichmäßigere, genauere Abstandsausgabe zu erreichen.

Verwandte Tutorials

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