DEV Community


Posted on


Enter fullscreen mode Exit fullscreen mode

In this modern era of technology, where the vehicles are considered as one of the most crucial part of one person’s life. Each and every house has minimum of 2 cars. The number of vehicles users increase day by day. Talking about just Melbourne area, there were approximately 19.8 million registered motor vehicles till 31 January 2020 and this number is still growing. As the number of vehicles on the road grows, decrease in the number of car park spaces, result in serious accident and congestion while parking which might result in damaging of one’s own and another person vehicle too. For many people all across the world, looking for a parking space has become a daily routine. Most folks are required to go through this time-consuming and irritating process. But people are always in a hurry which make them careless resulting in serious accident or we could say collision occurs.

                      Project Overview
Enter fullscreen mode Exit fullscreen mode

However, the new generation car comes with automatic sensor and camera technology which allow the person to park properly and let the person know where it parks wrong or give the buzzer sound to the user to prevent collision. But these systems are not installed in the old generation cars and you could say most of the car running on the roads are without these new tech feature. The aim of my project is to make a smart parking system which detects and provide the user to park their cars with appropriate distance from the wall/parking space line. It will start buzzing/red Led will turned on if the user park his car at inappropriate distance in the parking space. Moreover, it will inform the user about all the warning and successful parking toast about everything by either sending a Gmail or as a text message So, my aim of the project is focussing on helping the old car by providing a cheap and high-tech feature solution which will considerably help people to park safely and decrease the accident/collision chances.

                     Components Required

Enter fullscreen mode Exit fullscreen mode

• Raspberry Pi

• Ultrasonic Distance Sensor


• Buzzer

• Male to Female Jumper Wires

• Ohm’s Resister

• Breadboard

• Power Source


• Raspberry Pi OS
• IDE (For Writing Code)
• Python Language (For coding)


                    Approach to Project
Enter fullscreen mode Exit fullscreen mode

Go through various ideas to help people and finalised the one.
Gathering the sources for this project.
Create a pitch in such a way to address two different
audiences with my embedded system.
Determine and collect the component required for this project.
Design the architecture for my system.
Did a quick recap for above criteria to think and add new
feature to make it more promisable.
Created a fully working prototype model.

Design Principles

The Design for my system is bit complex as it focuses, on three different tasks:

  1. First task is to convey a simple message that parking is available at particular spot in the whole lot, to two different audiences one is the audience coming to the parking-lot for parking and the other audience could be the owner/ person who is taking care of parking-lot.

  2. Second Task is to convey other message that parking lot spaces are occupied to same two different audience talked about in the first task.

  3. Third task is to tell the user who is parking? is he is parking properly or not. To safe the parking experience for the user.

                  Project Architecture

The working of my system is very easy to understand at front but there are many complex things working on behind, completing different tasks and in addition to this, led and buzzer is also connected to this system. The setup of my system will be such that for car parking lots, there will be three different sensors applied on the three sides of car parking space line/ marking connected with buzzer directly and a Led at the top. Now working will be such that whenever any cars enter the parking lot doesn’t matter how much big the car-lot is, any person could see that Led glowing from far distance which will convey the driver about the available space for parking and he might easily go and park his/her car at that empty space. Other Feature, my project will provide is when a person try to park the car in particular space first the led will turned off, showing other driver of the cars that place got occupied and the other thing it will tell the parking driver to provide with buzzer sound when the car goes too close or at distance which is not a good parking point. Buzzer sound will be quick as soon as our vehicle go close to the wall or close to parking space line from the other side except from the line where you are entering. I use ultrasonic sensor to measure the distance and check the conditions like if distance<4 it will buzz and if the distance > 4.5 and 7 an it will buzz and if distance > 10 it will not buzz at all and there will be two different IFTTT applets working on the back from which one will send an email to parking-lot owner to know when space is empty and other applets will be when it occupied. This idea is for my prototype but in actual we have to measure the distance again using my way/code we could make it possible in real and it will solve one of the major problem result in decrease in the number of careless accidents.

Enter fullscreen mode Exit fullscreen mode

                    TESTING APPROACH
Enter fullscreen mode Exit fullscreen mode

For testing, I took pen and paper and created parking space ratio of 1:100 on the paper. Secondly, I used rubic-cubes representing a car, which needs to be parked. So, I set up the distance of my system on the basis of car space created on a paper. At initial position when the car space is empty, there will be red led turned on which depicts empty car space and when my rubic-cubes enter into the space the led will turn off depicting that car space is full and send the email to parking lot owner about this information through email on real time basis.
In addition to this one more script is working when car comes close to the wall/ parking marking there buzzer activate and gives warning on the distance basis if it not too close & not too far it will give slow buzzer but if it too close it will give rapid buzzer sound. Using this I test my system and images to this setup are provided above and there is a video link provided to this testing on 11.1 task project demo.

Enter fullscreen mode Exit fullscreen mode

 At first need to gather the components required.
o Raspberry pi3
o Ultrasonic sensor
o Buzzer
 Secondly need to connect all the sensor to the raspberry pi 3 using breadboard steps are as follow:
o Connecting ultrasonic sensor to the raspberry pi using breadboard.
 Connect the VCC point of sensor to the 5volt pin on raspberry pi3.
 Connecting the trigger pin of sensor to any of the GPIO pin on the raspberry pi3 (In my case I use GPIO15)
 Connecting the Echo pin to any of the GPIO pin on the raspberry pi3 (In my case I use GPIO14)
 Connect the GND pin to the ground pin on the raspberry pi3.
o Connecting the Led to the Raspberry pi3 using breadboard.
 Connect the positive end of the LED to the any GPIO pin (I use GPIO4)
 Connect the negative end of the LED to the ground pin on raspberry pi3.
o Connecting the Buzzer to the Raspberry pi3 using breadboard.
 There are two pins on the buzzer a long and short. Long represents positive and short represents negative.
 I connect the short pin (-ve) to ground pin of the raspberry pi3.
 Connect the other end (+ve) to the GPIO pin of the raspberry pi3.

 Use my GITHUB Link to download the code and then do the changes on the code with regards to the pin you are using on you setup.
 After doing changes you are ready with the code. Using power supply and HDMI cable turn on the raspberry pi 3.
 [OPTIONAL] Now open terminal using nano edit create .py file and paste the code in the file.
 After you arrive at the main screen first tried to connect your raspberry pi to the ineternet.
 Open your code on the @thornypython IDE and recheck the code once again.
 Before running the code, you have to setup the IFTTT and create two applets one for empty slot and other for occupy slot.
o You need to use webhook on the if method and Gmail on the then method and update it as shown below.

  o After this we have to click on Explore, search for webhook and then go to documentations from there you could find the key and paste your key in the code where I use <r= requests> just change the key to your key.
Enter fullscreen mode Exit fullscreen mode

 After completing with IFTTT, come back to our raspberry IDE and run the code and then do the testing I provided above in testing approach.

Discussion (0)