CCCPaste

carpark monitoring system

#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!    ");
  }
}