Arduino - Wassersensor
Der Wasser- oder Wasserstandsensor wird verwendet, um Wasserleckagen, Regenfälle oder Tanküberläufe zu erkennen bzw. den Wasserstand zu messen. In diesem Tutorial lernen wir:
- Wie man den Wassersensor mit Arduino verwendet
- Wie man den Wassersensor an Arduino anschließt
- Wie man Arduino programmiert, den Zustand des Wassersensors auszulesen
- Wie man Wasserleckage, Regenfälle und Tanküberlauf erkennt
- Wie man den Wasserstand misst
- Wie man den Wassersensor kalibriert
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den Wasserstandssensor
Pinbelegung des Wasserstandssensors
Der Wasserstandssensor hat drei Anschlüsse:
- S (Signal) Pin: ist ein analoger Ausgang, der an einen der analogen Eingänge Ihres Arduino angeschlossen wird.
- + (VCC) Pin: versorgt den Sensor mit Strom. Es wird empfohlen, den Sensor mit 3,3 V – 5 V zu versorgen.
- - (GND) Pin: ist eine Masseverbindung.

※ Notiz:
Der analoge Ausgangswert am Signalausgangspin variiert abhängig von der Spannung, die dem VCC-Pin des Sensors zugeführt wird.
Wie der Wasserstandssensor funktioniert
Einfach gesagt: Je mehr Wasser der Sensor eingetaucht ist, desto höher ist die Ausgangsspannung am Signalausgangspin.
Schauen wir genauer hin.
Der Sensor verfügt über zehn freiliegende Kupferleiterbahnen. Fünf davon dienen als Stromversorgungsleiterbahnen und fünf als Messleiterbahnen. Diese Leiterbahnen sind in paralleler Anordnung so verschachtelt, dass zwischen je zwei Stromversorgungsleiterbahnen jeweils eine Messleiterbahn liegt. Diese Leiterbahnen sind nicht verbunden, es sei denn, sie werden durch Wasser überbrückt, wenn sie eingetaucht sind.
Die Leiterbahnen wirken als variabler Widerstand (genauso wie ein Potentiometer), dessen Widerstand sich entsprechend dem Wasserstand ändert.
- Die Änderung des Widerstands entspricht dem Abstand vom oberen Rand des Sensors zur Wasseroberfläche.
- Der Widerstand ist umgekehrt proportional zur Höhe des Wassers:
- Je mehr Wasser der Sensor eingetaucht ist, desto besser ist die Leitfähigkeit; desto niedriger ist der Widerstand.
- Je weniger Wasser der Sensor eingetaucht ist, desto schlechter ist die Leitfähigkeit; desto höher ist der Widerstand.
- Der Sensor erzeugt eine Ausgangsspannung in Abhängigkeit vom Widerstand.
Durch das Messen der Spannung können wir den Wasserstand bestimmen.
Verdrahtungsdiagramm
Theoretisch können wir den Sensor mit Strom versorgen, indem wir die VCC- und GND-Pins des Sensors jeweils mit den 5V- bzw. GND-Pins des Arduino verbinden.
In der Praxis ist dieser Weg jedoch nicht zu empfehlen. Denn in der feuchten Umgebung führt eine ständige Stromzufuhr dazu, dass der Sensor elektrochemisch schneller korrodiert. Das verkürzt die Lebensdauer des Sensors. Um dieses Problem zu umgehen, empfehlen wir, den Sensor nicht die ganze Zeit zu versorgen, sondern ihn nur dann mit Strom zu versorgen, wenn der Sensorwert ausgelesen wird. Dies kann erreicht werden, indem der VCC-Pin des Sensors mit einem digitalen Pin eines Arduino-Boards verbunden wird und der Arduino-Pin vor und nach dem Auslesen entsprechend auf HIGH bzw. LOW gesetzt wird.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino-Code - Wert vom Wassersensor auslesen
Schnelle Schritte
- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
- Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf den Arduino hochzuladen.
- Tauchen Sie den Sensor langsam ins Wasser (ein Glas Wasser).
- Sehen Sie das Ergebnis im Serial Monitor. Der Wert 0, wenn der Sensor nichts berührt.
※ Notiz:
Der Sensor ist nicht dafür ausgelegt, vollständig unter Wasser getaucht zu werden. Nur die freiliegenden Leiterbahnen auf der Leiterplatte können mit Wasser in Berührung kommen. Bitte installieren Sie ihn sorgfältig.
Wie man Wasserleckagen erkennt
Um Wasserleckage, Niederschlag und Tanküberlauf zu erkennen, müssen wir lediglich den Messwert mit einem Schwellenwert vergleichen. Der Schwellenwert wird im Kalibrierungsabschnitt des Tutorials festgelegt.
Nehmen wir ein konkretes Beispiel. Arduino schaltet eine LED ein, wenn Wasser erkannt wird.
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino-Code – Wasserleckage erkennen
Wie man den Wasserstand misst
Wenn Sie die maximale Wasserhöhe in mehrere Stufen unterteilen und den aktuellen Pegel messen möchten, können Sie die Methode im untenstehenden Code verwenden. Beachten Sie, dass die maximale Wasserhöhe der Höhe des Sensors entspricht. Der untenstehende Code teilt die maximale Höhe in vier Stufen auf.
※ Notiz:
- SENSOR_MIN und SENSOR_MAX werden durch den Kalibrierungsprozess bestimmt.
- Die oben genannte Zuordungsmethode ist nicht genau. Sie ist jedoch in vielen Anwendungen akzeptabel. Wenn Sie sie genauer machen möchten, können Sie die Schwellenwerte für jede Stufe messen. Siehe Kalibrierungsteil.
Kalibrierung des Wasserstandssensors
Der Ausgabewert des Sensors hängt nicht nur vom Wasserstand, sondern auch von der Leitfähigkeit des Wassers ab. Reines Wasser ist nicht leitfähig. Wasser, das Mineralien und Verunreinigungen enthält, ist leitfähig. Je leitfähiger das Wasser ist, desto empfindlicher ist der Sensor. Andererseits variiert der Ausgabewert auch je nach der Versorgungsspannung, die dem VCC-Pin des Sensors zugeführt wird.
Um genaue Messwerte des Wassersensors zu erhalten, empfehlen wir Ihnen, den Sensor auf die jeweilige Wasserart zu kalibrieren, die Sie überwachen möchten.
Bevor Sie den Schwellenwert für das Auslösen einer Aktion bestimmen, sollten Sie den tatsächlich vom Sensor gelesenen Wert durch einen Test messen.
Wie man den Test durchführt:
- Verwenden Sie den oben gezeigten Sketch, um den Sensorwert auszulesen.
- Tauchen Sie den Sensor in das Wasser auf dem Niveau ein, das als Schwellenwert dienen soll.
- Notieren Sie den Wert, den der Sensor im Serial Monitor ausgibt.
- Verwenden Sie den Wert als Schwellenwert, um eine Aktion auszulösen.
Dieser Test erfordert möglicherweise etwas Ausprobieren und Fehlversuche.
Der Test kann auch verwendet werden, um Folgendes zu finden:
- SENSOR_MIN-Wert, wenn der Sensor nicht ins Wasser eingetaucht ist
- SENSOR_MAX-Wert, wenn der Sensor vollständig ins Wasser eingetaucht ist
- Ein Grenzwert zur Erkennung eines Wasseraustritts
- Die Schwellenwerte für jede Stufe Ihrer Gradskala
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.
Fordere dich selbst heraus
- Senden Sie eine E-Mail, wenn ein Wasserleck erkannt wird
- Senden Sie eine SMS, wenn ein Wasserleck erkannt wird
- Lösen Sie einen akustischen Alarm aus, wenn ein Wasserleck erkannt wird