#include<Servo.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(13,12,11,10,9,8);
Servo s1;
int trigpin=5;
int echopin=4;
int a[5];
void setup() {
lcd.begin(16,2);
Serial.begin(9600);
pinMode(echopin, INPUT);
pinMode(trigpin, OUTPUT);
s1.attach(3);
lcd.print("SMART DUSTBIN");
delay(1000);
}
void loop() {
lcd.clear();
int total=0;
for(int i=0; i<5; i++){
a[i]=measureDistance();
Serial.println(a[i]);
total+=a[i];
}
Serial.println(total/5.0);
if(digitalRead(2)==1){
lcd.clear();
s1.write(0);
lcd.print("Dustbin Full..!!");
}else{
if((total/5.0)<100){
s1.write(90);
lcd.print("Dustbin Open");
}else{
s1.write(0);
lcd.print("Dustbin Closed");
}
}
delay(1500);
}
int measureDistance(){
digitalWrite(trigpin,0);
delayMicroseconds(2);
digitalWrite(trigpin,1);
delayMicroseconds(10);
digitalWrite(trigpin,0);
// delay(1000);
long duration=pulseIn(echopin,1);
int distance=duration*0.034/2;
return distance;
}