#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Ultrasonic.h>
#include <Servo.h>
#define trigPin1 11
#define echoPin1 10
#define trigPin2 9
#define echoPin2 8
#define servoPin 6
Ultrasonic ultrasonic1(trigPin1,echoPin1);
Ultrasonic ultrasonic2(trigPin2,echoPin2);
LiquidCrystal_I2C lcd(0x27,16,2);
Servo Mservo;
int x=0;
void setup() {
// put your setup code here, to run once:
Mservo.attach(servoPin);
lcd.init();
lcd.backlight();
lcd.setCursor(4,0);
lcd.print("counter:");
}
void loop() {
// put your main code here, to run repeatedly:
long distance1=ultrasonic1.read();
long distance2=ultrasonic2.read();
if (distance1<400 and distance1>350){
x=0;
}
if (distance1<350 and distance1>250){
x=1;
}
if (distance1<250 and distance1>150 ){
x=2;
}
if (distance1<150 and distance1>50 ){
x=3;
}
if (distance2<200 and distance2> 50 ){
if (x !=3){
lcd.clear();
Mservo.write(0);
lcd.setCursor(4,0);
lcd.print("counter:");
lcd.setCursor(7,1);
lcd.print(x);
delay(15000);
Mservo.write(90);
delay(1000);
}else {
lcd.setCursor(4,0);
lcd.print("counter:");
lcd.setCursor(6,1);
lcd.print("full");
}
}else{
if(x<3){
Mservo.write(90);
lcd.setCursor(4,0);
lcd.print("counter:");
lcd.setCursor(7,1);
lcd.print(x);
}else{
lcd.setCursor(4,0);
lcd.print("counter:");
lcd.setCursor(6,1);
lcd.print("full");
}
}
}