ESP32 - Watersensor
Deze tutorial legt uit hoe u een ESP32 en een watersensor gebruikt om regenval, waterlekken, tankoverloop te detecteren en het waterniveau te meten.
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over de Watersensor (Water Level Sensor)
Watersensor Pinout
De watersensor heeft 3 pinnen:
- S (Signaal) pin: Deze pin geeft een analoge spanning uit die evenredig is met het waterniveau. Deze pin moet worden aangesloten op een analoge input pin van de ESP32.
- + (VCC) pin: sluit deze pin aan op 3,3V of 5V.
- - (GND) pin: sluit deze pin aan op GND.

Hoe de Watersensor Werkt
Eenvoudig gezegd: hoe dieper de sensor in het water wordt ondergedompeld, hoe hoger de uitgangsspanning op de S-pin is. Door de spanning te meten, kunnen we het waterniveau bepalen.
Aansluitschema
In theorie kunnen we de watersensor van stroom voorzien door de VCC- en GND-pinnen van de sensor te verbinden met de 3,3V en GND pinnen van de ESP32.
Echter, deze manier wordt in de praktijk niet aanbevolen. Als we de watersensor continu van stroom voorzien, zal de sensor door het vochtige milieu sneller elektrochemisch corroderen. Daarom is het beter om de voedingsspanning alleen aan te zetten wanneer we een meting verrichten.
Om dit te realiseren, kunnen we de VCC pin van de sensor verbinden met een digitale pin van de ESP32, en deze pin vóór het lezen op HIGH zetten en erna weer op LOW.
- Hoe ESP32 en watersensor aan te sluiten met behulp van een breadboard

This image is created using Fritzing. Click to enlarge image
- Hoe ESP32 en watersensor aan te sluiten met behulp van een schroefterminal breakout board (voeding via USB-kabel)

ESP32 Code - Waarde Lezen van Watersensor
Snelle Stappen
- Als u ESP32 voor het eerst gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
- Kopieer de bovenstaande code en plak deze in de Arduino IDE.
- Compileer en upload de code naar het ESP32-board door op de Upload-knop in Arduino IDE te klikken.
- Dompel de sensor langzaam in het water (bijvoorbeeld een glas water).
- Bekijk het resultaat op de Seriële Monitor. Het ziet er als volgt uit: de waarde is 0 wanneer de sensor niets raakt.
※ Notiz:
De watersensor is niet ontworpen om volledig ondergedompeld te worden; alleen de blootgestelde banen op de PCB mogen in het water zijn. Wees daarom voorzichtig tijdens de installatie.
Hoe Waterlek te Detecteren
Om waterlekken, regenval en tankoverloop te detecteren, hoeven we alleen de waarde van de sensor te vergelijken met een drempelwaarde. De drempelwaarde wordt bepaald in het kalibratiegedeelte van deze tutorial.
Laten we ervoor zorgen dat de ESP32 een LED aanzet als er waterlek wordt gedetecteerd.
Aansluitschema

This image is created using Fritzing. Click to enlarge image
ESP32 Code - Waterlek Detectie
Hoe Het Waterniveau Te Meten
De onderstaande code verdeelt het waterniveau in 4 niveaus.
※ Notiz:
- SENSOR_MIN en SENSOR_MAX worden bepaald door het kalibratieproces.
- De bovenstaande methode voor mapping is niet exact, maar wel acceptabel voor veel toepassingen.
Kalibratie Watersensor
Bekijk hoe u de watersensor kalibreert
※ Notiz:
Deze tutorial gebruikt de functie analogRead() om waarden te lezen van een ADC (Analog-to-Digital Converter) die verbonden is met de watersensor. De ADC van de ESP32 is geschikt voor projecten die geen hoge precisie vereisen. Voor projecten die nauwkeurige metingen nodig hebben, is het belangrijk om te weten:
- De ESP32 ADC is niet perfect nauwkeurig en kan kalibratie vereisen voor correcte resultaten. Elk ESP32-board kan iets anders zijn, dus u moet de ADC per board kalibreren.
- Kalibratie kan lastig zijn, vooral voor beginners, en het geeft mogelijk niet altijd de gewenste exacte resultaten.
Voor projecten die hoge precisie vereisen, overweeg het gebruik van een externe ADC (bijvoorbeeld ADS1115) in combinatie met de ESP32, of gebruik een Arduino die een betrouwbaardere ADC heeft.
Als u toch de ESP32 ADC wilt kalibreren, raadpleeg dan ESP32 ADC Kalibratie Driver.
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 en helpt u dit project stap voor stap te begrijpen.