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:

  1. Eine Schaltung, die einen HC-SR04-Ultraschallsensor und ein Relaismodul mit dem ESP32 S3 verbindet
  2. Einen Sketch, der mit dem Ultraschallsensor kontinuierlich den Abstand zu einem Objekt misst
  3. Ein System, das das Relais automatisch einschaltet, wenn ein Objekt einen nahen Schwellenabstand unterschreitet, und es ausschaltet, wenn sich das Objekt entfernt
  4. 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.

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

ESP32 S3 Ultraschallsensor Relais Schaltplan

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:

ESP32 S3 Ultraschallsensor Relais Schaltplan (Screw Terminal)

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:

ESP32 S3 Ultraschallsensor Relais Schaltplan (GPIO Breakout Board)

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.

/* * 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-relay */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-ultrasonic-sensor-relay */ #define TRIG_PIN 39 // ESP32-S3 pin GPIO39 connected to Ultrasonic Sensor's TRIG pin #define ECHO_PIN 38 // ESP32-S3 pin GPIO38 connected to Ultrasonic Sensor's ECHO pin #define RELAY_PIN 12 // ESP32-S3 pin GPIO12 connected to Relay's pin #define DISTANCE_THRESHOLD 50 // centimeters // variables will change: float duration_us, distance_cm; void setup() { Serial.begin (9600); // initialize serial port pinMode(TRIG_PIN, OUTPUT); // set ESP32-S3 pin to output mode pinMode(ECHO_PIN, INPUT); // set ESP32-S3 pin to input mode pinMode(RELAY_PIN, OUTPUT); // set ESP32-S3 pin to output mode } void loop() { // generate 10-microsecond pulse to TRIG pin digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // measure duration of pulse from ECHO pin duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance distance_cm = 0.017 * duration_us; if (distance_cm < DISTANCE_THRESHOLD) digitalWrite(RELAY_PIN, HIGH); // turn on Relay else digitalWrite(RELAY_PIN, LOW); // turn off Relay // 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. Verdrahten Sie die Komponenten gemäß dem oben gezeigten Schaltplan.
  3. Verbinden Sie das ESP32-S3-Board über ein USB-Typ-C-Kabel mit Ihrem PC.
  4. Öffnen Sie die Arduino IDE auf Ihrem PC.
  5. Wählen Sie im Menü Werkzeuge das richtige ESP32-S3-Board und den COM-Port aus.
  6. Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  7. Klicken Sie auf die Schaltfläche Upload, um den Code zu kompilieren und auf den ESP32 S3 hochzuladen.
Arduino IDE Code hochladen
  1. Öffnen Sie den Seriellen Monitor mit 115200 Baud.
  2. Bewegen Sie Ihre Hand zum Ultraschallsensor hin und beobachten Sie, wie das Relais einschaltet (Sie hören ein Klicken).
  3. Bewegen Sie Ihre Hand vom Sensor weg und beobachten Sie, wie das Relais ausschaltet.
  4. Sehen Sie im Seriellen Monitor die aktuellen Abstandswerte und den Relaiszustand in Echtzeit.
  5. 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.

∞
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:22:01] Distance: 85 cm | Relay: OFF [2026-06-16 10:22:02] Distance: 42 cm | Relay: OFF [2026-06-16 10:22:03] Distance: 18 cm | Relay: ON [2026-06-16 10:22:04] Distance: 9 cm | Relay: ON
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

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.

  1. 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.
  2. Sicherheits-Näherungsalarm: Lösen Sie über das Relais eine 12V-Sirene oder Warnleuchte aus, sobald jemand einen vom Sensor erfassten gesperrten Bereich betritt.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

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