ESP32 - Wassersensor
Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 und einen Wassersensor verwenden, um Regen, Wasserleckagen, Tanküberläufe zu erkennen und den Wasserstand zu messen.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den Wasserstandssensor
Pinbelegung des Wasserstandssensors
Der Wasserstandssensor verfügt über 3 Anschlüsse:
- S (Signal) Pin: Dieser Pin gibt eine analoge Spannung aus, die proportional zum Wasserstand ist.
- + (VCC) Pin: Verbindet diesen Pin mit 3,3 V oder 5 V.
- - (GND) Pin: Verbindet diesen Pin mit GND.

Wie der Wasserstandssensor funktioniert
Einfach gesagt: Je mehr Wasser in den Sensor eingetaucht ist, desto höher ist die Ausgangsspannung am S-Pin. Durch das Messen der Spannung können wir den Wasserstand bestimmen.
Verdrahtungsdiagramm
Theoretisch können wir dem Wassersensor Strom zuführen, indem wir die VCC- und GND-Pins des Sensors an die 3,3-V- bzw. GND-Pins des ESP32 anschließen.
Allerdings wird dieser Weg in der Praxis nicht empfohlen. Wenn wir dem Wassersensor ständig Strom zuführen, wird der Wassersensor durch die feuchte Umgebung elektrochemisch schneller korrodiert. Daher ist es besser, dem Wassersensor nur dann Strom zuzuführen, wenn der Wert aus dem Sensor ausgelesen wird. Um dies zu tun, können wir den VCC-Pin des Sensors mit einem digitalen Pin des ESP32 verbinden und den Pin des ESP32 so programmieren, dass er vor dem Auslesen HIGH ist und nach dem Auslesen LOW.
- Wie man ESP32 und Wassersensor mit einem Breadboard verbindet breadboard

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
- So verbinden Sie ESP32 und Wassersensor mit Schraubklemmen-Breakout-Board (betrieben über USB-Kabel)

ESP32-Code - Wert vom Wassersensor auslesen
Schnelle Schritte
- Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die Umgebung für ESP32 in der Arduino-IDE einrichtet an.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino-IDE ein.
- Kompilieren Sie den Code und laden Sie ihn auf das ESP32-Board, indem Sie auf die Schaltfläche Hochladen in der Arduino-IDE klicken.
- Tauchen Sie den Sensor langsam ins Wasser ein (ein Glas Wasser).
- Sehen Sie das Ergebnis im Serial Monitor. Es sieht wie folgt aus: Der Wert ist 0, wenn der Sensor nichts berührt.
※ Notiz:
Der Wassersensor ist nicht dafür ausgelegt, vollständig eingetaucht zu werden; nur die freiliegenden Leiterbahnen auf der Leiterplatte können mit dem Wasser in Berührung kommen. Bitte installieren Sie ihn sorgfältig.
Wie man Wasserlecks erkennt
Um Wasserleckage, Regenfall und Tanküberlauf zu erkennen, müssen wir lediglich den Sensorwert mit einem Schwellenwert vergleichen. Der Schwellenwert wird im Kalibrierungsteil dieses Tutorials festgelegt.
Lass den ESP32 eine LED einschalten, wenn ein Wasserleck erkannt wird.
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
ESP32-Code – Erkennung von Wasserleckagen
Wie man den Wasserstand misst
Der untenstehende Code teilt den Wasserstand in vier Stufen ein.
※ Notiz:
- SENSOR_MIN und SENSOR_MAX werden durch den Kalibrierungsprozess bestimmt.
- Die obige Zuordnungsmethode ist nicht genau. Allerdings ist sie in vielen Anwendungen akzeptabel.
Wasserstandssensor Kalibrierung
Siehe wie man den Wasserstandssensor kalibriert
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem an einen Wassersensor angeschlossenen ADC (Analog-Digital-Wandler) auszulesen. Der ESP32-ADC ist gut geeignet für Projekte, die keine hohe Genauigkeit benötigen. Allerdings für Projekte, die präzise Messungen benötigen, beachten Sie bitte:
- Der ESP32-ADC ist nicht perfekt genau und muss möglicherweise kalibriert werden, um korrekte Ergebnisse zu erhalten. Jedes ESP32-Board kann etwas unterschiedlich sein, daher müssen Sie den ADC für jedes einzelne Board kalibrieren.
- Die Kalibrierung kann schwierig sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer die genauen Ergebnisse, die Sie möchten.
Für Projekte, die eine hohe Präzision benötigen, ziehen Sie in Erwägung, einen externen ADC (z. B. ADS1115) zusammen mit dem ESP32 zu verwenden oder einen Arduino zu verwenden, der über einen zuverlässigeren ADC verfügt. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, lesen Sie die ESP32 ADC Calibration Driver.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.