5.9 Waterniveaubewakingssysteem
5.9.1 Waterniveausensor
De waterniveausensor integreert een reeks blootliggende parallelle lijnen om het volume water en druppels te meten.

Let op: Met uitzondering van het detectiegebied is de sensor niet waterdicht. Water morsen op andere gebieden kan leiden tot kortsluiting.
Open de 5.9.1Water-Level-Sensor code met Arduino IDE.
#define WaterLevelPin 33
void setup() {
Serial.begin(9600);
pinMode(WaterLevelPin,INPUT);
}
void loop() {
int ReadValue = analogRead(WaterLevelPin);
Serial.println(ReadValue);
delay(500);
}
Kies het ESP32 Dev Module bord en de COM poort, en upload de code.

Testresultaat:
Open de seriële monitor. Raak het detectiegebied van de sensor aan met een natte vinger en de momenteel gedetecteerde waarde wordt op de monitor afgedrukt (bereik: 0~4095).

5.9.2 Waterniveaubewakingssysteem
Open de 5.9.2Water-Level-Testing-System code met Arduino IDE
#include <LiquidCrystal_I2C.h>
#define BuzzerPin 16
#define WaterLevelPin 33
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
//Initialize the serial port
Serial.begin(9600);
//Set the water level pin to input mode
pinMode(WaterLevelPin,INPUT);
//Initialize LCD
lcd.init();
//turn on the LCD backlight
lcd.backlight();
//clear displays on LCD
lcd.clear();
ledcAttachChannel(BuzzerPin,1000,8,4);
}
void loop() {
//Read the value of water level sensor
int ReadValue = analogRead(WaterLevelPin);
//Set the display position of cursor
lcd.setCursor(0, 0);
//Set the display position of characters
lcd.print("WaterLevel:");
lcd.setCursor(6, 1);
lcd.print(ReadValue);
//When the detected value exceeds the threshold, the buzzer starts to alarm
if(ReadValue >= 2000)
{
ledcWriteTone(BuzzerPin,659);
delay(100);
ledcWriteTone(BuzzerPin,532);
delay(100);
ledcWriteTone(BuzzerPin,659);
delay(100);
ledcWriteTone(BuzzerPin,0); //Stop alarming
}
delay(500);
lcd.clear();
}
Kies het ESP32 Dev Module bord en de COM poort, en upload de code.

Testresultaat:
LCD toont de real-time waarde van het waterniveau. Wanneer de waterniveausensor detecteert dat het waterniveau lager is dan 200, begint de zoemer te alarmeren.
