const int FloatSensor = 5;
const int Relay = 4;
bool prevFloatState = 1;
void setup() {
Serial.begin(115200);
pinMode(FloatSensor, INPUT_PULLUP);
pinMode(Relay, OUTPUT);
prevFloatState = digitalRead(FloatSensor);
Serial.print("System started with... ");
bool initialFloatState = digitalRead(FloatSensor);
if (initialFloatState == LOW) {
Serial.println("Water level HIGH & Pressure pump ON");
digitalWrite(Relay, HIGH);
}
else {
Serial.println("Water level LOW & Pressure pump OFF");
digitalWrite(Relay, LOW);
}
}
void loop() {
static unsigned long lastTime;
unsigned long now = millis();
if (now - lastTime < 20) return; // run loop at 50 Hz, automatic swtich debouncing.
lastTime = now;
bool FloatState = digitalRead(FloatSensor);
if (FloatState != prevFloatState) {
prevFloatState = FloatState;
if (FloatState == LOW) {
Serial.println("Water level HIGH & Pressure pump ON");
digitalWrite(Relay, HIGH);
}
else {
Serial.println("Water level LOW & Pressure pump OFF");
digitalWrite(Relay, LOW);
}
}
}