5.9 Wasserstandsüberwachungssystem
5.9.1 Wasserstandssensor
Der Wasserstandssensor integriert eine Reihe von freiliegenden parallelen Linien, um das Volumen von Wasser und Tropfen zu messen.

Achtung: Mit Ausnahme des Erfassungsbereichs ist der Sensor nicht wasserdicht. Das Verschütten von Wasser auf andere Bereiche kann zu einem Kurzschluss führen.
Öffnen Sie den Code 5.9.1Water-Level-Sensor mit der Arduino IDE.
#define WaterLevelPin 33
void setup() {
Serial.begin(9600);
pinMode(WaterLevelPin,INPUT);
}
void loop() {
int ReadValue = analogRead(WaterLevelPin);
Serial.println(ReadValue);
delay(500);
}
Wählen Sie das Board ESP32 Dev Module und den COM-Port und laden Sie den Code hoch.

Testergebnis:
Öffnen Sie den seriellen Monitor. Berühren Sie den Erfassungsbereich des Sensors mit einem feuchten Finger, und der aktuell erfasste Wert wird auf dem Monitor ausgegeben (Bereich: 0~4095).

5.9.2 Wasserstandsüberwachungssystem
Öffnen Sie den Code 5.9.2Water-Level-Testing-System mit der 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();
}
Wählen Sie das Board ESP32 Dev Module und den COM-Port und laden Sie den Code hoch.

Testergebnis:
Das LCD zeigt den Echtzeitwert des Wasserstands an. Wenn der Wasserstandssensor erkennt, dass der Wasserstand unter 200 liegt, beginnt der Summer zu alarmieren.
