#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int low=2;
int normal=3;
int near_full=4;
int full=5;
int threshold=45;
int motor=7;
int triger=10;
int echo=11;
int i;
int value;
int b;
void setup() {
lcd.backlight();
lcd.begin(16,2);
lcd.setCursor(0,0);
pinMode(low,OUTPUT);
pinMode(normal,OUTPUT);
pinMode(full,OUTPUT);
pinMode(near_full,OUTPUT);
pinMode(echo,INPUT);
pinMode(triger,OUTPUT);
lcd.print("system_read");
delay(1000);
lcd.clear();
}
void loop() {
// put your main code here, to run repeatedly:
//lcd.clear();
lcd.clear();
digitalWrite(triger,LOW);
delay(2);
digitalWrite(triger,HIGH);
delay(10);
digitalWrite(triger,LOW);
delayMicroseconds(5);
b=pulseIn(echo,HIGH);
value=b*0.034/2;
i=map(value,2,400,0,52);
delay(100);
if(i>threshold){
digitalWrite(motor,HIGH);
digitalWrite(low,HIGH);
digitalWrite(normal,HIGH);
digitalWrite(full,HIGH);
digitalWrite(near_full,HIGH);
lcd.print("near_full :");lcd.print(i);
}
if(i>=26 && i<=threshold){
digitalWrite(motor,HIGH);
digitalWrite(low,LOW);
digitalWrite(normal,HIGH);
digitalWrite(full,LOW);
digitalWrite(near_full,HIGH);}
if(i>=6 && i<=25){
digitalWrite(motor,HIGH);
digitalWrite(low,HIGH);
digitalWrite(normal,HIGH);
digitalWrite(full,LOW);
digitalWrite(near_full,HIGH);
}
if(i<=5&&i>2){
digitalWrite(motor,LOW);
digitalWrite(low,HIGH);
digitalWrite(normal,HIGH);
digitalWrite(full,HIGH);
digitalWrite(near_full,LOW);
}
if(i<=2){
digitalWrite(motor,LOW);
digitalWrite(low,LOW);
digitalWrite(normal,LOW);
digitalWrite(full,LOW);
digitalWrite(near_full,LOW);
}
}