#include <Servo.h>
#include<LiquidCrystal.h>
int rs=7,en=6,d4=11,d5=10,d6=9,d7=8;
LiquidCrystal lcd(rs,en,d4,d5,d6,d7);
Servo myservo;
int trigpin=2;
int echopin=4;
int array[5];
int buzz=3;
void setup()
{
lcd.begin(16,2);
Serial.begin(9600);
pinMode(echopin, INPUT);
pinMode(trigpin, OUTPUT);
myservo.attach(13);
lcd.print("welcome");
delay(1000);
}
void loop()
{
lcd.clear();
int total=0;
for(int D=0; D<5; D++)
{
array[D]=measureDistance();
Serial.println(array[D]);
total+=array[D];
}
Serial.println(total/5.0);
if(digitalRead(5)==1)
{
lcd.clear();
digitalWrite(3, HIGH);
tone(3,500);
myservo.write(0);
lcd.setCursor(1, 0);
lcd.print("Dustbin");
lcd.setCursor(0, 1);
lcd.print("IS FULL!!");
}
else
{
if((total/5.0)<100)
{
myservo.write(90);
lcd.print("Dustbin Open");
}
else
{
myservo.write(0);
lcd.print("Dustbin Closed");
}
}
delay(1500);
}
int measureDistance()
{
digitalWrite(trigpin,0);
delayMicroseconds(2);
digitalWrite(trigpin,1);
delayMicroseconds(10);
digitalWrite(trigpin,0);
long duration=pulseIn(echopin,1);
int distance=duration*0.034/2;
return distance;
}