#define FLOWRATE1 32
#define FLOWRATE2 33
#define PUMP 13
#define rled 19
#define yled 18
#define threshold 15
#define button 15
String number="0620572917";
#define sim Serial2
float flowRate1,flowRate2;
long pretime=0;
void setup()
{
Serial.begin(9600);
delay(100);
Serial2.begin(9600);
pinMode(rled,OUTPUT);
pinMode(yled,OUTPUT);
pinMode(PUMP,OUTPUT);
pinMode(button, INPUT_PULLUP);
digitalWrite(yled,LOW);
digitalWrite(rled,LOW);
digitalWrite(PUMP,LOW);
}
void loop()
{
get_data();
long timeElapse=millis()-pretime;
if((flowRate1-flowRate2)>threshold && timeElapse>10000)
{
digitalWrite(yled,LOW);
digitalWrite(rled,HIGH);
digitalWrite(PUMP,LOW);
send_sms();
pretime=millis();
}
if(digitalRead(button)==LOW)
{
delay(750);
digitalWrite(rled,LOW);
digitalWrite(yled,HIGH);
digitalWrite(PUMP,HIGH);
}
}
void get_data()
{
flowRate1=map(analogRead(FLOWRATE1),0,4095,0,100);
Serial.print("flowrate1:");
Serial.println(flowRate1);
flowRate2=map(analogRead(FLOWRATE2),0,4095,0,100);
Serial.print("flowrate2:");
Serial.println(flowRate2);
}
void send_sms()
{
sim.println("AT+CMGF=1\r");
delay(100);
sim.println("AT+CMGS=\"" + number + "\"\r");
delay(500);
sim.println("WATER LEAKAGE DETECTED");
delay(500);
sim.println((char)26);
delay(500);
Serial.println("SMS SENT SUCCESSFULLY");
}
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
PIPE LINE WATER LEAKAGE DETECTION SYSTEM
FLOWRATE SENSOR 1
FLOWRATE SENSOR 2
pot1:VCC
pot1:SIG
pot1:GND
pot2:VCC
pot2:SIG
pot2:GND
led1:A
led1:C
led2:A
led2:C
chip1:VCC
chip1:GND
chip1:RX
chip1:TX
relay1:VCC
relay1:GND
relay1:IN
relay1:NC
relay1:COM
relay1:NO
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r