ESP32 S3 - Ultraschallsensor - Piezo-Summer
Dieses Tutorial zeigt Ihnen, wie Sie mit dem ESP32 S3, einem Ultraschallsensor und einem Piezo-Summer ein akustisches Warnsystem bauen, das bei Annäherung auslöst. Sie setzen zwei praktische Anwendungen um — eine, die einen Dauerton erzeugt, wenn ein Objekt in der Nähe erkannt wird, und eine, die eine Melodie abspielt, wenn das Objekt in den Erfassungsbereich eintritt.
Was Sie bauen werden:
- Eine ESP32-S3-Schaltung mit einem Ultraschallsensor und einem Piezo-Summer, die mit dem Board verdrahtet sind
- Anwendung 1: Der Summer ertönt automatisch, wenn ein Objekt nah am Sensor ist, und verstummt, wenn sich das Objekt entfernt
- Anwendung 2: Der Summer spielt jedes Mal eine Melodie, wenn ein Objekt in den Erfassungsbereich eintritt
- Eine Grundlage für praxisnahe Näherungsalarme, Parksensoren und Sicherheitsprojekte
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 Piezo Buzzer and Ultrasonic Sensor
Der Ultraschallsensor misst Abstände, indem er einen Schallimpuls aussendet und die Laufzeit seines Echos misst, während der Piezo-Summer elektrische Signale in hörbare Töne umwandelt, die den Benutzer warnen, wenn ein Objekt in den Erfassungsbereich eintritt. Zusammen am ESP32 S3 bilden sie einen vollständigen Erfassen-und-Reagieren-Kreislauf — der Sensor liefert Abstandsdaten an das Board, das Board vergleicht sie mit einem Schwellenwert, und der Summer gibt sofort eine akustische Rückmeldung. Dieses Muster ist die Grundlage für Näherungsalarme, Parksensoren und Roboter mit Hindernisvermeidung.
Wichtige Spezifikationen
Ausführliche Hintergrundinformationen zu jeder Komponente finden Sie in diesen ESP32-S3-Tutorials:
- ESP32 S3 - Piezo-Summer-Tutorial — Lernen Sie, wie man Töne und Melodien erzeugt
- ESP32 S3 - Ultraschallsensor-Tutorial — Verstehen Sie Abstandsmessung und Echo-Laufzeit
Bitte beachten Sie, dass dieses Tutorial einen 3–5V-Summer verwendet, Sie es aber für einen 12V-Summer anpassen können. Mehr dazu erfahren Sie im ESP32 S3 - Summer-Tutorial.
Verdrahtungsdiagramm
Verbinden Sie den Ultraschallsensor und den Piezo-Summer gemäß dem folgenden Schaltplan mit Ihrem ESP32 S3. Prüfen Sie jede Verbindung, bevor Sie das Board mit Strom versorgen, um versehentliche Kurzschlüsse zu vermeiden.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Jumperkabel eignen sich für einen schnellen Test, aber nicht für einen fertigen Aufbau. Setzen Sie den ESP32 S3 auf ein Schraubklemmen-Board für ESP32 S3 und ziehen Sie jedes Kabel unter einer Schraube fest. Das Diagramm unten zeigt die Version mit Schraubklemmen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Ein GPIO-Breakout-Board für ESP32 S3 geht ebenfalls. Neben den S-, 3,3V- und GND-Pins für jeden GPIO hat es zusätzliche 3,3V- und 5V-Pins:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Sicherheitshinweise
Die GPIO-Pins des ESP32 S3 arbeiten mit 3,3V-Logik, der VCC-Pin des HC-SR04-Ultraschallsensors benötigt jedoch 5V für einen zuverlässigen Betrieb — verbinden Sie VCC mit dem 5V-Pin des Boards, nicht mit 3,3V. Die TRIG- und ECHO-Leitungen arbeiten bei den meisten Modulen mit 3,3V-Logik und werden daher ohne Pegelwandler direkt mit den GPIO-Pins des ESP32 S3 verbunden. Ein einfacher Piezo-Summer zieht nur minimalen Strom aus einem GPIO-Pin und ist bei 3,3V sicher, schließen Sie jedoch niemals einen Hochspannungs-Summer ohne Relais oder Treiberschaltung direkt an.
| Komponente | Pin | ESP32 S3 Pin |
|---|---|---|
| Ultraschallsensor | VCC | 5V |
| Ultraschallsensor | GND | GND |
| Ultraschallsensor | TRIG | GPIO8 |
| Ultraschallsensor | ECHO | GPIO9 |
| Piezo-Summer | Plus (+) | GPIO42 |
| Piezo-Summer | Minus (-) | GND |
ESP32 S3 Code - Einfacher Ton
Der folgende Sketch liest den Ultraschallsensor in jedem Schleifendurchlauf, berechnet den Abstand zum nächsten Objekt und steuert den Piezo-Summer abhängig davon, ob dieser Abstand unter einem festgelegten Schwellenwert liegt. Ist das Objekt nah, ertönt der Summer dauerhaft; entfernt sich das Objekt, verstummt der Summer sofort. Diese direkte Kopplung zwischen Sensorwert und Summerausgabe ist die einfachste Form einer näherungsgesteuerten Tonausgabe, die Sie auf dem ESP32 S3 umsetzen können.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Komponenten verdrahten: Folgen Sie dem oben gezeigten Schaltplan.
- ESP32 S3 anschließen: Verbinden Sie ihn über ein USB-Typ-C-Kabel mit Ihrem Computer.
- Arduino IDE einrichten: Wenn Sie den ESP32 S3 zum ersten Mal verwenden, lesen Sie, wie Sie die Umgebung für den ESP32 S3 in der Arduino IDE einrichten.
- Board auswählen: Wählen Sie in der Arduino IDE das ESP32-S3-Board und seinen COM-Port aus.
- Code hochladen: Kopieren Sie den obigen Code und laden Sie ihn auf Ihren ESP32 S3 hoch.

