const int trigPin = 8;
const int echoPin = 9;
const int solinoid_1 = 10;
const int solinoid_2 = 11;
const float limit = 100.00;
int buzzer = 12;
int count=1;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(solinoid_1, OUTPUT);
pinMode(solinoid_2, OUTPUT);
digitalWrite(solinoid_1,LOW);
digitalWrite(solinoid_2,HIGH);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
float echoPinVal = duration / 58.0;
Serial.println(echoPinVal);
if (echoPinVal<=100 && count <=3){
solinode1_control();
solinode2_control();
delay(5000);
//wating 5 min
count++;
buzzer_count();
// we can use busser to give alarm one time off flow
}
else if(echoPinVal>100 && count >3){//after long time if water is good we can open the line(meka thyenne kalin count eka 3 thibila hoda vathura enna gattama so deveni ekaa open ven oni)
solinode1_control();
solinode2_control();
count = 1;
}
else if(echoPinVal>100 && count <3){// if water is good during counting so we have to begin it again (meka mn dmme eka parak deparak count una thunedi hoda ekko dekedi hoda evata ethkotath solinoid change karn oni)
solinode2_control();
count = 1;
}
else if(count ==3){//if count is 3 we need to stop the proces and send the messsage or on the busse(mekaa thyenne kalinuth mud water apu ekata ethakota solinoid 1 ekath off flow eka close karn oni)
solinode1_control();
digitalWrite(buzzer,HIGH);
delay(1000);
digitalWrite(buzzer,LOW);
//long sound buzzer goes here
//also send the message
}
delay(2000);//we can chane loop time
}
void solinode1_control(){
digitalWrite(solinoid_1,HIGH);//open solinodie1
delay(1000);//solinoide eka control karn signal eka denna oni time eka
digitalWrite(solinoid_1,LOW);
}
void solinode2_control(){
digitalWrite(solinoid_2,HIGH);//open solinodie1
delay(1000);//solinoide eka control karn signal eka denna oni time eka
digitalWrite(solinoid_2,LOW);
}
void buzzer_count(){
digitalWrite(buzzer,HIGH);
delay(1000);
digitalWrite(buzzer,LOW);
}