Smart Parking System Using Node-MCU and IoT

Introduction: Smart Parking System Using Node-MCU and IoT

About: Interested in embedded systems and love to make new stuff and helping people in their problems. Stay calm and keep learning.

I came to Chandigarh in 2007 and the traffic was much lesser as compared to the present scenario in the city. Now, it is 2017 and after a span of 10 years, everyone is familiar with the chaos in the parking spaces. Imagine, when you reach a parking area and you don't find a parking space. In such a situation, the owner will park his/her vehicle in an NO PARKING zone and in some cases have to pay the fine for the same. Now, Imagine a situation where you access the parking area from anywhere using twitter or just by typing an IP in your web browser on your mobile or laptop.This will save a lot of valuable time and also prevent you from paying fine. Let's now get to the technical part. I am assuming that you all are familiar with Arduino IDE.

The logic to detect cars and reject pedestrians:

In this project, two ultrasonic sensors are employed to detect cars
and other four-wheelers and reject all pedestrians.There are three possible conditions. 1. Only Sensor 1 is active(T1). 2. Both Sensor 1 AND Sensor 2 is active(T3). 3. Only Sensor 2 is active(T2). Every time a condition is met, a timer is started and all the three timers are stopped and values are stored in three different variables. The timers values are then compared and logic is developed.I have measured all the time values and noted them in a notebook and logic developed for entry was T1>=T3>=T2. Each time this condition is met in the software, an entry will be detected and accordingly, the entry variable will also be updated with the new value. To prevent errors in detection from the hardware, place the sensors 1.5m or 2m apart from each other and place sensors at a height of 100cm above from ground.

Step 1: Get All the Components

Here are the components that you will be needing to complete this project:

  1. 1 x Arduino Nano.
  2. 2 x Ultrasonic Sensor SR-04
  3. 4 x 4-pin connectors
  4. 1 x Node-MCU or ESP8266
  5. Telephonic Wire-10 meters
  6. General Purpose Board.
  7. Soldering Iron

All of the above components are cheaply and easily available on any electronics vendor.

Step 2: Wiring the Components

I hope the table provided are enough to make the connections. Tx Rx of Arduino is connected to Rx Tx of node MCU respectively. Arduino and node MCU can be powered up by using a power bank.

Grab the General purpose Board and solder all the components as per the circuit given. Trig and Echo pin of sensors can be connected to any data pins.

I tested a prototype on a breadboard.

Step 3: Setting Up

Connect the sensor to a stick or something similar to that.

Install the whole system as shown in the pic. The two sensors should be 1.5m or 2m apart and should be 100cm or more above the ground to sense for the object properly.Temperature and sunlight do not affect ultrasonic sensor as in IR sensors and hence they are a better choice.

Step 4: Output on ThingSpeak

In the graph, you can see a peak value. This is just a random value that I used for testing purposes.The values after that are the number of vehicles entered the site. This is just a prototype and can be used with 2 more sensors to count the exited vehicles. So, now we can calculate total vehicle left inside and accordingly tweet the information to everyone. Installation Scheme is shown in the above sketch and the output is also shown in the given thingspeak screenshot.

In thingspeak,we can also produce reactions to tweet when a certain condition is met. To know more about thingspeak and how to make a channel, Visit my blog: ROBOTICS.

Step 5: Working Video

Here is the working video of my project

Visit my Youtube Channel and Subscribe ,like and share the video to support me and to learn more about embedded projects and automation projects.

Step 6: Final Output and Code.

The output is informed to the user by twitter or the user can check the website or android application with channel number to know about whether there is space or not in a parking lot.

Here are the links to download code:

  • Code to detect entries.Code for Wifi Connection of Node-MCU and data upload to thingspeak.

    Any questions or doubts, ask in comments. I would try my best to get you out of your problems which you are facing.

  • Arduino Contest 2016

    Participated in the
    Arduino Contest 2016

    Be the First to Share


      • Pumpkins & Gourds Speed Challenge

        Pumpkins & Gourds Speed Challenge
      • Made with Math Contest

        Made with Math Contest
      • Halloween Contest

        Halloween Contest


      saurabh prashar
      saurabh prashar

      10 months ago

      Nice to see someone from chandigarh.


      3 years ago

      Hi Rajat Kalyan, I love your project very much. But I don't understand the Timer concept. Since T1>=T3>=T2 is for entry. Hence, what about exit? Is it possible to share the exit coding as well? I am doing similar project as well and I hope I will be able to learn more from you.

      Thank you



      4 years ago

      This is ingenious, even more so in light of the fact that this system doesn't exist where you are. I don't know what's out there already, but this is very marketable for many applications. Not only can the info be accessible via the web, but the info can be visible on an led display at the parking lot or garage. Other uses- to keep a head count for safety purposes such as in a nightclub or a school. Cool project!


      Reply 4 years ago

      Thanks a Lot!!! :).


      4 years ago

      These types of systems are really useful! They had one set up at the Aeon Mall in Okinawa that would let you know at the entrance to each lot which lots were full so you didn't have to wander around looking for a spot.


      Reply 4 years ago

      Yeah,i haven't noticed or heard anything like that in my city in India. That is why i decided to make one. Thanks for reading