- Bewegen Sie Ihre Hand vor dem Ultraschallsensor.
- Hören Sie auf den Summer: Der Piezo-Summer ertönt, wenn Ihre Hand nah ist, und verstummt, wenn Sie sie wegziehen.
- Profi-Tipp: Wenn der Sensor sprunghafte Werte liefert, achten Sie darauf, dass die TRIG- und ECHO-Leitungen nicht parallel zu Stromleitungen verlaufen — halten Sie Signalleitungen getrennt, um Störungen zu verringern.
Ausgabe im Seriellen Monitor
Öffnen Sie den Seriellen Monitor der Arduino IDE mit 9600 Baud, um die Abstandswerte und den Zustand des Summers in Echtzeit zu beobachten.
Zeilenweise Code-Erklärung
Der obige ESP32-S3-Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!
ESP32 S3 Code - Melodie
Der folgende Sketch spielt jedes Mal eine vollständige Melodie über den Piezo-Summer, wenn ein Objekt in den Erfassungsbereich des Ultraschallsensors eintritt. Er verwendet eine begleitende Header-Datei pitches.h, die Notennamen wie NOTE_C4 und NOTE_G3 ihren Frequenzen in Hz zuordnet, sodass das Melodie-Array leicht lesbar bleibt und sich für jedes beliebige Lied anpassen lässt.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Melodie-Sketch hochladen: Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Erstellen Sie die Datei pitches.h in der Arduino IDE wie folgt:
- Klicken Sie entweder auf die Schaltfläche direkt unter dem Symbol des Seriellen Monitors und wählen Sie New Tab, oder verwenden Sie die Tasten Ctrl+Shift+N.
- Geben Sie den Dateinamen pitches.h ein und klicken Sie auf die Schaltfläche OK
- Kopieren Sie den folgenden Code und fügen Sie ihn in die erstellte Datei pitches.h ein.
- Kompilieren und hochladen: Klicken Sie in der Arduino IDE auf die Schaltfläche Upload.
- Bewegen Sie Ihre Hand vor dem Ultraschallsensor, um in den Erfassungsbereich einzutreten.
- Hören Sie die Melodie: Der Piezo-Summer spielt die ganze Melodie von Anfang bis Ende, jedes Mal wenn ein Objekt erkannt wird.
- Profi-Tipp: Die Funktion delay() in der Melodie-Schleife blockiert während der Wiedergabe anderen Code. Um das zu vermeiden, ersetzen Sie sie durch die ezBuzzer-Bibliothek, die Melodien abspielt, ohne anderen Code zu blockieren.



