#include <LiquidCrystal_I2C.h>
#include <Servo.h>
#define IR_1 8
#define IR_2 9
#define IR_3 10
#define IR_4 11
#define LED 13
LiquidCrystal_I2C LCD_1(0x27,16,2);
Servo servo_1;
Servo servo_2;
void setup()
{
Serial.begin(9600);
pinMode(IR_1, INPUT);
pinMode(IR_2, INPUT);
pinMode(IR_3, INPUT);
pinMode(IR_4, INPUT);
pinMode(LED, OUTPUT);
servo_1.attach(5);
servo_2.attach(6);
servo_1.write(0);
servo_2.write(0);
LCD_1.init();
LCD_1.setCursor(0,0);
LCD_1.backlight();
LCD_1.display();
}
//Car Parking with 5 Places
void loop()
{
// for The Entry
if((digitalRead(IR_1) == LOW) && (digitalRead(IR_2) == HIGH))
{
servo_1.write(90);
delay(1000);
}
else if((digitalRead(IR_1) == LOW) && (digitalRead(IR_2) == LOW))
{
servo_1.write(90);
delay(1000);
}
else if((digitalRead(IR_1) == HIGH) && (digitalRead(IR_2) == LOW))
{
servo_1.write(90);
delay(1000);
}
else
{
servo_1.write(0);
}
// for the Exit
if((digitalRead(IR_3) == LOW) && (digitalRead(IR_4) == HIGH))
{
servo_1.write(90);
delay(1000);
}
else if((digitalRead(IR_3) == LOW) && (digitalRead(IR_4) == LOW))
{
servo_1.write(90);
delay(1000);
}
else if((digitalRead(IR_3) == HIGH) && (digitalRead(IR_4) == LOW))
{
servo_1.write(90);
delay(1000);
}
else
{
servo_1.write(0);
}
// Counting Condition
if((digitalRead(IR_3) == LOW))
{
if((digitalRead(IR_4) == LOW))
{
}
}
}