Smart Car Parking System
3861 4
Mukkabir Rahman

Smart Car Parking System

In india due to high population, traffic is an issue. In many malls, hospitals, theatres and many...


In india due to high population, traffic is an issue. In many malls, hospitals, theatres and many other place there's no proper parking system and people face jams. So we decided to make this project to avoid traffic jams and give a proper parking system. This system works without any human effort total automatically and provides proper parking system without any hesitation.

Project Used Hardware

Smart Parking System

Arduino Uno, IR sensor, servo motor, 10k pot, 16*2 lcd

Project Used Software

Arduino IDE, fritzing

Project Hardware Software Selection

Arduino Uno was selected as it is readily available. Arduino IDE software is used to program the board. IR sensors were used to detect the number of car go inside into smart car parking system, it also detect number of car go outside from smart car parking system. The total space and blank space on the parking site is display on the lcd. Servo motor is use as a gate. To make the circuit I use fritzing because it's quite easy for me.

Circuit Diagram

Smart Parking System Circuit Diagram

LCD - arduino Vss----gnd, Vdd----5v, Ve------10k pot( middle leg), RS-----A0, RW-----gnd, Enable --- A1, D4--A2, D5-A3, D6-A4, D7-A5, 5v-vcc, Gnd-gnd IR sensor1 --- Arduino Vcc(ir 1)--------5v, Gnd(ir 1)--------gnd, Out(ir 1)---------digital pin 2 Ir sensor 2 ---- arduino Vcc---5v, Gnd---gnd, Out ---digital pin 4 Servo motor ---- arduino Vcc-5v, Gnd-gnd, signal pin - 3



//the electronic noobs
#include <LiquidCrystal.h>// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);
#include <Servo.h> //includes the servo library
Servo myservo1;
int ir_s1 = 2;
int ir_s2 = 4;
int Total = 3;
int Space;
int flag1 = 0;
int flag2 = 0;
void setup() {
pinMode(ir_s1, INPUT);
pinMode(ir_s2, INPUT);
lcd.begin(16, 2);  
lcd.setCursor (0,0);
lcd.print("  Car  Parking  ");
lcd.setCursor (0,1);
lcd.print("     System     ");
delay (2000);
Space = Total;
void loop(){ 
if(digitalRead (ir_s1) == LOW && flag1==0){
if(flag2==0){myservo1.write(0); Space = Space-1;}
lcd.setCursor (0,0);
lcd.print(" Sorry no Space ");  
lcd.setCursor (0,1);
lcd.print("    Available    "); 
delay (1000);
if(digitalRead (ir_s2) == LOW && flag2==0){flag2=1;
if(flag1==0){myservo1.write(0); Space = Space+1;}
if(flag1==1 && flag2==1){
delay (1000);
flag1=0, flag2=0;
lcd.setCursor (0,0);
lcd.print("Total Space: ");
lcd.setCursor (0,1);
lcd.print("Left  Space: ");