#include<ESP32Servo.h>
Servo myservo;
long duration;
int distance;
void setup(){
myservo.attach(2);
pinMode(32,INPUT);
pinMode(26,OUTPUT);
pinMode(27,INPUT);
pinMode(4,OUTPUT);
Serial.begin(9600);
}
void loop(){
int x=digitalRead(32);
if(x==HIGH){
myservo.write(90);
Serial.println("Dustbin Open");
delay(1000);
}
else{
myservo.write(0);
Serial.println("Dustbin Close");
delay(1000);
digitalWrite(26,LOW);
delayMicroseconds(2);
digitalWrite(26,HIGH);
delayMicroseconds(10);
digitalWrite(26,LOW);
duration=pulseIn(27,HIGH);
distance=duration*0.034/2;
Serial.print("Distance=");
Serial.println(distance);
delay(500);
if(distance<=10)
{
digitalWrite(4,HIGH);
}
else{
digitalWrite(4,LOW);
}
}
}