Arduino - Watersensor
De watersensor of waterniveau sensor wordt gebruikt om waterlekkage, regenval, overloop van tanks te detecteren of om het waterniveau te meten. In deze handleiding leert u:
- Hoe u de watersensor gebruikt met Arduino
- Hoe u de watersensor aansluit op Arduino
- Hoe u Arduino programmeert om de status van de watersensor uit te lezen
- Hoe u waterlekkage, regenval en tankoverloop detecteert
- Hoe u het waterniveau meet
- Hoe u de watersensor kalibreert
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over de Waterniveau Sensor
Waterniveau Sensor Pinout
De waterniveau sensor heeft 3 pinnen:
- S (Signal) pin: een analoge uitgang die verbonden wordt met een van de analoge ingangen op uw Arduino.
- + (VCC) pin: levert stroom aan de sensor. Het wordt aangeraden om de sensor te voeden met 3,3V tot 5V.
- - (GND) pin: de ground (aarde) verbinding.

※ Notiz:
De analoge uitgangswaarde op de signal pin varieert afhankelijk van de spanning die wordt toegevoerd op de VCC pin van de sensor.
Hoe de Waterniveau Sensor Werkt
Simpel gezegd: hoe meer water de sensor onderdompelt, hoe hoger de uitgangsspanning op de signal pin is.
Laten we dit wat dieper bekijken.
De sensor heeft een reeks van tien blootgestelde koperen banen. Vijf hiervan zijn voedingsbanen en vijf zijn sensorkanalen. Deze banen zijn parallel verweven zodat er tussen elke twee voedingsbanen een sensorkanaal ligt. Deze banen zijn niet met elkaar verbonden tenzij ze worden overbrugd door water bij onderdompeling.
De banen functioneren als een variabele weerstand (vergelijkbaar met een potentiometer) waarvan de weerstand verandert afhankelijk van het waterniveau.
- De verandering in weerstand correspondeert met de afstand van de bovenkant van de sensor tot het wateroppervlak.
- De weerstand is omgekeerd evenredig met de waterhoogte:
- Hoe meer water de sensor onderdompelt, hoe beter de geleiding, en hoe lager de weerstand.
- Hoe minder water de sensor onderdompelt, hoe slechter de geleiding, en hoe hoger de weerstand.
- De sensor geeft een spanning uit die overeenkomt met deze weerstand.
Door de spanning te meten kunnen we het waterniveau bepalen.
Bedradingsschema
In theorie kunnen we om de sensor van stroom te voorzien de VCC en GND pinnen van de sensor verbinden met respectievelijk de 5V en GND pinnen van de Arduino.
In de praktijk wordt dit echter afgeraden. Omdat de sensor in een vochtige omgeving staat, zal deze elektrochemisch sneller corroderen als hij constant van spanning wordt voorzien. Dit verkort de levensduur van de sensor aanzienlijk.
Om dit probleem te voorkomen, raden wij aan de sensor niet continu van stroom te voorzien, maar alleen wanneer de sensorwaarde wordt uitgelezen. Dit kan gerealiseerd worden door de VCC pin van de sensor te verbinden met een digitale pin van de Arduino en deze pin op HIGH en LOW te zetten respectievelijk voor en na het uitlezen.

This image is created using Fritzing. Click to enlarge image
Arduino Code – Waarde Uitlezen van Watersensor
Snelle Stappen
- Kopieer de bovenstaande code en open deze in de Arduino IDE
- Klik op de Uploaden knop in de Arduino IDE om de code naar uw Arduino te sturen
- Dompel de sensor langzaam in het water (bijvoorbeeld een glas water)
- Bekijk het resultaat in de Serial Monitor. De waarde is 0 wanneer de sensor niks aanraakt.
※ Notiz:
De sensor is niet ontworpen om volledig ondergedompeld te worden. Alleen de blootgestelde banen op de printplaat mogen contact maken met water. Wees voorzichtig bij het installeren.
Hoe Waterlekkage Detecteren
Om waterlekkage, regenval en overloop van tanks te detecteren, hoeft u slechts de uitgelezen waarde te vergelijken met een drempelwaarde. Deze drempelwaarde wordt bepaald in het kalibratiegedeelte van deze handleiding.
Laten we een concreet voorbeeld bekijken. Arduino schakelt een LED in als er water wordt gedetecteerd.
Bedradingsschema

This image is created using Fritzing. Click to enlarge image
Arduino Code – Detecteren van Waterlekkage
Hoe Het Waterniveau Meten
Wilt u de maximale waterhoogte indelen in verschillende niveaus en het huidige niveau meten? Dan kunt u de methode gebruiken in de onderstaande code. Let op: de maximale waterhoogte is gelijk aan de hoogte van de sensor. In het onderstaande voorbeeld wordt de maximale hoogte verdeeld in 4 niveaus.
※ Notiz:
- SENSOR_MIN en SENSOR_MAX worden bepaald tijdens het kalibratieproces.
- De bovenstaande mapping-methode is niet 100% nauwkeurig, maar is voldoende in veel toepassingen. Voor meer precisie kunt u drempelwaarden meten voor elk niveau. Zie het kalibratiegedeelte.
Kalibratie van de Waterniveau Sensor
De uitgangswaarde van de sensor hangt niet alleen af van het waterniveau maar ook van de geleiding van het water. Zuiver water geleidt bijna niet. Water met mineralen en onzuiverheden geleidt beter. Hoe beter de geleiding, hoe gevoeliger de sensor. Daarnaast varieert de uitgangswaarde ook afhankelijk van de spanning die op de VCC pin wordt aangelegd.
Voor een nauwkeurige uitlezing van de watersensor raden we aan de sensor te kalibreren voor het specifieke water dat u wilt monitoren.
Voordat u een drempelwaarde instelt om een actie te triggeren, moet u de werkelijke meetwaarde van de sensor vaststellen door een test uit te voeren.
Hoe voert u deze test uit:
- Gebruik de bovenstaande sketch om sensorwaarden uit te lezen.
- Dompel de sensor in het water op het niveau dat u wilt gebruiken als drempelwaarde.
- Noteer de waarde die de sensor in de Serial Monitor weergeeft.
- Gebruik deze waarde als drempel voor het triggeren van een actie.
Deze test kan enige trial en error vereisen.
De test kan ook gebruikt worden om te bepalen:
- SENSOR_MIN waarde, wanneer de sensor niet in water is gedompeld
- SENSOR_MAX waarde, wanneer de sensor volledig in water is gedompeld
- Een drempelwaarde voor het detecteren van waterlekkage
- De drempelwaarden voor elk niveau van uw schaalindeling
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Bekijk onze video-tutorial voor visuele begeleiding bij dit project! De video biedt extra inzichten voor het werken met de Arduino en de watersensor.
Daag uzelf uit
- Stuur een e-mail zodra waterlekkage wordt gedetecteerd
- Stuur een SMS-bericht zodra waterlekkage wordt gedetecteerd
- Maak een geluidssignaal zodra waterlekkage wordt gedetecteerd