#include <LiquidCrystal.h>
const int waterSensorPin = A0;
const int lcdRs = 12, lcdE = 11, lcdD4 = 5, lcdD5 = 4, lcdD6 = 3, lcdD7 = 2;
const int buzzerPin = 8;
LiquidCrystal lcd(lcdRs, lcdE, lcdD4, lcdD5, lcdD6, lcdD7);
void setup() {
lcd.begin(16, 2);
pinMode(buzzerPin, OUTPUT);
pinMode(waterSensorPin, INPUT);
}
void loop() {
int waterLevel = analogRead(waterSensorPin);
int percentage = map(waterLevel, 0, 1023, 0, 100);
lcd.setCursor(0, 0);
lcd.print("Water Level: ");
lcd.print(percentage);
lcd.print("%");
if (percentage < 20) {
lcd.setCursor(0, 1);
lcd.print("Low Water!");
tone(buzzerPin, 1000); // alarm sound
} else if (percentage > 80) {
lcd.setCursor(0, 1);
lcd.print("High Water!");
tone(buzzerPin, 500); // alarm sound
} else {
lcd.setCursor(0, 1);
lcd.print("Normal");
noTone(buzzerPin); // stop alarm
}
delay(1000);
}