ESP32 S3 - Ultraschallsensor - Relais
Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 S3 zusammen mit einem Ultraschallsensor verwenden, um ein Relais automatisch abhängig vom Abstand zu einem nahen Objekt zu steuern. Durch die Kombination von berührungsloser Abstandsmessung und Relaisschaltung erhalten Sie ein praktisches Verständnis dafür, wie Sie mit dem ESP32 S3 leistungsstarke Verbraucher als Reaktion auf reale Sensordaten schalten.
Was Sie bauen werden:
- Eine Schaltung, die einen HC-SR04-Ultraschallsensor und ein Relaismodul mit dem ESP32 S3 verbindet
- Einen Sketch, der mit dem Ultraschallsensor kontinuierlich den Abstand zu einem Objekt misst
- Ein System, das das Relais automatisch einschaltet, wenn ein Objekt einen nahen Schwellenabstand unterschreitet, und es ausschaltet, wenn sich das Objekt entfernt
- Eine Grundlage für näherungsgesteuerte Automatisierungssysteme wie automatische Türen, Sicherheitsalarme und Geräte zur Hinderniserkennung
Wir können dieses Tutorial erweitern und mit dem Ultraschallsensor einen LED-Streifen, eine Sirene, eine Glühbirne oder einen Motor steuern, indem wir sie an das Relais anschließen.
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 Relay and Ultrasonic Sensor
Der HC-SR04-Ultraschallsensor und ein Relais sind eine leistungsstarke Kombination für näherungsgesteuerte Automatisierung mit dem ESP32 S3. Der Sensor sendet einen Ultraschallimpuls aus und misst die Zeit, bis dieser von einem nahen Objekt reflektiert wird. Der ESP32 S3 rechnet diesen Zeitwert in einen Abstand um und schaltet damit ein Relais, das Verbraucher mit hoher Spannung oder hohem Strom sicher steuern kann — weit über das hinaus, was die GPIO-Pins des Mikrocontrollers selbst leisten können.
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 Ultraschallsensor und das Relais gemäß dem folgenden Schaltplan mit Ihrem ESP32 S3. Prüfen Sie alle Verbindungen, bevor Sie die Stromversorgung anlegen, insbesondere die Hochspannungsverdrahtung an den Ausgangsklemmen des Relais.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Möchten Sie einen saubereren und sichereren Aufbau? Setzen Sie den ESP32 S3 auf ein Schraubklemmen-Board für ESP32 S3 und ziehen Sie jedes Kabel unter einer Schraube 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
Prüfen Sie vor dem Einschalten der Schaltung immer, dass die COM- und NO- (oder NC-) Klemmen des Relais fest angezogen sind und keine blanken Drähte freiliegen. Halten Sie die Niederspannungs-Steuerleitungen zum ESP32 S3 räumlich getrennt von jeglicher Hochspannungs-Lastverdrahtung, um das Risiko eines versehentlichen Kontakts zu verringern.
| Komponente | Pin | ESP32 S3 Pin |
|---|---|---|
| Ultraschallsensor | VCC | 5V |
| Ultraschallsensor | GND | GND |
| Ultraschallsensor | Trig | GPIO39 |
| Ultraschallsensor | Echo | GPIO38 |
| Relais | DC- | GND |
| Relais | DC+ | 5V |
| Relais | IN | GPIO12 |
ESP32 S3 Code
Der folgende Code löst am ESP32 S3 einen Ultraschallimpuls aus, misst die Laufzeit des Echos, rechnet sie in einen Abstand in Zentimetern um und schaltet das Relais ein, wenn der gemessene Abstand unter einen festgelegten Schwellenwert fällt. Der Schwellenwert kann direkt im Code angepasst werden, um unterschiedliche Anforderungen an die Näherungserkennung zu erfüllen.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Verdrahten Sie die Komponenten gemäß dem oben gezeigten Schaltplan.
- 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ü Werkzeuge das richtige ESP32-S3-Board und den COM-Port aus.
- 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 den ESP32 S3 hochzuladen.

