#define P1 34
#define P2 35
#define P3 32
#define P4 33
#define LED1 14
#define LED2 27
#define LED3 26
#define BUZZER 13
int threshold = 300;
void setup() {
Serial.begin(115200);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(BUZZER, OUTPUT);
}
void loop() {
int s1 = analogRead(P1);
int s2 = analogRead(P2);
int s3 = analogRead(P3);
int s4 = analogRead(P4);
Serial.print("P1: ");
Serial.print(s1);
Serial.print(" | P2: ");
Serial.print(s2);
Serial.print(" | P3: ");
Serial.print(s3);
Serial.print(" | P4: ");
Serial.println(s4);
bool leak = false;
// Zone 1 → Between Sensor1 and Sensor2
if(abs(s1 - s2) > threshold) {
digitalWrite(LED1, HIGH);
Serial.println("Leakage Between Zone 1 and Zone 2");
leak = true;
} else {
digitalWrite(LED1, LOW);
}
// Zone 2 → Between Sensor2 and Sensor3
if(abs(s2 - s3) > threshold) {
digitalWrite(LED2, HIGH);
Serial.println("Leakage Between Zone 2 and Zone 3");
leak = true;
} else {
digitalWrite(LED2, LOW);
}
// Zone 3 → Between Sensor3 and Sensor4
if(abs(s3 - s4) > threshold) {
digitalWrite(LED3, HIGH);
Serial.println("Leakage Between Zone 3 and Zone 4");
leak = true;
} else {
digitalWrite(LED3, LOW);
}
// Buzzer Logic
if(leak) {
tone(BUZZER, 1000);
} else {
noTone(BUZZER);
}
delay(500);
}