Ausgabe im Seriellen Monitor
Öffnen Sie den Seriellen Monitor der Arduino IDE mit 9600 Baud, um die durch Näherungserkennung ausgelöste Melodiewiedergabe zu verfolgen.
Zeilenweise Code-Erklärung
Der obige ESP32-S3-Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!
※ Notiz:
Der obige Code verwendet die Funktion delay(). Diese blockiert während der Melodiewiedergabe anderen Code. Um das Blockieren anderen Codes zu vermeiden, verwenden Sie stattdessen die Bibliothek ezBuzzer. Diese Bibliothek ist dafür ausgelegt, einen Summer piepen oder eine Melodie spielen zu lassen, ohne anderen Code zu blockieren.
Anwendungsideen
Die Kombination aus ESP32 S3, Ultraschallsensor und Piezo-Summer ist ein vielseitiger Baustein für Dutzende näherungsabhängige Projekte. Hier einige Ideen als Anregung:
- Parksensor: Bauen Sie eine Einparkhilfe, die schneller piept, je näher ein Fahrzeug einer Wand oder einem Hindernis kommt.
- Einbruchalarm: Erstellen Sie einen Sicherheitsalarm, der einen lauten Ton abgibt, sobald jemand einen überwachten Bereich betritt.
- Blindenstock-Assistent: Befestigen Sie den Sensor an einem Gehstock und warnen Sie den Benutzer mit Summermustern vor Hindernissen.
- Füllstandswarnung: Montieren Sie den Sensor über einem Tank und lösen Sie den Summer aus, wenn der Flüssigkeitsstand unter einen Schwellenwert fällt.
- Näherungs-Türklingel: Spielen Sie automatisch eine Klingelmelodie, wenn sich ein Besucher Ihrer Tür nähert.
- Roboter mit Hindernisvermeidung: Verwenden Sie den Summer als akustische Warnung, während der Roboter um Objekte herumnavigiert.
Video-Bereich
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung zu diesem ESP32-S3-Projekt an.
Fordern Sie sich selbst heraus
Da Sie nun eine funktionierende Schaltung mit ESP32 S3, Ultraschallsensor und Piezo-Summer haben, bauen Sie Ihre Fähigkeiten mit diesen nach Schwierigkeit geordneten Aufgaben weiter aus:
- Anfänger: Ändern Sie den Abstandsschwellenwert so, dass der Summer nur aktiviert wird, wenn sich ein Objekt innerhalb von 5 cm statt des Standardwerts befindet.
- Anfänger: Lassen Sie den Summer bei erkanntem Objekt dreimal kurz piepen, statt dauerhaft zu ertönen.
- Fortgeschritten: Verändern Sie die Tonfrequenz des Summers abhängig vom Abstand — höhere Tonhöhe für nähere Objekte und tiefere für weiter entfernte.
- Fortgeschritten: Verwenden Sie die ezBuzzer-Bibliothek, um eine Melodie im Hintergrund abzuspielen, ohne die Abstandsmessschleife zu blockieren.
- Experte: Fügen Sie ein OLED-Display hinzu, das den aktuellen Abstand zusammen mit dem Zustand des Summers anzeigt.
- Experte: Setzen Sie einen Mehrzonenalarm mit drei Abstandsschwellen um, die für jede Zone unterschiedliche Summermuster auslösen.