Raspberry Pi - Water Sensor
Deze tutorial legt uit hoe u de Raspberry Pi gebruikt met de water sensor. In detail leren we:
- Hoe u de Raspberry Pi aansluit op de water sensor.
- Hoe u de Raspberry Pi programmeert om de status van de water sensor uit te lezen.
- Hoe u de Raspberry Pi gebruikt om waterlekkage, regenval, het overlopen van tanks te detecteren en het waterniveau te meten.
- Hoe u de water sensor kalibreert.
Hardware Benodigdheden
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over Waterniveausensor
Waterniveausensor Pinout
De waterniveausensor heeft 3 pinnen:
- De S (Signal) pin: Dit is een analoge uitgang die verbonden moet worden met een van de analoge ingangen van uw Raspberry Pi.
- De + (VCC) pin: Deze levert voeding voor de sensor en het wordt aanbevolen deze tussen 3,3V – 5V te gebruiken.
- De - (GND) pin: Dit is een aardingsverbinding.

※ Notiz:
De signaalpin van de sensor produceert een analoge uitgang die afhankelijk is van de spanning geleverd aan de VCC-pin.
Hoe de Waterniveausensor Werkt
Kort gezegd stijgt de uitgangsspanning op de signaalpin naarmate de hoeveelheid water waarin de sensor ondergedompeld is toeneemt.
Laten we wat dieper ingaan.
De sensor heeft tien blootgestelde koperen banen, waarvan vijf als voedingsbanen dienen en de andere vijf als meetbanen. Deze banen zijn parallel gerangschikt, met één meetbaan tussen elke twee voedingsbanen. Tenzij ze door water worden overbrugd wanneer ze ondergedompeld zijn, blijven deze banen niet met elkaar verbonden.
De banen werken als een variabele weerstand, vergelijkbaar met een potentiometer, waarvan de weerstand afhankelijk is van het waterniveau:
- De weerstand wordt bepaald door de afstand vanaf de bovenkant van de sensor tot het wateroppervlak.
- De weerstand is omgekeerd evenredig aan de hoeveelheid aanwezig water:
- Hoe meer water de sensor onderdompelt, hoe hoger de geleiding en des te lager de weerstand.
- Hoe minder water de sensor onderdompelt, hoe lager de geleiding en des te hoger de weerstand.
- De uitgangsspanning van de sensor is gebaseerd op deze weerstand.
Het bepalen van het waterniveau kan gedaan worden door de spanning te meten.
Bedradingsschema

This image is created using Fritzing. Click to enlarge image
Om uw bekabelingsopstelling te vereenvoudigen en te organiseren, raden we het gebruik van een Schroevenklemaansluiting-shield voor Raspberry Pi aan. Deze shield zorgt voor veiligere en beter beheerbare verbindingen, zoals hieronder weergegeven:

Raspberry Pi Code - Waarde uitlezen van Water Sensor
Snelle Stappen
- Zorg dat u Raspbian of een ander Raspberry Pi compatibel besturingssysteem op uw Pi heeft geïnstalleerd.
- Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw pc.
- Zorg dat uw Raspberry Pi internettoegang heeft als u libraries moet installeren.
- Als dit de eerste keer is dat u de Raspberry Pi gebruikt, bekijk dan hoe u de Raspberry Pi installeert.
- Verbind uw pc met de Raspberry Pi via SSH met de ingebouwde SSH client op Linux en macOS of PuTTY op Windows. Zie hoe u uw pc met Raspberry Pi verbindt via SSH.
- Zorg dat u de RPi.GPIO bibliotheek geïnstalleerd heeft. Zo niet, installeer deze met het volgende commando:
- Installeer de Adafruit_ADS1x15 bibliotheek door de volgende commando’s uit te voeren in de terminal van uw Raspberry Pi:
- Maak een Python scriptbestand met de naam water_sensor.py en voeg de volgende code toe:
- Sla het bestand op en voer het Python script uit met het volgende commando in de terminal:
- Laat de sensor voorzichtig in een glas water zakken.
- Controleer de output in de Terminal; deze zou 0 moeten zijn wanneer de sensor geen contact heeft met iets.
Het script draait continu in een oneindige lus totdat u Ctrl + C indrukt in de terminal.
※ Notiz:
De sensor is niet bedoeld om volledig ondergedompeld te worden; alleen de blootgestelde banen op de printplaat mogen in contact komen met water. Wees voorzichtig bij het installeren.
Hoe Waterlekkage te Detecteren
Om waterlekkage, regenval en tankoverloop te detecteren, hoeven we alleen maar de uitgelezen waarde te vergelijken met een drempelwaarde die bepaald wordt tijdens het kalibratiegedeelte van deze tutorial.
Laten we een concreet voorbeeld nemen. Als water wordt gedetecteerd, zal de Raspberry Pi een LED laten branden. Voor de bedrading, zie hoe u een LED aansluit op de Raspberry Pi.
Raspberry Pi Code - Detecteren van Waterlekkage
Snelle Stappen
- Maak een Python scriptbestand met de naam water_sensor_led.py en voeg de volgende code toe:
- Sla het bestand op en voer het Python script uit met het volgende commando in de terminal:
- Laat de sensor voorzichtig in een glas water zakken.
- Controleer de status van de LED output.
Kalibratie van de Waterniveausensor
De uitgang van de sensor wordt niet alleen beïnvloed door het waterniveau, maar ook door de geleidbaarheid van het water. Puur water is niet geleidend, terwijl water met mineralen en onzuiverheden dat wel is. Hoe hoger de geleidbaarheid van het water, des te gevoeliger de sensor is. Daarnaast is de uitgangswaarde afhankelijk van de spanning die wordt geleverd aan de VCC-pin van de sensor.
Om nauwkeurig te kunnen uitlezen met de water sensor, raden we aan de sensor te kalibreren voor het specifieke type water dat u wilt monitoren.
Instructies voor kalibratie:
- Gebruik de eerder gegeven sketch om de sensorkwaarde uit te lezen.
- Dompel de sensor onder tot het gewenste waterniveau om de drempelwaarde in te stellen.
- Noteer de waarde die de sensor toont in de terminal.
- Gebruik deze waarde als drempelwaarde om een actie te activeren.
Deze test kan ook gebruikt worden om te bepalen:
- MIN_ADC_VALUE waarde, wanneer de sensor niet ondergedompeld is in de vloeistof
- MAX_ADC_VALUE waarde, wanneer de sensor volledig ondergedompeld is in de vloeistof
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.
Daag uzelf uit
- Wanneer waterlekkage wordt gedetecteerd:
- Verstuur een e-mail
- Verstuur een SMS-bericht
- Activeer een geluidssignaal