#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
int Contrast = 25;
#define in 2 // ir digital input
#define relay 3// uv light
#define red 5 // red
#define blue 6// green
#define buzz 7//buzzer
int count=10;
void IN()
{
count--;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TotalS-Cover:25");
lcd.setCursor(0,1);
lcd.print("S-cover used:");
lcd.print(count);
delay(1000);
}
void setup()
{
analogWrite(6, Contrast);
lcd.init();
lcd.init();
lcd.backlight();
lcd.setCursor(2,0);
lcd.print(" Shoe S.P.A ");
lcd.setCursor(4,1);
lcd.print("System");
delay(2000);
pinMode(red, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(in, INPUT);
pinMode(relay, OUTPUT);
pinMode(buzz,OUTPUT);
}
void loop()
{
if(digitalRead(in)){
IN();
digitalWrite(blue,HIGH);
digitalWrite(red,LOW);
digitalWrite(buzz,LOW);
digitalWrite(relay, HIGH);
delay(3000);
digitalWrite(relay,LOW);
lcd.clear();
lcd.setCursor (1,0);
lcd.print("Please remove");
delay(2000);
lcd.clear();
pasok();
}if(count>=1 && count <=5){
digitalWrite(red,HIGH);
delay(500);
digitalWrite(red,LOW);
delay(500);
digitalWrite(red,HIGH);
delay(500);
digitalWrite(red,LOW);
lcd.clear();
lcd.setCursor(1,0);
lcd.print("WARNING S-COVER");
lcd.setCursor(0,1);
lcd.print("IS GETTING EMPTY");
delay(2000);
pasok();
}else if(count==0){
digitalWrite(blue,LOW);
digitalWrite(red,HIGH);
digitalWrite(buzz,HIGH);
delay(500);
digitalWrite(buzz,LOW);
delay(500);
digitalWrite(buzz,HIGH);
delay(500);
digitalWrite(buzz,LOW);
lcd.clear();
lcd.setCursor(4,0);
lcd.print("WARNING");
lcd.setCursor(0,1);
lcd.print("S-COVER IS EMPTY");
delay(2000);
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Please wait to");
lcd.setCursor(0,1);
lcd.print("AuthorizedPersonnel");
delay(2000);
}
}
void pasok(){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TotalS-Cover:25");
lcd.setCursor(0,1);
lcd.print("S-cover used:");
lcd.print(count);
delay(1000);
}