#define S1 32
#define S2 33
#define S3 34
#define S4 35
#define L1 17
#define L2 18
#define L3 19
#define L4 21
int threshold = 2500;
unsigned long t1=0,t2=0,t3=0,t4=0;
void setup() {
Serial.begin(115200);
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L4, OUTPUT);
}
void loop() {
int v1 = analogRead(S1);
int v2 = analogRead(S2);
int v3 = analogRead(S3);
int v4 = analogRead(S4);
checkLeak(v1, L1, t1, "Pipe 1");
checkLeak(v2, L2, t2, "Pipe 2");
checkLeak(v3, L3, t3, "Pipe 3");
checkLeak(v4, L4, t4, "Pipe 4");
delay(100);
}
void checkLeak(int value, int led, unsigned long &timer, const char* name) {
if (value > threshold) {
if (timer == 0) timer = millis();
if (millis() - timer > 2000) {
digitalWrite(led, HIGH);
Serial.print("Leak detected in ");
Serial.println(name);
}
} else {
timer = 0;
digitalWrite(led, LOW);
}
}