#define ADC_IN A5
#define ADC_REF 3.3
#define Buzzer 4
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(2,0);
lcd.print("Hi");
lcd.setCursor(0,1);
lcd.print("Welcome :)");
delay(400);
lcd.clear();
pinMode(23, OUTPUT);
pinMode(18, OUTPUT);
pinMode(19, OUTPUT);
Serial.begin(115200);
pinMode(Buzzer, OUTPUT);
}
void loop()
{
int adcRes = analogRead( ADC_IN );
delay(10);
if (analogRead(ADC_IN) <= 1365)
{
digitalWrite(23, HIGH);
digitalWrite(18, LOW);
digitalWrite(19, HIGH);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Feed me with");
lcd.setCursor(1,1);
lcd.print("your rubbish :)");
delay(1000);
}
else
{
digitalWrite(23, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);
}
if (analogRead(ADC_IN) <= 2730)
if (analogRead(ADC_IN) > 1365)
{
digitalWrite(23, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, LOW);
lcd.clear();
lcd.setCursor(3,0);
lcd.print("I'm still");
lcd.setCursor(3,1);
lcd.print("hungry :)");
delay(1000);
}
else
{
digitalWrite(23, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);
}
if (analogRead(ADC_IN) > 2730)
if (analogRead(ADC_IN) < 4095)
{
digitalWrite(23, LOW);
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);
lcd.clear();
lcd.setCursor(4,0);
lcd.print("I'm full");
lcd.setCursor(2,1);
lcd.print("Please clear");
delay(500);
digitalWrite(Buzzer, HIGH);
delay(1000);
digitalWrite(Buzzer, LOW);
}
else
{
digitalWrite(23, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);
}
}