#include
LCD_I2C lcd(0x27, 16, 2); // A4-SDA, A5-SCL(connections)
int IRpin1 = 2;
int IRpin2 = 3;
int IRpin3 = 4;
int IRpin4 = 5;
int counter1 = 0;
int counter2 = 0;
int counter3 = 0;
int counter4 = 0;
int totalCounter = 0;
int NumberOfParkingSpace = 4;
int red1 = 7;
int green1 = 6;
int red2 = 9;
int green2 = 8;
int red3 = 11;
int green3 = 10;
int green4 = 13;
int red4 = 12;
void setup() {
Serial.begin(115200);
pinMode(IRpin1, INPUT);
pinMode(IRpin2, INPUT);
pinMode(IRpin3, INPUT);
pinMode(IRpin4,INPUT);
pinMode(red1,OUTPUT);
pinMode(green1,OUTPUT);
pinMode(red2,OUTPUT);
pinMode(green2,OUTPUT);
pinMode(red3,OUTPUT);
pinMode(green3,OUTPUT);
pinMode(red4,OUTPUT);
pinMode(green4,OUTPUT);
lcd.begin();
lcd.backlight();
lcd.clear();
}
void loop() {
int sensor1 = digitalRead(IRpin1);
int sensor2 = digitalRead(IRpin2);
int sensor3 = digitalRead(IRpin3);
int sensor4 = digitalRead(IRpin4);
if (sensor1 == LOW) {
digitalWrite(red1,true);
digitalWrite(green1,false);
counter1 = 1;
} else {
digitalWrite(green1,true);
digitalWrite(red1,false);
counter1 = 0;
}
if (sensor2 == LOW) {
digitalWrite(red2,true);
digitalWrite(green2,false);
counter2 = 1;
} else {
digitalWrite(green2,true);
digitalWrite(red2,false);
counter2 = 0;
}
if (sensor3 == LOW) {
digitalWrite(red3,true);
digitalWrite(green3,false);
counter3 = 1;
} else {
digitalWrite(green3,true);
digitalWrite(red3,false);
counter3 = 0;
}
if (sensor4 == LOW){
counter4 = 1;
digitalWrite(green4,false);
digitalWrite(red4,true);
}else{
counter4 = 0;
digitalWrite(green4,true);
digitalWrite(red4,false);
}
totalCounter = counter1 + counter2 + counter3 + counter4;
if (totalCounter < NumberOfParkingSpace) {
Serial.print("Available Parking Space is : ");
Serial.println(NumberOfParkingSpace - totalCounter);
lcd.setCursor(0, 0);
lcd.print(" Parking Space ");
lcd.setCursor(0, 2);
lcd.print(" Available: ");
lcd.setCursor(13, 1);
lcd.print(NumberOfParkingSpace - totalCounter);
}
if (totalCounter == NumberOfParkingSpace) {
Serial.println(" No more PARKING SPACE available !");
lcd.setCursor(0, 0);
lcd.print("No Parking Space");
lcd.setCursor(0, 1);
lcd.print(" Available! ");
}
}