int trigPin=14;
int echoPin=12;
int motorstatus=19;
int levelhigh=18;
int levellow=5;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(trigPin,OUTPUT);
pinMode(echoPin, INPUT);
pinMode(levelhigh, OUTPUT);
pinMode(levellow, OUTPUT);
pinMode(motorstatus, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
int duration,distance;
digitalWrite(trigPin,HIGH);
delay(1000);
digitalWrite(trigPin, LOW);
duration=pulseIn(echoPin,HIGH);
distance=(duration*0.034)/2;
if(distance<100)
{
Serial.println("Water level low");
Serial.println("Powering motor on...");
digitalWrite(levellow,HIGH);
digitalWrite(motorstatus,HIGH);
digitalWrite(levelhigh,LOW);
}
else if(distance>=400)
{
Serial.println("Water level high");
Serial.println("Powering motor off...");
digitalWrite(levellow, LOW);
digitalWrite(motorstatus,LOW);
digitalWrite(levelhigh,HIGH);
}
else if(distance<400 && distance>200)
{
Serial.println("Fillingg water..");
digitalWrite(levellow,LOW);
digitalWrite(motorstatus,HIGH);
digitalWrite(levelhigh,LOW);
}
delay(10); // this speeds up the simulation
}