#include<LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
#define in 8
#define OUTPUT 9
#define led 10
int count = 0;
void setup()
{
lcd.begin(16, 2);
lcd.print("Bidirectional");
lcd.setCursor(0,1);
lcd.print("Visitor Counter");
delay(5000);
pinMode(in, INPUT);
pinMode(OUTPUT, INPUT);
pinMode(led, OUTPUT);
lcd.clear();
lcd.print("Person In Room:");
lcd.setCursor(0, 1);
lcd.print(count);
}
void loop()
{
int in_value = digitalRead(in);
int OUT_value = digitalRead(OUTPUT);
if (in_value == LOW)
{
count++;
lcd.clear();
lcd.print("Person In Room:");
lcd.setCursor(0, 1);
lcd.print(count);
delay(1000);
}
if (OUT_value == LOW)
{
count--;
lcd.clear();
lcd.print("Person In Room:");
lcd.setCursor(0, 1);
lcd.print(count);
delay(1000);
}
if (count == 0)
{
lcd.clear();
digitalWrite(led, LOW);
lcd.clear();
lcd.print("Nobody In Room");
lcd.setCursor(0, 1);
lcd.print("light is Off");
delay(200);
}
else
{
digitalWrite(led, HIGH);
}
}