Arduino Nano ESP32 - Wassersensor
In diesem Tutorial wird erläutert, wie man den Arduino Nano ESP32 und einen Wassersensor verwendet, um Regen, Wasserleckage, Tanküberlauf zu erkennen und den Wasserstand zu messen.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
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 drei Pins:
- S (Signal) Pin: Dieser Pin gibt eine analoge Spannung aus, die proportional zum Wasserstand ist. Dieser Pin sollte an einen analogen Eingangspin des Arduino Nano ESP32 angeschlossen werden.
- + (VCC) Pin: Dieser Pin wird mit 3,3 V oder 5 V verbunden.
- - (GND) Pin: Dieser Pin wird mit GND verbunden.

Wie funktioniert ein Wasserstandssensor
Einfach gesagt: Je mehr Wasser in den Sensor eindringt, 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 mit den 3,3-V- bzw. GND-Pins des ESP32 verbinden.
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. Es ist besser, dem Wassersensor nur dann Strom zuzuführen, wenn der Wert aus dem Sensor ausgelesen wird. Dazu können wir den VCC-Pin des Sensors an einen digitalen Pin des ESP32 anschließen und den Pin des ESP32 so programmieren, dass er vor dem Auslesen auf HIGH und nach dem Auslesen auf LOW gesetzt wird.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino Nano ESP32 Code - Auslesen des Werts vom Wassersensor
Schnelle Schritte
- Falls dies das erste Mal ist, dass Sie Arduino Nano ESP32 verwenden, sehen Sie sich wie man die Umgebung für Arduino Nano 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 Arduino Nano ESP32-Board hoch, indem Sie in der Arduino IDE auf die Schaltfläche Hochladen klicken.
- Tauchen Sie den Sensor langsam in das Wasser (ein Glas Wasser).
- Schauen Sie sich das Ergebnis im Serial Monitor an. Es sieht wie folgt aus: Der Wert 0 wird angezeigt, 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 sich mit dem Wasser verbinden. Bitte installieren Sie ihn vorsichtig.
Wie man Wasserlecks erkennt
Um Wasserleckage, Niederschlag und Tanküberlauf zu erkennen, müssen wir lediglich den Sensorwert mit einem Schwellenwert vergleichen. Der Schwellenwert wird im Kalibrierungsteil dieses Tutorials festgelegt.
Lass uns den Arduino Nano ESP32 so programmieren, dass eine LED eingeschaltet wird, wenn ein Wasserleck erkannt wird.
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino Nano ESP32 Code – Erkennung von Wasserleckagen
Wie man den Wasserstand misst
Der unten stehende Code teilt den Wasserstand in vier Stufen ein.
※ Notiz:
- SENSOR_MIN und SENSOR_MAX werden durch den Kalibrierungsprozess bestimmt.
- Die oben genannte Zuordnungs-Methode ist nicht genau. Sie ist jedoch in vielen Anwendungen akzeptabel.
Kalibrierung des Wasserstandssensors
Siehe wie man den Wasserstandsensor kalibriert
※ Notiz:
In diesem Tutorial wird die Funktion analogRead() verwendet, um Werte von einem ADC (Analog-zu-Digital-Wandler) zu lesen, der an einen Sensor oder eine Komponente angeschlossen ist. Der ADC des Arduino Nano ESP32 eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Für Projekte, die präzise Messungen erfordern, beachten Sie Folgendes:
- Der ADC des Arduino Nano ESP32 ist nicht völlig genau und erfordert möglicherweise eine Kalibrierung, um korrekte Ergebnisse zu erzielen. Jedes Arduino Nano ESP32-Board kann sich leicht unterscheiden, daher ist eine Kalibrierung für jedes einzelne Board notwendig.
- Die Kalibrierung kann herausfordernd sein, insbesondere für Anfänger, und führt möglicherweise nicht immer zu den gewünschten exakten Ergebnissen.
Für Projekte, die eine hohe Präzision erfordern, ziehen Sie in Erwägung, einen externen ADC (z. B. ADS1115) mit dem Arduino Nano ESP32 zu verwenden oder einen anderen Arduino zu verwenden, z. B. den Arduino Uno R4 WiFi, der einen zuverlässigereren ADC hat. Wenn Sie dennoch den ADC des Arduino Nano ESP32 kalibrieren möchten, lesen Sie die Dokumentation zum 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.