- Öffnen Sie den Seriellen Monitor mit 115200 Baud.
- Bewegen Sie Ihre Hand zum Ultraschallsensor hin und beobachten Sie, wie das Relais einschaltet (Sie hören ein Klicken).
- Bewegen Sie Ihre Hand vom Sensor weg und beobachten Sie, wie das Relais ausschaltet.
- Sehen Sie im Seriellen Monitor die aktuellen Abstandswerte und den Relaiszustand in Echtzeit.
- Profi-Tipp: Passen Sie den Abstandsschwellenwert im Code an, um die Empfindlichkeit der Erkennung fein einzustellen — ein niedrigerer Schwellenwert aktiviert das Relais nur bei sehr nahen Objekten, ein höherer Wert bereits aus größerer Entfernung, was für verschiedene Automatisierungsszenarien nützlich ist.
Ausgabe im Seriellen Monitor
Die folgende Ausgabe im Seriellen Monitor zeigt, wie der ESP32 S3 die Abstandsdaten des Ultraschallsensors liest und das Relais in Echtzeit schaltet. Jede Zeile zeigt den aktuell gemessenen Abstand und den zugehörigen Relaiszustand, der durch den Näherungsschwellenwert ausgelöst wird.
Anwendungen und Projektideen
Sobald Sie mit dem ESP32 S3 ein Relais anhand eines Ultraschall-Abstandswerts schalten können, lässt sich dieses Muster auf viele näherungsabhängige Automatisierungs- und Steuerungsprojekte übertragen.
- Automatischer Türöffner: Montieren Sie den Sensor in der Nähe einer Tür und aktivieren Sie ein Magnet- oder Motorrelais, um die Tür zu öffnen, wenn sich eine Person auf einen festgelegten Abstand nähert.
- Sicherheits-Näherungsalarm: Lösen Sie über das Relais eine 12V-Sirene oder Warnleuchte aus, sobald jemand einen vom Sensor erfassten gesperrten Bereich betritt.
- Berührungsloser Flüssigkeitsspender: Aktivieren Sie ein Pumpenrelais, wenn eine Hand wenige Zentimeter vor der Sensordüse erkannt wird, für eine völlig berührungsfreie Ausgabe.
- Füllstandsregler: Montieren Sie den Sensor über einem Tank, um zu erkennen, wenn der Flüssigkeitsstand unter einen kritischen Punkt fällt, und aktivieren Sie ein Relais, das eine Nachfüllpumpe einschaltet.
- Hindernisgesteuerte Motorabschaltung: Verwenden Sie das Relais, um die Stromversorgung eines beweglichen Mechanismus wie eines Förderbands oder Roboterarms zu unterbrechen, wenn ein Hindernis in seinem Weg erkannt wird.
- Automatische Treppen- oder Flurbeleuchtung: Schalten Sie eine relaisgesteuerte Lampe ein, wenn sich eine Person nähert, und schalten Sie sie aus, nachdem sie sich entfernt hat.
Relais vs. MOSFET-Modul
Ein Relais ist nicht die einzige Möglichkeit, ein Gerät zu schalten. Wenn Ihr Gerät mit Gleichstrom (DC) läuft, zum Beispiel ein 12V-Magnetschloss, eine 12V-Pumpe oder ein 12V-Lüfter, kann ein MOSFET-Modul die gleiche Aufgabe übernehmen.
| Relais | MOSFET-Modul | |
|---|---|---|
| Was es kann | Gerät ein- oder ausschalten | Gerät ein- oder ausschalten und die Leistung einstellen (PWM) |
| Geräusch beim Schalten | jedes Mal ein Klicken | kein Geräusch |
| Schaltgeschwindigkeit | langsam, einige Millisekunden | sehr schnell |
| Lebensdauer | die Kontakte verschleißen nach vielen Schaltvorgängen | nichts bewegt sich, daher hält es lange |
| Stromart | AC oder DC | nur DC |
| Stromversorgung des Geräts | jede Spannung, für die das Relais ausgelegt ist | etwa 6V oder mehr |
| Trennung vom ESP32 S3 | ja, zwischen Spule und Kontakten | ja, durch den PC817-Optokoppler |
| Geeignet für | AC-Geräte oder einfaches EIN/AUS | DC-Geräte oder Dimmen und Drehzahlregelung |
Sowohl das Relais als auch das MOSFET-Modul schalten ein, wenn der Pin des ESP32 S3 HIGH ist. Der 3,3V-Pegel des ESP32 S3 reicht völlig aus, weil die LED im PC817-Optokoppler nur wenige Milliampere braucht. Für ein einfaches EIN/AUS bleibt der obige Code also gleich. Nur die Verdrahtung ändert sich. Für Geräte am Wechselstromnetz verwenden Sie immer das Relais.
Pinbelegung, Verdrahtung, PWM-Code und Sicherheitstipps zum MOSFET-Modul finden Sie im Tutorial ESP32 S3 - MOSFET-Modul.
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 einem Ultraschallsensor am ESP32 S3 ein Relais steuern können, probieren Sie diese zunehmend anspruchsvollen Erweiterungen aus, um Ihr Verständnis zu vertiefen und leistungsfähigere näherungsgesteuerte Systeme zu bauen.
- Anfänger: Ändern Sie den Schwellenabstand im Code und beobachten Sie, wie sich der Schaltpunkt des Relais ändert. Geben Sie dann eine Bestätigung im Seriellen Monitor aus, die zeigt, welcher Schwellenwert gerade aktiv ist.
- Anfänger: Schließen Sie eine Anzeige-LED an einen separaten GPIO-Pin an, die leuchtet, wenn das Relais angezogen ist. So erhalten Sie zusätzlich zum hörbaren Relaisklicken eine sichtbare Bestätigung auf Niederspannungsseite.
- Fortgeschritten: Bauen Sie eine Hysterese in die Schwellenwertlogik ein, sodass das Relais bei einem Abstand (z. B. 20 cm) einschaltet, aber erst ausschaltet, wenn sich das Objekt über einen größeren Abstand (z. B. 30 cm) hinaus entfernt. Das verhindert schnelles Relaisflattern nahe der Grenze.
- Fortgeschritten: Fügen Sie ein I2C-OLED-Display hinzu, das den aktuellen Abstand und den Relaiszustand formatiert anzeigt, sodass Sie für die Überwachung den Seriellen Monitor nicht mehr benötigen.
- Experte: Speichern Sie einen einstellbaren Schwellenwert im nichtflüchtigen Speicher des ESP32 S3 (Preferences-Bibliothek), damit die Einstellung auch nach dem Aus- und Einschalten erhalten bleibt, ohne den Code erneut hochzuladen.
- Experte: Erweitern Sie das Projekt um WiFi, sodass das Relais über eine vom ESP32 S3 bereitgestellte Webseite überwacht und der Erkennungsschwellenwert aus der Ferne angepasst werden kann.