In diesem Artikel zeige ich dir, wie du den wasserdichten Ultraschallsensor JSN-SR04T mit einem ESP32-Mikrocontroller verwendest.
Der JSN-SR04T Sensor wird in verschiedenen Anwendungen eingesetzt, darunter autonomes Fahren, Unfallvermeidung, Bewegungserkennung und mehr.
Die zusätzlichen wasserdichten Eigenschaften machen ihn zu einem outdoor-tauglichen Sensor, mit dem du noch mehr Projekte umsetzen kannst, ohne die Anwendungsbereiche einzuschränken.
Du lernst alles über den JSN-SR04T Sensor, ich zeige dir, wie du ihn mit einem ESP32 verbindest, stelle dir funktionierenden Code zum Testen des Sensors mit dem ESP32 bereit und beantworte auch die häufigsten Fragen dazu.
Du findest grundlegende Funktionsprinzipien, elektrische Eigenschaften, Anwendungen sowie Tipps und Tricks zu Projekten mit dem JSN-SR04T.
Lass uns loslegen!
Benötigte Komponenten für das ESP32- und JSN-SR04T-Sensor-Projekt
Hardware-Komponenten
- Dupont wire x 1 Satz
- Micro USB Cable for ESP32 x 1
Software
Anleitung
Makerguides.com nimmt am Amazon Services LLC Associates Program teil, einem Partner-Werbeprogramm, das Websites ermöglicht, durch Werbung und Verlinkung zu Produkten auf Amazon.com Werbegebühren zu verdienen.
Grundlagen des JSN-SR04T Sensors
Lass uns das grundlegende Funktionsprinzip, die Eigenschaften, Pinbelegung und Anwendungen des wasserdichten Ultraschallsensors JSN-SR04T verstehen. Dieses Wissen gibt dir Sicherheit beim Bau langfristiger Projekte.
Am Ende dieses Artikels wirst du sicher im Aufbau und Debugging von JSN-SR04T Ultraschallsensor-Projekten sein.
Häufig erhältliche JSN-SR04T Sensoren sind im Bild unten zu sehen. Der Sensor ist nicht direkt Teil der Leiterplatte, sondern abnehmbar. So kannst du den Sensor bequem platzieren (z.B. am Fahrzeugstoßfänger) und die Leiterplatte vor rauen Umgebungen schützen.

Der Sensor ist wasserdicht, sodass du ihn in feuchten und rauen Umgebungen abdichten kannst.
Der JSN-SR04T Sensor ist einzigartig. Er unterstützt mehrere Betriebsmodi. Einer davon ist der bekannte HC-SR04 Modus, der ein Triggersignal annimmt und ein Echo-Signal-Puls entsprechend der Zeit liefert, die der Schall benötigt, um zu einem Objekt zu reisen und zurückzukehren.
Du kannst die folgende Referenz nutzen, um schnell die Pinbelegung des JSN-SR04T wasserdichten Ultraschallsensormoduls nachzuschlagen.

Der JSN-SR04T unterstützt auch weitere Modi, die im folgenden Abschnitt erklärt werden.
Betriebsmodi des JSN-SR04T Sensors
Modus 0 des JSN-SR04T Sensors
Im Modus 0 ahmt der Sensor die Funktion des HC-SR04 Ultraschallsensors nach. Dies ist der Standardmodus, in dem die Leiterplatte geliefert wird.
Modus 1 des JSN-SR04T Sensors
Wie wäre es mit einem Ultraschallsensor, der die Entfernung selbst berechnet und dir den gemessenen Wert seriell mitteilt? Genau das macht Modus 1. Kein Rechenaufwand für den ESP32.
Nichts zu berechnen. Einfach die gemessene Entfernung direkt über die serielle Schnittstelle vom Sensor empfangen.
Um Modus 1 zu aktivieren, verbinde die kleinen Pads, die mit dem M1-Pad verbunden sind, kurzgeschlossen.

