/* Water Level Detector Sensor: XKC-Y25-V The LED lights up when water is detected. LCD display sends a text warning. Pinout: Sensor --> Arduino Signal --> pin6 -------LCD--------- SDA --> A4 SCL --> A5 */ #include LiquidCrystal_I2C lcd(0x3F, 16, 2); int sensorPinL = 5; // Signal of sensor level --> pin 5 (Low level) int sensorPinH = 6; // Signal of sensor level --> pin 6 (High level) int ledPin = 13; // The number of the LED pin int statusSensorL=0; // Saves the sensor Low level status int statusSensorH=0; // Saves the sensor High level status int waterPump = 4; // Water pump void setup() { lcd.init(); lcd.backlight(); //Turn on the backlight lcd.setCursor(0, 0); // Go to column 0, row 0 lcd.print("Tank Level Control"); lcd.setCursor(0, 1); // Go to column 0, row 1 lcd.print("Fabacademy 2022"); pinMode(waterPump, OUTPUT); pinMode(sensorPinL, INPUT); pinMode(sensorPinH, INPUT); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); //Initially the pump is turned off digitalWrite(waterPump, LOW); delay(2000); lcd.clear(); } void loop() { statusSensorL = digitalRead(sensorPinL); statusSensorH = digitalRead(sensorPinH); lcd.setCursor (0, 0); if (statusSensorL == LOW) { digitalWrite(ledPin, HIGH); digitalWrite(waterPump, HIGH); lcd.print("Without water"); lcd.setCursor (0, 1); lcd.print("waterPump : ON "); } if (statusSensorH == HIGH) { digitalWrite(ledPin, LOW); digitalWrite(waterPump, LOW); lcd.print("With water"); lcd.setCursor (0, 1); lcd.print("waterPump : OFF"); } delay(100); }