Hello readers, in the light of the current scenario the problems associated with vehicles parking are increasing day by day. In this article, we are going to make an automatic car parking system project using Arduino UNO. For detecting the movement of vehicles we are using the IR sensors and to display the parking status we are using a 16×2 LCD. You can read the full article with a brief explanation on our website. All the necessary details are provided below.
automatic car parking system project Working?This system is capable of finding the empty slots that are available for parking automatically. If the slot is empty in the automated car parking the new vehicles are allowed to enter the parking else the entrance is blocked by using the servo barrier in case no empty slot is found by the system. The visitors can see the status for the availability of the free space outside the parking on a 16×2 LCD.
- Arduino UNO
- Two IR sensors
- Servo motor
- Jumper wires and a breadboard
- 16×2 LCD and an I2C module
- USB cable for uploading the code
Please make the connections according to the above diagram.
Automatic car parking system project CodeNOTE: Please upload this code to Arduino.
// TECHATRONIC.COM
// I2C LIBRARY
//https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#include <Servo.h>
Servo myservo1;
int IR1 = 4; // IR Sensor 1
int IR2 = 7; // IR Sensor 2
int Slot = 4; //Enter Total number of parking Slots
int flag1 = 0;
int flag2 = 0;
void setup()
{
lcd.init();
lcd.backlight();
pinMode(IR1, INPUT);
pinMode(IR2, INPUT);
myservo1.attach(9);
myservo1.write(100);
lcd.setCursor (0,0);
lcd.print(" ARDUINO ");
lcd.setCursor (0,1);
lcd.print(" PARKING SYSTEM ");
delay (2000);
lcd.clear();
}
void loop(){
if(digitalRead (IR1) == LOW && flag1==0){
if(Slot>0){flag1=1;
if(flag2==0){myservo1.write(0); Slot = Slot-1;}
}else{
lcd.setCursor (0,0);
lcd.print(" SORRY 🙁 ");
lcd.setCursor (0,1);
lcd.print(" Parking Full ");
delay (3000);
lcd.clear();
}
}
if(digitalRead (IR2) == LOW && flag2==0){flag2=1;
if(flag1==0){myservo1.write(0); Slot = Slot+1;}
}
if(flag1==1 && flag2==1){
delay (1000);
myservo1.write(100);
flag1=0, flag2=0;
}
lcd.setCursor (0,0);
lcd.print(" WELCOME! ");
lcd.setCursor (0,1);
lcd.print("Slot Left: ");
lcd.print(Slot);
}
You can also check tutorials on Arduino and Raspberry Pi.
HAPPY LEARNING!
Comments
Please log in or sign up to comment.