#include <LiquidCrystal.h>
int trig=2;
int enco=3;
int rs=12 ,e=11, d4=4, d5=5 , d6=6 ,d7=7;
LiquidCrystal lcd( rs, e, d4, d5, d6, d7);
int red=17,yellow=16,grey=15,green=14;
int time,relay=18;
void setup() {
lcd.begin(16,2);
lcd.print("water tank monitor");
// lcd.scrollDisplayLeft();
delay(5000);
pinMode(trig, OUTPUT);
pinMode(enco, INPUT);
pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(grey, OUTPUT);
pinMode(green, OUTPUT);
pinMode(relay, OUTPUT);
digitalWrite(relay, LOW);
// put your setup code here, to run once:
}
void loop() {
lcd.clear();
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
time=pulseIn(enco,HIGH);
int distance=time*0.034/2;
int val=map(distance,0,400,0,60);
lcd.print(val);
lcd.setCursor(2,0);
lcd.print("cm");
delay(200);
if(val>45&&val<=60){
//tone(relay,450);
digitalWrite(red, HIGH);
digitalWrite(relay, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(green, LOW);
digitalWrite(grey, LOW);
}
if(val>30&&val<=45){
digitalWrite(red, HIGH);
//digitalWrite(relay, HIGH);
digitalWrite(yellow, HIGH);
digitalWrite(green, LOW);
digitalWrite(grey, LOW);
}
if(val>=15&&val<=29){
digitalWrite(red, HIGH);
//digitalWrite(relay, HIGH);
digitalWrite(yellow, HIGH);
digitalWrite(green, LOW);
digitalWrite(grey, HIGH);
}
if(val>=0&&val<=14){
digitalWrite(red, HIGH);
//digitalWrite(relay, HIGH);
digitalWrite(yellow, HIGH);
digitalWrite(green, HIGH);
digitalWrite(grey, HIGH);
if(val<=45){
digitalWrite(relay, LOW);
}
}
}