#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define PRESSURE_PIN A0
#define RELAY_PIN 8
#define PRESSURE_THRESHOLD 500
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.begin(16, 2);
lcd.backlight();
lcd.print("Water Pressure:");
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(PRESSURE_PIN);
float voltage = sensorValue * (5.0 / 1023.0);
float pressure = (voltage - 0.5) * 100.0;
lcd.setCursor(0, 1);
lcd.print("Pressure: ");
lcd.print(pressure);
lcd.print(" psi ");
if (pressure > PRESSURE_THRESHOLD) {
digitalWrite(RELAY_PIN, HIGH);
lcd.setCursor(0, 0);
lcd.print("Pump: ON ");
} else {
digitalWrite(RELAY_PIN, LOW);
lcd.setCursor(0, 0);
lcd.print("Pump: OFF");
}
delay(1000);
}