// MAIN
#include <LiquidCrystal.h>
#include <Servo.h>
#define buzzer 8
#define echo 9
#define trig 10
#define serv 6
#define button 7
#define rs 12
#define e 11
#define d4 5
#define d5 4
#define d6 3
#define d7 2
#define trash 20
int i=0;
int ServoClosed ;
LiquidCrystal lcd(rs,e,d4,d5,d6,d7);
Servo servo;
void setup (){
digitalWrite(button,HIGH);
pinMode(buzzer,OUTPUT);
pinMode(echo,INPUT);
pinMode(trig,OUTPUT);
pinMode(button,INPUT);
servo.attach(serv);
servo.write(ServoClosed);
lcd.begin(16,2);
tone (buzzer,1000);
}
void loop(){
int x,y;
digitalWrite(trig,LOW);
delay(5);
digitalWrite(trig,HIGH);
delay(5);
digitalWrite(trig,LOW);
x=pulseIn(echo,HIGH);
y=x*0.034/2;
if(y>=trash){
if(digitalRead(button)==LOW){
while (digitalRead(button)==LOW){}
i++;}
if (i%2==0){
lcd.clear();
lcd.setCursor(6,1);
lcd.print("FULL");
tone (buzzer, 1000);
servo.write(0);
delay(100);
}
else if (i%2==1){
lcd.clear();
lcd.setCursor(4,1);
lcd.print("NOT FULL");
noTone(buzzer );
servo.write(90);
delay(100);
}
}
else if (y<trash){
noTone (buzzer);
lcd.clear();
servo.write(90);
lcd.setCursor(4,1);
lcd.print("NOT FULL");
}
}