This is a homemade high school project of a fully-functional architectural model of a smart parking system/lot.
Contains fully automatic barriers, LED indication of parking lot occupance (RED-occupied, GREEN-free), LCD display at the entrance. Parking lot sensors are pointing straight down from the roof.




Stuff painted dark-gray is steel, everything else is wooden.
Project contains approx. 30 metres of wire.
Total current draw is 220mA (a lot less than theoretical expectation), without servos - those are supplied by 4x1, 5V batteries.
Infrastructure Telemetry: Smart Car Parking
A tiny robot avoiding a wall is simple. Managing multiple physical parking spaces, identifying the user's secure RFID card, printing dynamic availability strings across an LCD array, and lifting a heavy mechanical gate all at the exact same moment requires mastering State Machines and Non-Blocking C++ loops! The Smart Car Parking System is a miniature replica of absolute commercial garage architecture.
The Entry Gate Authorization (MFRC522)
The user rolls their car up to the gate. They do not press a button.
- The incredibly sensitive MFRC522 13.56MHz RFID Reader is constantly scanning its local 3-inch radius via the SPI interface (
MISO, MOSI, SCK, SDA, RST). - The user taps their plastic White Card.
- The C++ code (
mfrc522.PICC_ReadCardSerial()) extracts the exact mathematical 4-byte Hexadecimal UID string (e.g., F3 B2 1A 85). - The Security Trap:
if (content == "F3 B2 1A 85"). Only the Administrator card matches! The massive MG996R Servo violently lifts the boom gate physically into the air!
The Parking Slot Matrix (IR Obstacle Avoidance)
Once inside the garage, the central Arduino must track exactly where the car parked.
- The project utilizes cheap, digital Infrared Obstacle Avoidance Modules embedded directly into the "floor" of Slot 1 and Slot 2. As shown in the project images, these sensors are mounted pointing straight down from the roof to detect a vehicle's presence.
- The sensors fire an invisible beam of IR light continuously.
- When the car parks directly over the sensor, the beam physically bounces off the underside of the car chassis and strikes the receiver! The sensor
digitalRead(Slot_1)drops toLOW. - The Dashboard Update: The central processor constantly recalculates the
Available_Slotsvariable.
int totalSlots = 2;
if (digitalRead(Slot_1) == LOW) { totalSlots--; }
if (digitalRead(Slot_2) == LOW) { totalSlots--; }
- The huge 16x2 I2C Character Display acting as the billboard outside the garage dynamically updates from
SPACES: 2down toGARAGE FULL!, and the RFID readerloop()algorithm immediately locks out anyone else from entering!
Garage System Hardware Infrastructure
- Arduino Uno/Mega (Mega is wildly preferred if attempting to build a 6-Slot garage, as IR modules consume massive digital pin counts!).
- MFRC522 RFID Reader Module (Must be on the 3.3V logic line! Do NOT power it via the 5V line!).
- MG996R Metal Servo Motor (Operating the heavy boom gate lever).
- Multiple IR Obstacle Avoidance Sensor Modules (The type with two tiny LEDs: one clear, one black).
- A 16x2 I2C LCD Display Module.