Arduino Nano - Water Sensor
Deze handleiding legt uit hoe u de water sensor gebruikt met Arduino Nano. We zullen leren:
- Hoe de water sensor aan te sluiten op de Arduino Nano
- Hoe Arduino Nano te programmeren om de status van de water sensor uit te lezen
- Hoe de water sensor te kalibreren
Dit kan worden toegepast voor detectie van waterlekkage, regenval, overloop van een tank...
Hardware Vereist
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over de Waterniveausensor
Waterniveausensor Pinout
De waterniveausensor heeft 3 pinnen:
- De S (Signal) pin is een analoge uitgang die wordt verbonden met een van de analoge ingangen op uw Arduino Nano.
- De + (VCC) pin levert stroom aan de sensor; het wordt aanbevolen een spanning tussen 3,3V en 5V te gebruiken.
- De - (GND) pin is de aardingsverbinding.

Hoe de Waterniveausensor Werkt
Kort gezegd geldt: hoe meer water de sensor onderdompelt, hoe hoger de spanning op de signaalpin zal zijn.
Laten we het iets nader bekijken.
De sensor heeft een reeks van tien blootliggende koperen banen:
- Vijf daarvan zijn stroombanen
- De andere vijf zijn sensorkanalen
De banen liggen parallel gerangschikt met een sensorkanaal tussen elke twee stroombanen. Ze zijn niet met elkaar verbonden, tenzij ze door water worden overbrugd wanneer ondergedompeld.
De banen functioneren als een variabele weerstand, vergelijkbaar met een potentiometer, waarvan de weerstand varieert met het waterniveau:
- De weerstand wordt bepaald door de afstand van de bovenkant van de sensor tot het wateroppervlak.
- De weerstand is omgekeerd evenredig met de hoeveelheid water:
- Bij meer water neemt de geleiding toe en daalt de weerstand.
- Bij minder water neemt de geleiding af en stijgt de weerstand.
- De sensor levert een uitgangsspanning gebaseerd op deze weerstand.
Het waterniveau kan worden bepaald door de spanning te meten.
Bedradingsschema
In theorie kunnen de VCC- en GND-pinnen van de sensor worden aangesloten op de 5V- en GND-pinnen van de Arduino Nano om de sensor van stroom te voorzien.
In de praktijk wordt dit niet aanbevolen. In een vochtige omgeving zal de sensor, als deze continu onder spanning staat, sneller elektrochemisch corroderen, wat de levensduur verkort.
Om dit te vermijden, adviseren wij de sensor niet continu van stroom te voorzien, maar alleen tijdens het uitlezen van de waarde. Dit kan worden gedaan door de VCC-pin van de sensor aan te sluiten op een digitale pin van de Arduino Nano en deze pin op HIGH te zetten voordat u leest en daarna weer op LOW.

This image is created using Fritzing. Click to enlarge image
Arduino Nano Code - Waarde Uitlezen van Water Sensor
Snelle Stappen
- Kopieer de bovenstaande code en open deze in de Arduino IDE.
- Klik op de Upload-knop in de Arduino IDE om de code naar de Arduino Nano te verzenden.
- Laat de sensor voorzichtig zakken in een glas water.
- Controleer de Seriële Monitor om het resultaat te zien; dit zou 0 moeten zijn wanneer de sensor niets aanraakt.
※ Notiz:
De sensor mag niet volledig ondergedompeld worden in water; alleen de blootliggende banen op de printplaat mogen in contact komen met het water. Neem alstublieft de nodige voorzichtigheid bij het plaatsen.
Hoe Waterlekkage Detecteren
Om waterlekkage, regenval en overloop te detecteren, vergelijken we eenvoudigweg de uitleeswaarde met een drempelwaarde die wordt bepaald in de kalibratiesectie van deze handleiding.
Laten we een voorbeeld bekijken. Als water wordt gedetecteerd, zal de Arduino Nano een LED activeren.
Bedradingsschema

This image is created using Fritzing. Click to enlarge image
Arduino Nano Code - Waterlekkage Detecteren
Hoe Het Waterniveau Meten
Als u het maximale waterniveau wilt opdelen in verschillende niveaus en het huidige niveau wilt meten, kunt u de techniek in onderstaande code gebruiken. Houd er rekening mee dat de maximale waterhoogte gelijk is aan de hoogte van de sensor. De code hieronder deelt de maximale hoogte op in 4 niveaus.
※ Notiz:
- SENSOR_MIN en SENSOR_MAX worden bepaald via kalibratie.
- De gebruikte map()-methode is niet exact, maar voor veel toepassingen voldoende.
- Wilt u het nauwkeuriger maken, meet dan de drempelwaarden per niveau. Raadpleeg hiervoor de kalibratiesectie van deze handleiding.
Kalibratie van de Waterniveausensor
De uitgang van de sensor wordt beïnvloed door zowel het waterniveau als de geleiding van het water. Zuiver water geleidt niet, terwijl water met mineralen en onzuiverheden wel geleidend is. Hoe hoger de geleidbaarheid, hoe gevoeliger de sensor. Daarnaast wordt de uitgangswaarde ook beïnvloed door de spanning op de VCC-pin van de sensor.
Voor nauwkeurige watermetingen adviseren wij de sensor te kalibreren voor het specifieke type water dat u wilt monitoren.
Voordat u een drempelwaarde instelt voor het activeren van een respons, is het nodig om de daadwerkelijke sensorwaarden te bepalen door een test uit te voeren.
Testinstructies:
- Gebruik het eerder gegeven voorbeeldprogramma om de sensorwaarden uit te lezen.
- Plaats de sensor in water op het niveau dat u wilt gebruiken als drempel.
- Noteer de waarde die de sensor laat zien in de Seriële Monitor.
- Gebruik deze waarde als drempelwaarde voor activering.
Deze test kan enige proef en fout vereisen. Wees bereid verschillende methoden te proberen. Heb geduld en geef niet op.
De test helpt u om het volgende te bepalen:
- SENSOR_MIN waarde, wanneer de sensor niet in het water ligt
- SENSOR_MAX waarde, wanneer de sensor volledig ondergedompeld is
- Een drempelwaarde om waterlekkage te herkennen
- 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 een visuele begeleiding bij dit project! De video biedt extra inzichten over het aansluiten en programmeren van de water sensor met Arduino Nano.
Daag Uzélf Uit
- Wanneer waterlekkage wordt gedetecteerd:
- Verstuur een e-mail
- Verstuur een SMS-bericht
- Activeer een geluidsalarm