All Projects
New Project πŸš—

Smart Car Parking System

An Arduino‑based automated parking model built by Nirvaan.

Smart Car Parking System model

πŸ“˜ Project Overview

Smart Car Parking System is an automated parking model built using Arduino, IR sensors, and a servo motor. It detects cars, opens the gate automatically, and updates available parking slots on an LCD display. This project helps reduce human effort and makes parking more efficient.

Objectives

  • βœ“Design a smart parking system using Arduino
  • βœ“Reduce human effort and save time
  • βœ“Make parking more organized
  • βœ“Automatically detect empty and filled slots

Hardware Used

  • πŸ”© Arduino UNO
  • πŸ”© IR Sensors
  • πŸ”© Servo Motor
  • πŸ”© Jumper Wires
  • πŸ”© LCD Display
  • πŸ”© Miniature cars (for demo)

How It Works

  1. 1

    IR sensor detects when a car arrives at the parking gate.

  2. 2

    Servo motor automatically opens the gate.

  3. 3

    LCD display shows available parking slots.

  4. 4

    When a car enters, the system updates the slot status.

  5. 5

    If all slots are full, the display shows "Parking Full".

Circuit Diagram

Circuit diagram showing Arduino connections with IR sensors, servo motor, and LCD
Circuit diagram showing Arduino connections with IR sensors, servo motor, and LCD.

πŸ–ΌοΈ Project Gallery

The model
The model
The gate mechanism
The gate mechanism
The IR sensors
The IR sensors
The LCD display
The LCD display

πŸ’» Arduino Code

#include <Servo.h>
#include <LiquidCrystal.h>

0.7 0.18 30)">"color:oklch(0.6 0.05 250)">// LCD pins: RS, E, D4, D5, D6, D7
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
Servo gate;

const int IR_ENTRY = 2;
const int IR_SLOT1 = 3;
const int IR_SLOT2 = 4;
const int IR_SLOT3 = 5;
const int IR_SLOT4 = 6;

const int TOTAL_SLOTS = 4;

void setup() {
  pinMode(IR_ENTRY, INPUT);
  pinMode(IR_SLOT1, INPUT);
  pinMode(IR_SLOT2, INPUT);
  pinMode(IR_SLOT3, INPUT);
  pinMode(IR_SLOT4, INPUT);

  gate.attach(13);
  gate.write(0); 0.7 0.18 30)">"color:oklch(0.6 0.05 250)">// gate closed

  lcd.begin(16, 2);
  lcd.print(0.7 0.18 30)">"Smart Parking");
}

int countFreeSlots() {
  int free = 0;
  if (digitalRead(IR_SLOT1) == HIGH) free++;
  if (digitalRead(IR_SLOT2) == HIGH) free++;
  if (digitalRead(IR_SLOT3) == HIGH) free++;
  if (digitalRead(IR_SLOT4) == HIGH) free++;
  return free;
}

void loop() {
  int free = countFreeSlots();

  lcd.setCursor(0, 1);
  if (free == 0) {
    lcd.print(0.7 0.18 30)">"Parking Full   ");
  } else {
    lcd.print(0.7 0.18 30)">"Slots Left: ");
    lcd.print(free);
    lcd.print(0.7 0.18 30)">" ");
  }

  0.7 0.18 30)">"color:oklch(0.6 0.05 250)">// Car at entry gate
  if (digitalRead(IR_ENTRY) == LOW && free > 0) {
    gate.write(90);  0.7 0.18 30)">"color:oklch(0.6 0.05 250)">// open
    delay(3000);
    gate.write(0);   0.7 0.18 30)">"color:oklch(0.6 0.05 250)">// close
  }

  delay(200);
}

πŸ“¦ Get the Project Files

Download the Arduino sketch and try the project at home.

Built by Nirvaan β€” inspiring kids to learn robotics through fun and practical projects. πŸ€–βœ¨