Microprocessor and Interfacing Lab Project
Microprocessor and Interfacing Lab Project
Department of
Group : 07
1. Member -1:
• Name : Al-Amin
• Reg. no. : 2020331057
• Email : alamin.sust.cse@gmail.com
2. Member-2:
• Name : Riaz Ahmed
• Reg. no. : 2020331079
• Email : riazahmed2246@gmail.com
3. Member-3:
• Name : Mahmudul Ferdous
• Reg. no. : 2020331037
• Email : mahmudulferdous2050@gmail.com
4. Member-4:
• Name : Md. Sakib Hassan
• Reg. no. : 2020331109
• Email : mdsakibhassan256124@gmail.com
5. Member-5:
• Name : MD Rafi
• Reg. no. : 2019331096
• Email : rafimd4212@gmail.com
Description of the Project
Introduction:
The automated car parking system aims to streamline parking management using microprocessor
and microcontroller technology. The system automates the detection of parking space availability
and controls a gate mechanism to manage vehicle entry.
How It Works:
1. Initialization: The Arduino initializes the servo motor and the LCD display.
2. Sensor Reading: Continuously reads the state of the IR sensors to detect the presence or
absence of vehicles.
3. Display Update: Updates the LCD display with the status of the parking space (Available
or Occupied).
4. Gate Control: Opens the gate if the parking space is available and closes it when the space
is occupied.
Diagram of the Project Including Connections Between Components
Circuit Diagram:
The diagram above illustrates the connections between the components of the automated car
parking system project, which includes an Arduino UNO, IR proximity sensors, a 16x2 LCD i2c
display, and a servo motor.
Circuit Assemble:
Assemble the circuit by connecting the components to the Arduino UNO. For the IR Proximity
Sensor, connect VCC to the 5V pin, GND to the GND pin, and the signal pin to a digital pin (e.g.,
D2) on the Arduino. For the 16x2 LCD i2c Display, connect VCC to the 5V pin, GND to the GND
pin, SDA to the A4 pin, and SCL to the A5 pin on the Arduino. For the Servo Motor, connect VCC
to the 5V pin, GND to the GND pin, and the signal pin to a PWM-capable digital pin (e.g., D9) on
the Arduino. Use jumpers to ensure secure and reliable connections for all components.
Code:
Here is the code in CPP language for the automated car parking system using Arduino.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
void setup() {
// Initialize serial communication
Serial.begin(9600);
if (carExiting) {
if (digitalRead(IR2) == HIGH) { // Wait for sensor to reset
carExiting = false;
}
}
// Debugging information
Serial.print("IR1: ");
Serial.print(digitalRead(IR1));
Serial.print(" IR2: ");
Serial.print(digitalRead(IR2));
Serial.print(" Slots: ");
Serial.println(availableSlots);
}
GitHub Link:
Here attached a GitHub repository where we uploaded the code along with others additional files
(schematics, libraries used, Documentation). To demonstrate: GitHub Repository Link
To begin, you need to gather all the necessary hardware components for the project. These
include:
• Arduino UNO: The main microcontroller that will be used to process inputs and
control outputs.
• IR Proximity Sensor: This sensor will detect the presence of a vehicle in the parking
space.
• 16x2 LCD i2c Display: This display will show the status of the parking space, such as
"Parking Available" or "Parking Full".
• Servo Motor: The servo motor will act as a gate, opening and closing based on the
parking space status.
• Jumpers: These are used to make the electrical connections between the components
and the Arduino.
Ensure that all components are in working condition before proceeding to the next step.
2. Circuit Assembly
Next, you need to assemble the circuit by connecting the components to the Arduino UNO.
Follow the provided schematic diagram carefully:
• IR Proximity Sensor:
• Servo Motor:
• Jumpers:
➢ Use the jumpers to make the above connections secure and reliable.
3. Code Development
With the hardware set up, the next step is to write the Arduino code to control the components.
Open the Arduino IDE and write a sketch (program) that performs the following tasks:
4. Testing
Once the code is ready, upload it to the Arduino UNO using the Arduino IDE. Ensure the board
is connected to your computer via a USB cable. After the upload is complete, observe the
system in action:
5. Refinement
After the initial testing, you may need to make adjustments to optimize the system's
performance. Consider the following refinements:
Continue testing and refining until the system performs reliably and meets the project objectives.