| Header | Daten 1 | Daten 0 | Prüfsumme |
| 0xFF, zeigt den Beginn des Datenblocks an | Höherwertiges Byte der 16-Bit-Daten | Niederwertiges Byte der 16-Bit-Daten | Summe aller drei Bytes |
Modus 2 des JSN-SR04T Sensors
Dieser Modus ist wie Modus 1. Hier sendet der Sensor die Daten jedoch nicht automatisch. Du musst eine Anfrage über die serielle Schnittstelle senden.
Um Modus 2 zu aktivieren, verbinde die kleinen Pads, die mit dem M2-Pad verbunden sind, kurzgeschlossen.
Modus 3 des JSN-SR04T Sensors
Modus 3 ist wie Modus 1 (HC-SR04 Modus). Hier wartet der Sensor nicht auf ein Triggersignal vom Host (ESP32). Er löst alle 200 ms automatisch aus und gibt den Puls am Echo-Eingang aus.
Um Modus 3 zu aktivieren, setze einen 200 K Ohm Widerstand auf das „mode“-Pad.
Modus 4 des JSN-SR04T Sensors
Modus 4 ist wie Modus 1 (HC-SR04 Modus) mit extrem niedrigem Stromverbrauch.
Um Modus 4 zu aktivieren, setze einen 360 K Ohm Widerstand auf das „mode“-Pad.
Modus 5 des JSN-SR04T Sensors
Modus 5 funktioniert wie ein vorkonfigurierter Schalter. Der Echo-Pin schaltet um, wenn der Sensor ein Objekt in einer Entfernung von bis zu 1,5 m erkennt.
Um Modus 5 zu aktivieren, setze einen 470 K Ohm Widerstand auf das „mode“-Pad.
Eigenschaften des JSN-SR04T Sensors
Hier sind die Eigenschaften des JSN-SR04T Sensors in einer Tabelle zusammengefasst.
| Parameter | Reichweite |
| Betriebsspannung | DC 3 V bis 5,5 V |
| Arbeitsstrom | Weniger als 8 mA |
| Messfrequenz | 40 kHz |
| Maximale Reichweite | 600 cm |
| Minimale Reichweite | 20 cm |
| Entfernungsgenauigkeit | 10 mm |
| Auflösung | 1 mm |
| Messwinkel | 75° |
| Betriebstemperatur | -20 °C bis 70 °C |
Anwendungen des JSN-SR04T Sensors
Ultraschallsensoren werden in vielen Anwendungen eingesetzt. Sie helfen, Energie zu sparen, verbessern die Benutzererfahrung und erhöhen Komfort und Sicherheit. Hier einige gängige Anwendungen:
Entfernung messen: Die Entfernungsmessung ist eine wichtige Funktion des Ultraschallsensors, die bei Einparkhilfen, Roboternavigation und Automatisierung in der Industrie hilfreich ist.
Objekterkennung: Du kannst den JSN-SR04T Sensor zur Objekterkennung, zur Erfassung von Bewegungen von Haustieren, in Sicherheitssystemen zur Erkennung von Personen in Sperrbereichen usw. verwenden.
Füllstandsmessung: Der Sensor kann zur Messung von Flüssigkeitsständen in Tanks, industriellen Kesseln und zur Erfassung der Anzahl von Gegenständen in Behältern eingesetzt werden.
Zum Beispiel kannst du einen intelligenten Mülleimer bauen, der den Deckel automatisch öffnet.
Du kannst auch Ultraschallsensoren an deinem Schreibtisch montieren, um deine Anwesenheit zu erkennen. Wenn du aufstehst und weggehst, können automatisch Tischlampen und Ventilatoren ausgeschaltet werden!
Die Möglichkeiten mit dem JSN-SR04T sind vielfältig – was baust du? Lass es mich im Kommentarbereich unten wissen.
Anleitung zum Anschluss des JSN-SR04T Sensormoduls an den ESP32
Ich zeige dir, wie du ein Projekt mit ESP32 und dem JSN-SR04T Ultraschall-Entfernungssensor aufbaust. Lass uns mit den Hardwareverbindungen beginnen.
Schritt 1: Hardwareverbindungen herstellen

Das Ultraschallsensormodul JSN-SR04T verfügt über einen 4-Pin-Anschluss zur Schnittstelle mit Mikrocontrollern.
Die Verbindungen sind einfach zu verstehen und folgen dem oben gezeigten Schaltplan.
Beginne immer mit den Masseverbindungen. Versorge das gesamte System erst mit Strom, wenn alle Verbindungen hergestellt sind.
Hier ist die Zusammenfassung der Verbindungen zwischen ESP32 und JSN-SR04T Sensor.
- Verbinde den GND-Pin des Sensors mit den GND-Pins des ESP32.
- Verbinde den VCC-Pin des Sensors mit dem 5V-Pin des ESP32.
- Verbinde den GPIO5-Pin des ESP32 mit dem TRIG-Pin des Sensors.
- Der ECHO-Pin des Sensors wird mit GPIO18 des ESP32 verbunden.
| JSN-SR04T Ultraschallsensor Pins | ESP32 Pins |
| VCC | 5V |
| TRIG | GPIO5 |
| ECHO | GPIO18 |
| GND | GND |
In meinem Beispiel verwende ich GPIO5 und GPIO18 für die TRIG- bzw. ECHO-Pins.
Du kannst auch andere Pins am ESP32 wählen. Wenn du andere Pins verwendest, passe den Code entsprechend an.
Schritt 2: Programmiere den ESP32 mit dem folgenden Code
Folge dem nächsten Schritt, um die Code-Implementierung zu verstehen. Du kannst den untenstehenden Code verwenden, um das ESP32-Modul und den angeschlossenen JSN-SR04T Ultraschallsensor zu testen.
#define echoPin 18 // attach pin GPIO18 to pin Echo of JSN-SR04
#define trigPin 5 // attach pin GPIO5 ESP32 to pin Trig of JSN-SR04
long duration; // Time taken for the pulse to reach the receiver
int distance;
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
Serial.println("Distance measurement using JSN-SR04T");
delay(500);
}
void loop()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); // turn on the Trigger to generate pulse
delayMicroseconds(10); // keep the trigger "ON" for 10 ms to generate pulse
digitalWrite(trigPin, LOW); // Turn off the pulse trigger to stop pulse
// If pulse reached the receiver echoPin
// become high Then pulseIn() returns the
// time taken by the pulse to reach the receiver
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.0344 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(100);
}
Schritt 3: Code-Durchgang
Code-Erklärung:
Lass uns den Code durchgehen. In diesem Beispiel misst du die Entfernung zwischen dem Hindernis und dem Ultraschallsensor-Element des JSN-SR04T.
Los geht’s!
#define echoPin 18 // attach pin GPIO18 of ESP32 to pin Echo of JSN-SR04 #define trigPin 5 // attach pin GPIO5 of ESP32 to pin Trig of JSN-SR04
Die Zeilen, die den JSN-SR04T Sensor mit dem ESP32 verbinden, sind: echoPin empfängt das Echosignal vom Sensor, und trigPin löst den Sensor aus, um einen Ultraschallimpuls zu senden.
long duration; int distance;
Deklariere zwei Variablen: duration und distance.
- duration speichert die Zeit, die das Ultraschallsignal benötigt, um zum Sensor zurückzukehren
- distance speichert die berechnete Entfernung in cm.
Die setup()-Funktion wird einmal beim Programmstart aufgerufen. Hier wird trigPin als Ausgang und echoPin als Eingang definiert.
Serial.begin(9600) initialisiert die serielle Kommunikation mit 9600 Baud, und die folgende Serial.println()-Anweisung gibt eine Nachricht im seriellen Monitor aus.
Die delay(500)-Funktion wartet 500 ms, bevor die loop()-Funktion ausgeführt wird.
Die loop()-Funktion wird im Programmverlauf wiederholt aufgerufen.
Der Code beginnt damit, trigPin für 2 µs auf LOW zu setzen. Dann wird trigPin für 10 µs auf HIGH gesetzt, um einen Impuls von 10 ms zu erzeugen. Danach wird trigPin wieder ausgeschaltet.
Die pulseIn()-Funktion misst die Dauer des Echosignals. Sie wartet, bis der Impuls am echoPin ankommt, und misst die Zeit bis zur Rückkehr des Signals.
duration = pulseIn(echoPin, HIGH); distance = duration * 0.0344 / 2;
Du kannst die Zeit in Entfernung umrechnen, indem du die Schallgeschwindigkeit (ca. 344 m/s) verwendest.
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(100);
Zum Schluss wird der Entfernungswert im seriellen Monitor ausgegeben. Das Programm wartet dann 100 ms, bevor der Vorgang wiederholt wird.
Häufig gestellte Fragen zu den JSN-SR04T Sensoren
Hier findest du eine Liste der häufigsten Fragen zu Projekten mit ESP32 und JSN-SR04T Sensoren:
Wofür wird der JSN-SR04T Ultraschallsensor verwendet?
Der JSN-SR04T ist ein wasserdichter Ultraschallsensor. Du kannst ihn zur Abstandsmessung zwischen Objekten verwenden. Er sendet hochfrequente Schallwellen aus und misst die Zeit bis zum Echo.
Wie hoch ist die Betriebsspannung des JSN-SR04T Sensors?
Der JSN-SR04T Ultraschallsensor arbeitet mit 5 V DC. Für Sicherheit solltest du das Datenblatt des gekauften Moduls prüfen.
Wie groß ist die maximale Erkennungsreichweite des JSN-SR04T Sensors?
Die maximale Erkennungsreichweite beträgt etwa 4 m. Einige Varianten bieten eine größere Reichweite auf Kosten der Genauigkeit.
Kann der JSN-SR04T Sensor im Außenbereich verwendet werden?
Ja, der JSN-SR04T Sensor ist wasserdicht und kann im Freien sowie in feuchten und rauen Umgebungen eingesetzt werden. Die Bedienung ähnelt der des HC-SR04 Sensors.
Wie genau ist der JSN-SR04T Sensor?
Die Genauigkeit liegt bei etwa 3 mm. Du kannst den Sensor für deine Umgebung kalibrieren, um bessere Ergebnisse zu erzielen. Die Genauigkeit hängt auch von Temperatur, Luftfeuchtigkeit und anderen Umweltfaktoren ab.
Funktioniert der JSN-SR04T Sensor bei unterschiedlichen Lichtverhältnissen?
Ja, der JSN-SR04T Sensor funktioniert unabhängig von Licht, da er auf der Laufzeit des Schallsignals basiert.
Wie sind die Abmessungen des JSN-SR04T Sensors?
Der JSN-SR04T Sensor misst 45 mm x 20 mm x 15 mm. Die Sensoreinheit ist mit einem 2,5 m langen Kabel verbunden, das variieren kann.
Fazit
Dieser Artikel hat alle wichtigen Informationen zum JSN-SR04T Sensor behandelt. Ich habe dir die Funktionsweise und mögliche Anwendungen des Sensors umfassend erklärt.
Das grundlegende Funktionsprinzip sowie einige Tipps und Tricks zur Nutzung des JSN-SR04T helfen dir, den Sensor sicher in deinem nächsten Projekt einzusetzen.
Außerdem habe ich eine Anleitung zur Verkabelung mit dem ESP32 und Beispielcode mit Erklärung bereitgestellt.
Wenn du weitere Fragen zu den Ultraschallsensoren hast, poste sie gerne im Kommentarbereich.
Lass uns wissen, ob du möchtest, dass ich in zukünftigen Artikeln weitere Themen behandle.


