0% found this document useful (0 votes)
32 views72 pages

PCX - Reportvbn

The document describes a smart car parking system using Arduino. It uses sensors like ultrasonic and infrared to detect available parking slots and guide a vehicle to a slot. The system has two parts - a master node that controls the LCD display and gate, and slave nodes that monitor slot occupancy and transmit the data to the master node.

Uploaded by

itsdaddy694200
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views72 pages

PCX - Reportvbn

The document describes a smart car parking system using Arduino. It uses sensors like ultrasonic and infrared to detect available parking slots and guide a vehicle to a slot. The system has two parts - a master node that controls the LCD display and gate, and slave nodes that monitor slot occupancy and transmit the data to the master node.

Uploaded by

itsdaddy694200
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 72

Plagiarism Checker X Originality Report

Similarity Found: 9%

Date: Tuesday, April 09, 2019


Statistics: 852 words Plagiarized / 9814 Total words
Remarks: Low Plagiarism Detected - Your Document needs Optional Improvement.
-------------------------------------------------------------------------------------------

ARDUINO BASED SMART CAR PARKING SYSTEM A PROJECT REPORT Submitted by


KUMAR SHUBHAM [Reg No: RA1511004010370] SRIJAN BAKSHI [Reg No:
RA1511004010542] GAURAV BISHT [Reg No: RA1511004010554] SHUBHAM KUMAR
GUPTA [Reg No: RA1511004010630] Under the guidance of Dr. T. DEEPA (Associate
Professor, Department of Telecommunication Engineering) in partial fulfillment for the
award of the degree of BACHELOR OF TECHNOLOGY in ELECTRONICS AND
COMMUNICATION ENGINEERING of FACULTY OF ENGINEERING AND TECHNOLOGY
S.R.M.

Nagar, Kattankulathur, Kancheepuram District MAY 2019


SRM UNIVERSITY (Under Section 3 of UGC Act, 1956) BONAFIDE CERTIFICATE Certified
that this project report titled “ARDUINO BASED SMART CAR PARKING SYSTEM” is the
bonafide work of “ KUMAR SHUB- HAM [Reg No: RA1511004010370], SRIJAN BAKSHI
[Reg No: RA1511004010542], GAURAV BISHT [Reg No: RA1511004010554], SHUBHAM
KUMAR GUPTA [Reg No: RA1511004010630], ”, who carried out the project work under
my supervision.

Certified further, that to the best of my knowledge the work reported herein does not
form any other project report or dissertation on the basis of which a degree or award
was conferred on an earlier occasion on this or any other candi- date.
SIGNATURE Dr. T.DEEPA GUIDE Associate Professor Dept. of Telecommunication &
Engineering Signature of the Internal Examiner _SIGNATURE Dr. T.RAMA RAO HEAD OF
THE DEPARTMENT Dept.

of Electronics and Communi- cation Engineering Signature of the External Examiner


ABSTRACT This project implements an automated parking system employing the usage
of parking sensor network. The system uses IR obstacle sensor, Ultrasonic sensor, LCD,
Arduino Uno and nano, servo motor, Node MCU, L293D motor driver IC and DC motors.

The Ultrasonic Range Detection Sensor is integrated with Arduino to show availability of
slots and also assisting the driver in parking. The parking sensor network system is
designed in two parts, master and slave, where the data of the real-time parking of
every parking sensor in the lot is being transmitted to the slave sink node.

The slave sink node then sends the collected information to the Master Node which is
responsible for controlling the LCD and Gate. The line follower bot follows specific path
defined for each slot. The slot is reserved as soon as user gives information like SSID and
password. The bot travels to the specific slot and is detected by ultrasonic sensor at the
slot.

For calling back the bot again, user again has to give information to sink node and bot
will automatically come back to the starting point.
ACKNOWLEDGEMENTS Firstly, we take this moment for expressing our gratitude to
our Head of ECE department, Dr. T. Rama Rao and the Institute for providing us with
enough time and space to finish this project. We also want to thank our guide Dr. T.

Deepa for her guidance and supervision on this project. Throughout the project work,
she aided us with jovial and cordial support despite being busy. We are very grateful to
our professors too for giving us the opportunity to explore and indulge ourselves in this
task. At last, we conclude this acknowledgement by thanking our classmates and
colleagues for providing us with their information on this topic to complete the major
project successfully.

Authors Kumar Srijan Gaurav Shubham


TABLE OF CONTENTS ABSTRACT _iii _ _ACKNOWLEDGEMENTS _iv _ _LIST OF TABLES
_vii _ _LIST OF FIGURES _ix _ _ABBREVIATIONS _x _ _1 INTRODUCTION _1 _ _1.1 Overview
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . _1 _ _1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. _2 _ _1.3 Areas of utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . _2 _ _1.4 Project Features . . . . . .
...........

. . . . . . . . . . . _2 _ _1.5 Feasibility Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . _3 _ _1.5.1


Economical Feasibility . . . . . . . . . . . . . . . . . . . . . _3 _ _1.5.2 Technological Feasibility . . . . . . .
. . . . . . . . . . . . . . _3 _ _1.5.3 Operative Feasibility . . . . . . . . . . . . . . . . . . . . _3 _ _2 LITERATURE
SURVEY _4 _ _3 HARDWARE AND SOFTWARE DESCRIPTION _8 _ _3.1 Hardware
description . . . . . . . . . . . . . . . . . . . . . . . . .

_8 _ _3.1.1 Arduino Uno . . . . . . . . . . . . . . . . . . . . . . . . . _8 _ _3.1.2 Ultrasonic Sensor . . . . . . .


. . . . . . . . . . . . . . . . _9 _ _3.1.3 Infrared Sensor Module . . . . . . . . . . . . . . . . . . . _11 _ _3.1.4
Micro Sever Motor . . . . . . . . . . . . . . . . . . . . . . _11 _ _3.1.5 16X2 LCD Display . . . . . . . . . . . . .
. . . . . . . . . _12 _ _3.1.6 Buzzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . _13 _ _
_3.1.7

L293D Motor Driver IC . . . . . . . . . . . . . . . . . . . _14 _ _ _3.1.8 Node MCU . . . . . . . . . . . . . . . . .


. . . . . . . . . _15 _ _ _3.1.9 DC Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . _17 _ _ _3.1.10 Voltage
regulator . . . . . . . . . . . . . . . . . . . . . . . _17 _ _ _3.1.11 Pull Up Resistor . . . . . . . . . . . . . . . . . . . .
. . . _19 _ _ _3.2 Software Description . . . . . . . . . . . . . . . . . . . . . . . . . _19 _ _ _3.2.1

Arduino 1.8.6 Compiler . . . . . . . . . . . . . . . . . . . _19 _ _4 _SYSTEM DESIGN _21 _ _5 _BLOCK


DIAGRAM _24 _ _6 _FLOWCHARTS _27 _ _7 _CODING _31 _ _8 _RESULTS _50 _ _9
_CONCLUSION _51 _ _10 _APPLICATIONS _52 _ _11 _FUTURE ENHANCEMENTS _53 _ _A
_CONFERENCE PARTICIPATION CERTIFICATES _54 _ _
LIST OF TABLES Arduino Uno Specifications . . . . . . . . . . . . . . . . . . . . . .

9 Ultrasonic Sensor Specifications . . . . . . . . . . . . . . . . . . . 10 Infrared Module


Specifications . . . . . . . . . . . . . . . . . . . . 11 3.4 L293D Specifications . . . . . . . . . . . . . . . . . . . . . .
. . . 15
LIST OF FIGURES 3.1 Arduino Uno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 Ultrasonic
Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3 Ultrasonic Sensor implementation . . . . . . . . .
.........

10 3.4 Infrared Sensor Module . . . . . . . . . . . . . . . . . . . . . . . . 11 3.5 Servo Motor . . . . . . . . . .


. . . . . . . . . . . . . . . . . . . . 12 3.6 16X2 LCD Display . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.7 Pin
Diagram of LCD Display . . . . . . . . . . . . . . . . . . . . . 13 3.8 Buzzer . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 14 3.9 Pin Diagram of L293D IC . . . . . . . . . . . . . . . . . . . . . . 15 3.10 Node MCU
with Pin Description . . . . . . . . . . . . . . . . . . . 16 3.11 DC Motor . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 17 3.12 Voltage Regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.13 Arduino IDE . . . . .
........................

20 Circuit diagram of Sink Node . . . . . . . . . . . . . . . . . . . . . 21 Circuit diagram of line


Following Bot . . . . . . . . . . . . . . . . 22 5.1 Block Diagram of the system . . . . . . . . . . . . . . . . . .
. . . 24 5.2 Block Diagram of Sink Node . . . . . . . . . . . . . . . . . . . . . 25 5.3 Block Diagram of
Line Follower Bot . . . . . . . . . . . . . . . . . 25 6.1 Gate Mechanism . . . . . . . . . . . . . . . . . . . . . . . . .
. . 27 6.2

Flowchart of Line Follower . . . . . . . . . . . . . . . . . . . . . 28 6.3 Flowchart of Ultrasonic sensor .


. . . . . . . . . . . . . . . . . . . 29 6.4 Flowchart for Node MCU . . . . . . . . . . . . . . . . . . . . . . . 30
Certificate of Kumar Shubham . . . . . . . . . . . . . . . . . . . . 54 Certificate of Srijan Bakshi . . . . .
. . . . . . . . . . . . . . . . . 54 Certificate of Gaurav Bisht . . . . . . . . . . . . . . . . . . . . . .

55
Certificate of Shubham Kumar Gupta . . . . . . . . . . . . . . . . 55
ABBREVIATIONS IR Infrared IRL Infrared Left IRR Infrared Right IRLC Infrared Left Centre
IRRC Infrared right Centre MCU Multipoint Control Unit I2C Inter-Integrated Circuit
CHAPTER 1 INTRODUCTION Overview The monitoring and management of vehicle
parking is one of the most challenging problem in today’s era.

The number of vehicles in the Indian metropolitan cities of Bangalore, Mumbai, Delhi,
Chennai and Hyderabad has been significantly in an upsurge. It is very grueling and
strenuous for the vehicle owners to find a proper parking space for their vehicles. With
the advent of technology and advancement in the research fields, the automated vehicle
parking system has sort of become a latest trend in many Indian cities.

Automated parking signifies that the vehicle will be automatically guided into a
particular parking slot, where many vehicles could be parked as per the requirements
and constraints, thereby making this system automatically functional with reduction in
spatial wastage. This system finds its applications in the areas where exists a task of
parking a large number of cars.

The system implements the idea of smart parking system in which there is an automatic
gate which consists of IR obstacle sensor along with Servo motor, which allows the
vehicle inside the parking lot if any slot is available. Other component in use is
Ultrasonic sensor which detects the presence of vehicle in particular slot along with live
feed of distance between wall and vehicle to avoid collision. System also contains LCD
which is used to display the availability of parking slots in the lot. It also has a buzzer as
caution for collision.

All the components are interfaced to Arduino based microcontroller. The system will
allow a vehicle inside the space after it checks the available parking space. The available
parking slots will be displayed on LCD. As soon as the parking slot is occupied, it is
updated on the LCD. Now if the car is a smart car then it will be having Infrared (IR)
sensors attached to it.

The IR sensors is being used to guide car to the desired parking slot with any driver’s
assistance. Moreover, the car will be accessible to the driver only hence providing
additional security. The system will greatly reduce the chances of human error and
congestion inside parking lot.
Motivation Car parking can be a tedious chore and it gets worse when the system is
non-coherent. A driver not only has to waste time searching for empty slots but also
have to face superfluous traffic in parking area due to other drivers parking or trying to
leave. In this fast-paced life today, everybody with a motor vehicle demands a parking
space which forms a frustrating routine.

This pattern has a solid lasting repercussion as one million barrels of the world’s daily oil
gets burnt. These problems further intensify as the global population proceeds towards
urbanization without a well-planned, efficient and comfort-driven flee from the car.
According to a global statistic, Smart Vehicle Parking could benefit by saving 2, 20,000
gallons of fuels up till 2030.

Areas of utility The primary focus of this project is to help the civil folks and general
public to save their time and energy. This module system can be implemented in
shopping complexes, cineplexes, public stations, authority and educational buildings etc.
The vehicles are parked parallel in the surface parking system.

It can also be expanded to a multi-storey car parking system to increase vehicle parking
ability by employing use of vertical space. In this system there are a number of storey on
which the vehicles can be parked. Project Features Detection of vehicle-gate mechanism:
Employs the use of IR based obstacle detector sensor to find if a vehicle wants to enter
or exit.

Parking: If parking space is available will display the available parking slot on the LCD
and the servo motors will open the gate, allowing the vehicle to enter. Parking
Assistance:The line follower system will be used to park the car without the involvement
of the driver. Also the vehicle reaches the parking slot, an ultrasonic sonic sensor will not
only detect the vehicle but also assist the vehicle while backing or enter- ing in the
space by sounding a buzzer whenever it deems the vehicle to be ominously close to
collision.
No Parking: If no slots are available the LCD at entrance will display an appropriate
message. Feasibility Analysis Economic Feasibility This project is based on Embedded
systems based device and few electronic compo- nents like Arduino Uno, Ultrasonic
sensor, IR sensor module, servo motor, LCD display, L293D motor driver IC, node MCU,
etc. which are affordable, making it economically feasible to implement.

Technical Feasibility This project is based on embedded systems technology using


principles of Internet of Things which are reasonably in phase with currently used
technology. Therefore, it is very much favored by the technology. Operational Feasibility
This system is very easy to use, user friendly interface so it will be pretty much oper-
able by anyone.

It could be helpful for general public optimizing time utility. So, it is operationally
feasible.
CHAPTER 2 LITERATURE SURVEY India is one of the most rapidly growing economy in
the world with a very large population of 1.35 billion. The number of transport mediums
in metro cities of Bangalore, Mumbai, Delhi, Chennai, Kolkata and Hyderabad has been
on an incrementation with each passing day.

Many public places these days like shopping complexes, pubic stations, hospitals,
offices, banks, market avenues, etc. suffer from the issue of vehicular parking. The
parking area has a large number of slots for car stationing, so it obviously becomes a
necessity to check every single slot. This results in a lot of physical labor and ventures
and hence, it is a pre-requisite to design an automatic parking system that directly
mentions the occupancy and the vacancy of parking slots in any of the slot at the
entrance. The automatic vehicle parking system has thus, been in rise in many Indian
cities.

The survey enlists many of our work’s major goals and application areas, proposing an
efficient system to park the vehicles with respect to time utility and environmental
stability. A comprehensive contemplation of the major works carried abroad and in India
is discussed in the given section. Weenyu Caii, Dong Zhaang, Yongje Pan
"Implementation of Smart Parking Guidance System based on Parking Lots Sensors
Networks," 2016 IEEE 17th International Conference on Communication Technology
(ICCT) Weenyu Caii, Dong Zhaang and Yongje Pan proposed a paper on execution of
Smart Parking System based on Parking Lots Guidance Sensors Networks. The paper
implements an automated parking system using ultrasonic sensors and 8051
microcontroller along with stepper motor and etc.

This system also uses Blue- toothâD? c´ for location of vacant parking space but since
not all vehicles till date are having Bluetooth module installed in vehicles, it cannot be
used at present stage. It was published in 2016 IEEE 17th International Conference on
Commu- nication Technology (ICCT). Thanah naam pham, Ting-fong tsaii, Duch bin
naguyen, Chyii-ren dow and Der- jiunn daeng "Smart-Parking System Based on
Internet-of-Things Technolo- gies," IEEE Access, September 23, 2015 Thanah naam
pham, Ting-fong tsaii, Duch bin naguyen, Chyii-ren dow and Der-jiunn daeng proposed
a paper on Smart-Parking Based on Internet-of-Things Technologies. This paper
discusses the use of Arduino based Automated car parking system using RFID.

This also uses cloud services for sending data to


user and to server which can be used for traffic monitoring. It was published in IEEE
Access, September 23, 2015. V Sumathi, NVP Varma, M Sasank "Energy efficient
automated car parking system’" - International Jouranl of Engineering and Technology,
2013 V. Sumathi, N.V. Pradeep Varma in 2013 proposed a work on ENERGY EFFI- CIENT
AUTOMATED CAR PARKING SYSTEM.

The paper describes an energy efficient alternative system which allocates a unique
parking “slot” for every incoming car. The parking area has a number of parking ’slots’
which are prioritized such that the available slot nearest to the entry is assigned to the
incoming car. The driver then parks in that allotted slot without searching for a free
space thus minimizing the parking time and making a wise use of the space available.

Also, the System additionally increases the energy efficiency by switching ON the lights
in the parking space only when a car is motile. The application is deployed on LPC1343
ARM processor and being run on a miniature prototype. The results reveals that it is an
efficient robust system which can be executed in real time with an advantage to
increment the number of parking slots as demanded.

Sheng-Fuu Lin, Yung-Yao Chen, Sung-Chieh Liu "A Vision-Based Parking Lot
Management System," 2006 IEEE International Conference on Systems and Cybernetics,
16 July 2007 Sheng-Fuu Lin, Yung-Yao Chen and Sung-Chieh Liu presented a work on
Vision based parking Management System in 2006 . The study proposed a vision- based
parking management system to monitor an outdoor parking area by four cameras set
up at roofs of the buildings around it, transmitting information with real- time data
display, to database of the ITS center through the internet.

This system assists drivers to find the available parking spaces and monitor the parking
area by wireless communication devices. To increase the precision, color manage is
done at the starting to all the input images, thus, retaining color consistency. Then, an
adaptive background model of the parking lot is generated.

Using the help of statistical method, the adequate color of each parking space is found
out in color image sequences obtained by a camera. The foreground is extracted using
color semantics. The result will be further enhanced using shadow detection and
luminance theory. Vision-based parking and management system can thus manage a
large area by just several cameras. Gitesh Vithal Rao Mudey, Dinesh V.

Rojatkar"Automated Vehicle Parking In Indian Context," International Journal of Thesis


Projects and Disserta- tions (IJTPD) Vol. 3, Issue 4, pp: (22-26), Month: October -
December 2015 Gitesh Vithal Rao Mudey and Dinesh V. Rojatkar in 2015 proposed
Automated Vehicle Parking In Indian Context. Their work covered the idea that if the
auto- mated vehicle parking needs to be introduced in India then what all things
needed to add to make it successful.

The basic aim of the project is to create a cost ef- ficient parking system which can
accommodate atleast 25 cars within a parking area of 32.17 m2. Many of the car drivers
are being found parking their cars in the locations where they find the empty spaces.
The worst is the case in front of the shopping malls and the cinema theaters where
tremendous amount of cars en- ter and leave at the same time.

It sometimes become very difficult to control this chaos, often proving to be hectic to
the drivers and the passerby. After the
system has been started by the admin, the driver gets prompted to enter a key for his
designated parking spot and is given a choice either to park or retrieve the car. Each key
has been verified for accuracy and is assigned with the allocated parking spot. K.Vasavi ,
M.V.S.Praveen "Obstacle Detection and Avoidance Autonomous Car," International
Journal of Engineering Trends and Technology (IJETT) - Volume 9 Number 15 - Mar
2014 To improve the traffic security and enhance autonomous vehicle design, driving
models are needed by many scientists.

To be of more use, a driving model must specifically state what data is needed and how
is it deciphered. So, we developed an IR Obstacle Avoidance and Autonomous Detection
based on sensory applications. The important part of this autonomous car is that it
functions from the energy from the solar panel cells.

This paper also explains the method of integrating the solar panel, relay circuit board
and IR sensor to the car and how to transmit the command to the microcontroller to
make the car move autonomously. William J. Fleming, "Overview of Automotive
Sensors," IEEE SENSORS JOURNAL, VOL. 1, NO. 4, DECEMBER 2001 An updated review
paper on autonomous sensors is proposed with attention focused on sensors employed
in production of automotive systems.

The basic sensor technologies today in use are analyzed and segmented according to
their three main domains of automotive systems and applications which are chassis,
power train and the body. This subject is quite vast. As illustrated in this paper, for use in
automated systems, there are 6 types of rotational motile sensors, 3 temperature
sensors, 4 strain sensors and 5 variations of position sensors and additionally 5 exhaust
gas oxygen sensors, 2 variations of mass air flow sensors, 2 variations of mass air flow
sensors, 1 engine knock sensor,4 linear acceleration sensors, 4 of angular-rate sensors, 4
variations of occupant convenience sensors,10 types of emerging, 2 types of
near-distance obstacle detection sensors, 4 far-distance obstacle detection sensors and
other sensors technologies are observed.

Mustafa Engin, DilAsad Engin "Path planning of line follower robot," Pro- ceedings of
the 5th DSP education and research conference, September 2012 This paper proposes
the design of a line follower mobile robot. A dynamic and robust PID control formulated
algorithm has been implemented to enhance the navigation reliability and stability of
the wheeled robot which uses differential driver locomotory system. The experimental
study claims that the dynamic PID algorithm can be executed under the real-time
requirement constraints.

Trista Lin, FeAddlric Le Mouan, Herve Rivano "A Survey of Smart Park- ing Solutions,"
IEEE TRANSACTIONS, April 2017 To give a clearer overview, they implement a smart
parking ecological system and present a thoughtful and comprehensive classification by
mapping their functional working and problem focus areas.
NILS GAGEIK, PAUL BENZ, AND SERIGIO MONTENEGRO, "Obstacle Detection and
Collision Avoidance for a UAV With Complementary Low-Cost Sensors",IEEE
ACCESS,MAY 12,2015 This paper proposes a creative and lucid solution for obstacle
detection and collision prevention of unmanned aerial vehicles (UAVs) with optimization
and evaluation to work along with quadrotors.

The sensors used in this paper are cheap ultrasonic and infrared range finders, cheaper
though noisier than more expensive sensors such as laser scanners. For the design and
implementation, this needs to be taken into consideration and parametrization of the
signal pro cessing and control algorithm for such a system, which is the topic of this
paper. For improved data fusion, inertial and optical flow sensors are used as a distance
measuring derivative for reference.

As a result, a UAV is capable of distance controlled collision avoidance, which is more


complex and powerful than comparable simple solutions. At the same time, the solution
remains simple with a low execution burden. Thus, memory and time-costing
simultaneous localization and tracing is not required for collision avoidance.

Pengcheng Liu, Sing-Kiong Nguang, and Ashton Partridge, "Occupancy In- ference
Using Pyroelectric Infrared Sensors Through Hidden Markov Models", IEEE SENSORS
JOURNAL, VOL. 16, NO. 4, FEBRUARY 15, 2016 Occupancy realization is essential for
application control, swift universal computing, and scrutiny for commercial and real
estate. In this paper, a cheap, battery-driven, wireless vacancy sensor is provided with
pyroelectric infrared sensor.

Wireless communication is executed with the purpose of providing real-time on-going


occupancy estimation. The method used to sense occupancy status is based on the
principle of hidden Markov models (HMMs). HMMs are trained to statistically predict
the occupancy of a space through an expectation¸ maximization learning process.

The benefit of this system is that the online algorithm reduces trouble to the users by
making it less likely to fakely switch the appliances OFF, and the offline algorithms
improve the prediction of the total occupancy time. Simulation and experimental results
were obtained to verify the proposed models along with the constraints analysis of the
system.
CHAPTER 3 HARDWARE AND SOFTWARE DESCRIPTION Hardware description Arduino
Uno The Arduino Uno is based on the ATmega328P. Basically a microcontroller it has 14
digital input/output pins (of which 6 could be used as PWM outputs), a 16 MHz crystal
oscillator, a USB connection, a power jack, 6 analog inputs, an ICSP header, and a reset
button. It thus, has everything needed to support the microcontroller.

It works by simply powering it with an AC-to-DC adapter/battery or connecting it to a


computer with a USB cable. The Uno is advantageous from all the preceding boards as it
features the Atmega8U2 programmed as a USB- to-serial converter and not the FTDI
USB-to-serial driver chip. Some Technical Specification of Arduino Uno are: Input
Voltage (recommended) 8-13V Input Voltage (limits) 6.5-19.5V Microcontroller
ATmega328P Operational Voltage 5V Digital I/O Pins 14 Analog Input Pins DC Current
per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB with 0.5 KB being
used by bootloader EEPROM 1 KB Clock Speed 16000 KHz SRAM 2 KB
/ Figure 3.1: Arduino Uno Operational Voltage _5V _ _Input Voltage _5-12V _
_Digital/PWM I/O Pin _14 _ _PWM/ Aanlog Pin Input _6/6 _ _DC Current _20mA _ _Flash
Memory _32KB _ _SRAM/EEPROM _2KB/1KB _ _Clock speed _16Mhz _ _Length _68.6mm
_ _Width _53.4mm _ _Table 3.1: Arduino Uno Specifications Ultrasonic Sensor The major
sensor of our proposed project, ultrasonic sensors measure distance by employing the
usage of ultrasonic waves.

The sensor head transmits an ultrasonic wave and receives the reflected wave back from
the load as shown in figure below. Ultrasonic sensors make accurate measurements in
many difficult environments and are unaffected by material, surface, mist or vapour.
/ Figure 3.2: Ultrasonic Sensor Figure 3.3: Ultrasonic Sensor implementation Operating
Voltage _5V _ _Operating Current _15mA _ _Operating Frequency _40Khz _ _Farthest
Range _4mtr _ _Nearest Range _2cms _ _Input Trigger Signal _10us TTL pulse _ _Table
3.2: Ultrasonic Sensor Specifications Implementation in the project:This works by not
only detecting a vehicle in prox- imity but also providing assistance by triggering a
buzzer to admonish the driver about the vehicle being too close to wall or other
vehicles.
Infrared Sensor Module It has an in-built IR transmitter and receiver which sends IR
energy out and seeks for reflected IR energy. It thus detects the presence of any
hindrance in front of the sensory module. There is an on board potentiometer on the
sensor module that lets user adjust the detection range.

The sensor has very good response and is stable even in ambient light or in full darkness
Figure 3.4: Infrared Sensor Module Implementation in project: It is used to sense the
presence of the user car at both the gates and interrupt accordingly. Active Area _0.4mm
x 0.4mm _ _Internal Resistance _60KOhm _ _Reponsitivity _33 volt/watt _ _Noise Voltage
_38nV _ _NEP _0.4 _ _Time Constant _20ms _ _Operating Temp.

_253K-373K _ _Table 3.3: Infrared Module Specifications Micro Sever Motor It is light
weighted component with high output power and small size. This servo motor works
just like the standard kinds but is smaller. It can rotate approximately 180 degrees (90 in
each direction), and is easily programmable and cheap, good for demonstration.

Implementation in the project: This is directly controlled by the microcontroller if any


vehicle is permitted to enter or exit this will control the gates. Though not suitable for
use in any pragmatic implementation of the project, is suitable for demonstration.
/ Figure 3.5: Servo Motor 16X2 LCD Display A simple LCD display will be used to display
the availability of the spaces and other messages .

The 16x2 LCD has 32 characters in total with 16 in 1st line and another 16 in 2nd line.
The flexibility is provided by the two control pins. The contrast bit and READ/WRITE can
be shorted to ground because they are not often used. This puts LCD in the read mode
and highest contrast. To send characters and data accordingly, we just need to control
ENABLE and RS pins. Features of 16X2 LCD Display Operational Voltage is 4.7V to 5.3V
Current consumption capacity is 1mA without backlight Alphanumeric LCD display
module Has 2 rows and each row can print 16 characters.

Each character is made by a 5x8 pixel box Has usage on 8-bit and 4-bit mode both It
can display custom produced characters Available in Blue and Green Backlight
/ Figure 3.6: 16X2 LCD Display Figure 3.7: Pin Diagram of LCD Display Buzzer A small
piezoelectric based buzzer is used at every space that is near any obstacle, to admonish
the driver of any possible collision.

If an alternating voltage is given to


the piezoceramic element, the element shrinks and extends diametrically. This charac-
teristic of piezoelectric element is utilized to generate sound waves by the rapid
vibration of the ceramic plate. Figure 3.8: Buzzer Specifications: Rated Voltage: 6.5V DC
Operating Voltage: 4-8V DC Rated current: <30mA Sound Type: Beeps Continuously
Resonant Frequency: 2.3

KHz Small and neatly sealed package Breadboard friendly L293D Motor Driver IC L293D
motor driver integrated circuit (IC) with a dual H-bridge configuration. Motor drivers
work as current amplifiers because they provide a higher- current signal by taking a
low-current control signal. This high signal current is used to run the motors. It has 2
inbuilt H-bridge driver circuits.

The 2 DC motors can be run simultaneously, in its common mode of operation, both in
forward and backward direction. The motor operations of two motors can be controlled
by input logic at pins 2,7 and 10,
15. Input logic 00 or 11 will stop the corresponding motor. Logic 01 and 10 will rotate it
in clockwise and counter-clockwise directions, respectively.

For motors to become operational, Enable pins 1 and 9 (corresponding to the two
motors) must be set high. If the enable input is high, the associated driver gets enabled.
As a result, the outputs get active and work in phase with their inputs. Similarly, when
the enable input is low, that driver is disabled, and their outputs are off and in the high-
impedance state. Figure 3.9: Pin Diagram of L293D IC Input Voltage _7V _ _Output
Voltage _3V _ _Peak Output Current _2A _ _Continuous Output Current _600mA _
_Maximum Junction Temp.

_423K _ _Storage Temp. _423K _ _Output Supply Voltage _36V _ _ Table 3.4: L293D
Specifications Node MCU Node MCU is an open source IoT platform. It includes
firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware
which is based on the ESP- 12 module. The term "NodeMCU" by default refers to the
firmware rather than the
/ Figure 3.10: Node MCU with Pin Description development kits.

The firmware uses the Lua scripting language. It is based on the eLua project, and built
on the Espressif Non-OS SDK for ESP8266. It uses many open source projects, such as
lua-cjson and SPIFFS. As Arduino.cc began developing new MCU boards based on
non-AVR processors like the ARM/SAM MCU and used in the Arduino Due, they needed
to modify the Arduino IDE so that it would be relatively easy to change the IDE to
support alternate toolchains to allow Arduino C/C++ to be compiled for these new
processors.

They did this with the introduction of the Board Manager and the SAM Core. A "core" is
the collection of software components required by the Board Manager and the Arduino
IDE to compile an Arduino C/C++ source file for the target MCU’s machine language.
Some ESP8266 enthusiasts developed an Arduino core for the ESP8266 WiFi SoC,
popularly called the "ESP8266 Core for the Arduino IDE".

This has become a leading software development platform for the various
ESP8266-based modules and development boards, including NodeMCUs.
/ Figure 3.11: DC Motor DC Motor A DC motor is any of a class of rotary electrical
machines that converts direct current electrical energy into mechanical energy. The most
common types rely on the forces produced by magnetic fields.

Nearly all types of DC motors have some internal mech- anism, either electromechanical
or electronic, to periodically change the direction of current flow in part of the motor.
DC motors were the first form of motor widely used, as they could be powered from
existing direct-current lighting power distribution systems. A DC motor’s speed can be
controlled over a wide range, using either a variable supply voltage or by changing the
strength of current in its field windings.

Small DC motors are used in tools, toys, and appliances. The universal motor can
operate on direct current but is a lightweight brushed motor used for portable power
tools and appliances. Voltage regulator A voltage regulator is an equipment made to
automatically maintain a regular voltage level.

It may use a simple feed-forward positive design or may include nega-


tive feedback. It employs the principle of electromechanical mechanism. As per the
design, it may be used to regulate one or more AC or DC voltages. Electronic voltage
regulators are used in devices like computer power supplies where they stabilize the DC
voltages used by the processor and other elements.

In automobile alternators and centralized power station generator plants, they regulate
the output of the plant. In an electrical power divider system, voltage regulators may be
installed at a substation or along distribution lines so that every customer receive steady
voltage irrespective of how much power is drawn from the line. Figure 3.12: Voltage
Regulator
Pull Up Resistor Pull-up resistors are employed in electronic logic circuits to make sure
that inputs supplied to the Arduino settle at known logic levels if external devices are
disjoint or have high-impedance.

A pull-up resistor feebly "pulls" the voltage of the wire it is attached to, towards its
voltage source level when the rest of the components on the line are not active. When
the switch of the line is open, it is at a high impedance and acts like it is not connected.
As the other components act as if they are disconnected, the circuit acts as if it is open,
and the pull-up resistor brings the wire up to the higher logic level.

When another component on the line becomes active, it will surpass the higher logic
level determined by the pull-up resistor. The pull-up resistor ensures that the wire is at a
predefined logical level even if inactive devices are connected to it. Software Description
Arduino 1.8.6 Compiler The Arduino integration development environment (IDE) is a
cross-platform application (for Windows, macOS, Linux) written in Java.

It started its inception from the IDE for the languages Processing and Wiring. It has a
code editor with text editing and pasting, search and text replacement, automated
indenting, matching of the brace, and syntax highlight and many more features. It
provides a simple single click mechanism to assembling and uploading programs to an
Arduino board.

It also contains a message area, a text console, a toolbar with functionality buttons for
common purposes and a large set of operation menus. The source code for the IDE is
released under the GNU General Public License, version 2. The Arduino IDE supports the
languages C and C++ using special rules of code struc- turing.

The Arduino IDE supplies a software library from the Wiring project, which provides
many common input and output procedures. User-written code only requires two basic
functions, for starting the sketch and the main program loop, that are compiled and
linked with a program stub main () into an executable cyclic executive program with
the GNU toolchain, also included with the IDE distribution Figure 3.13: Arduino IDE
CHAPTER 4 SYSTEM DESIGN Figure 4.1: Circuit diagram of Sink Node Our system is an
Arduino based car parking system which employs IR sensors to sense the vacant parking
spaces and transmits this data to the Arduino. This facilitates the user to check the
availability of parking spaces before entering the parking area.

Based on the vehicle count the microcontroller takes decisions and updates the vacant
spaces on the LCD screen and assists the car driver as where to park in the parking lot
and which will be leaded by the line follower bot which is the bot we are using for the
unmanned/driverless parking system. When a vehicle approaches the entry gate, the
Entry IR sensor-1 send a signal to Node MCU and the Node MCU sends a command to
operate the servo motor by 90 degree , Subject to space availability is greater than or
equivalent to vehicle approaches Entry IR sensor -2.

This sends a signal to Node MCU and the gate is closed and the available space is
decremented. When the space becomes zero, the Node MCU inhibits the entry
/ Figure 4.2: Circuit diagram of line Following Bot gate servo motor. The incoming cars
are now shown a message on the LCD display to either wait in the queue or you can
come again later, So that no congestion is made near the parking.

The car inside the parking lot is then carried by the Line follower bot which takes the car
to the empty parking slot by following a path specified for the particular parking lot.The
car is called back by the owner whenever he/she wants to and the bot brings back the
car and drops it at the exit of the parking lot where the owner will be standing.

Now the question is about the safety and procedure of how the bot knows which car
belong to whom? The answer for the following ques is explained in detailed. The
incoming car is having a SSID NO. which is unique for every car with a inbuilt wifi and
the user will connect the phone to the botâA? Z´ s hotspot and the owner will share its
SSID No, Password and weather he has to park or call back the car.

The bot will send all the received information to the sink load(Node MCU) which acts as
a station and gathers all the information for the Parking lot like the coordinates of the
parking lot with the directions of how to proceed for the bot and sends it to the bot and
then the sink load will again become a hotspot for the process to continue. Meanwhile
the Bot will be following the path sent by the sink load and park the car in the specified
location.

And so the car is safe in the parking lot and has a secure procedure for calling back the
car by the owner by again following the same procedure in reverse order. While
bringing back the car as we have only one way for the entry and the exit so the bot will
be performing a 180 degree turn within 4 seconds from picking up the car from the
parking lot and then follow the same path all the way to the exit of the parking lot.
CHAPTER 5 BLOCK DIAGRAM Figure 5.1: Block Diagram of the system Above is the basic
block diagram of the system that is being implemented. The System is divided into two
major parts i.e

sink node and line follower system. The sink node part contains three microcontrollers
which includes one arduino uno, one arduino nano and one node Multipoint Control
Unit (MCU). The microcontrollers are connected to each other using serial
communication or by Inter-Integrated Circuit (I2C) communication.

The advantage of I2C communication over serial communication is that of having more
synchronisation over the transmitted and received data. The line follower bot circuit
consists of two microcontrollers i.e one arduino uno and one node MCU. Both Node
MCUs of the system is connected as soon as user provides the required information
about the latter.

System also contains L293D Motor Driver IC which is used to control the DC motors
attached to the it. It manages to turn the motor as per requirement. The microcontroller
is connected to array of IR sensor Modules. These helps in directing the vehicle
following the appropriate path.
/ Figure 5.2: Block Diagram of Sink Node Above is the block diagram of Sink node. The
node MCU is connected to entry and exit mechanism.

It contains a servo motor and array of IR sensor modules. The sensor will detect the
intrusion or vehicle arriving at the gate and will allow the access to the parking lot if and
only if there is any vacant slot available. If the parking lot is fully occupied, then LCD
display will show the that parking lot is fully occupied.

Now when car reaches the desired lot, the ultrasonic sensor will detect its presence in-
side the lot and will update the data on the LCD which will be displayed at the entrance
of the system. As soon as the vehicle leaves the parking system, LCD’s content will be
updated again. Figure 5.3: Block Diagram of Line Follower Bot
Above is the detailed block diagram of the Line follower Bot which is used in the parking
lot and is explained in the above stated full architecture .The botâA? Z´ s micro-
controller which is a Arduino Uno is connected to the IR sensors which are located at the
front bottom of the bot to detect the path and give the information the microcon-
troller and the IC L293D is the motor driver IC which gets the signal from the Arduino
and it drives the DC motor which is connected to the wheels of the bot and helps in
moving the bot in the specified direction.

A Node MCU is also connected to the bot for the circulation of the data and communi-
cation between the bot and the incoming vehicle. The Node MCU alternatively acts as a
station and a hotspot for the different modes of communication.
CHAPTER 6 FLOWCHARTS The flowchart shown above explains the algorithm behind
the working of the gate mech- anism.

When a vehicle (irrespective of having line follower system installed to it) enters the
parking lot, it is detected at entrance by IR sensor module. If the parking slot is va- cant
then the entry is allowed and the gate will open, otherwise it will remain closed and LCD
will display that the parking slot is occupied. Figure 6.1: Gate Mechanism
/ Figure 6.2: Flowchart of Line Follower Above flowchart explains about the working of
line follower bot.

The bot contains four IR sensor modules. These are named as Infrared Left (IRL), Infrared
Right (IRR), Infrared Left Centre (IRLC) and Infrared Right Centre (IRRC). Now when bot
receives the directions, it starts moving forward. . It will detect the path as right if the
IRR and both of the IRLC and IRRC is off. It will detect the path as left if the IRL and
either of the IRLC or IRRC is off.

It will detect the path as straight if the IRL, IRR and either of the IRLC or IRRC is off after
the counter is incremented for 0.5 seconds. Further if IRL, IRR and either of the IRLC or
IRRC is on the node is considered as a 3-way path. If IRL and IRR is on the node is
considered as a 4-way path. If IRL, IRR and either of the IRLC or IRRC is off the bot stops.
/ Figure 6.3: Flowchart of Ultrasonic sensor The flowchart explains the mechanism
employed in the functionality of ultrasonic sensor, LCD and the buzzer.

If the distance is within the fed input reading of the distance in the ultrasonic sensor the
LCD displays the slot as occupied. If the distance is lesser than the maximum of the
input then the buzzer goes on and the LCD displays the slot as occupied. If the distance
is greater than the minimum of the input then the LCD displays the slot as empty.

Next flowchart explains the mechanism behind the communication between sink node
and the bot. When the bot enters parking lot, the user connects to the sink node
hotspot. User then inputs the SSID and password of the bot exclusive to the user. The
sink node MCU coverts to station mode thereby using the SSID and password to
connect to the node MCU.

The MCU guides the bot by sending the directions and updating itself back to the
hotspot mode. Bot receives the directions and moves accordingly ultimately for the
destination.
/ Figure 6.4: Flowchart for Node MCU
CHAPTER 7 CODING #include <ESP8266WiFi.h> #include <ESP8266WebServer.h> const
char* ssid = "aalo"; const char* password = "kandeylo"; ESP8266WebServer server(80);
char t; void setup() { Serial.begin(9600); WiFi.mode(WIFI_AP); setupAccessPoint(); } void
handle_index() { server.send(200, "text/plain", "Get the f**k out from my server!") } void
handle_feed() { String sa = server.arg("temp"); Serial.println(sa); int r=sa.length();
Serial.println(r); for(int i=0;i<sa.length();i++){ t=sa.charAt(i); Serial.write(t);
//Serial.println("its a "+t); } String h = server.arg("hum"); //Serial.println("h wa ba"+t);
//Serial.println("T wa ba"+h);
server.send(200, "text/plain", "This is response to client"); } void setupAccessPoint(){
Serial.println("** SETUP ACCESS POINT **"); Serial.println("- disconnect from any other
modes"); WiFi.disconnect(); Serial.println("- start ap wth SID: "+ String(ssid));
WiFi.softAP(ssid, password); IPAddress myIP = WiFi.softAPIP(); Serial.print("- AP IP
address is :"); Serial.print(myIP); setupServer(); } void setupServer(){ Serial.println("**
SETUP SERVER **"); Serial.println("- starting server :"); server.on("/", handle_index);
server.on("/feed", handle_feed); server.begin(); }; void loop() { server.handleClient();
\vspace{5mm} #include <SoftwareSerial.h> SoftwareSerial mySerial(7,11); #define
lSensor 12 #define lcSensor 2 #define rcSensor 10 #define rSensor 8 int rcReading;
int lcReading; int lReading; int rReading; #define _leapTime 650 _ _ _#define _leftMotor1
_3 _ _#define _leftMotor2 _6 _ _#define _rightMotor1 _5 _ _#define _rightMotor2 _9 _
_char path[30] = {}; int readLength; int pat; boolean go=false; int t; void setup() {
pinMode(lSensor, INPUT); pinMode(rSensor, INPUT); pinMode(rcSensor, INPUT);
pinMode(lcSensor, INPUT); Serial.begin(9600); mySerial.begin(9600);
pinMode(leftMotor1, OUTPUT); pinMode(leftMotor2, OUTPUT); pinMode(rightMotor1,
OUTPUT); pinMode(rightMotor2, OUTPUT); delay(500); } void loop(){ life(); } void life() {
boolean sr=false;
String love=""; Serial.println("waiting for "); while(mySerial.available()){ char
lo=mySerial.read(); path[pat]=lo; pat++; Serial.println(lo); } //Serial.println("aiyla "+love);
//love.toCharArray(path, 30); if(path[0]==’R’ ||path[0]==’L’||path[0]==’S’||path[0]==’T’ ){
t=1; } //readSensors(); if(t==1){ play(); //go=false; }else{ done(); } /*else{
digitalWrite(leftMotor1, LOW); digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1,
LOW); digitalWrite(rightMotor2, LOW); return; }*/ } void adjust(){
if(digitalRead(lcSensor)==1){ digitalWrite(leftMotor1, HIGH); digitalWrite(leftMotor2,
LOW); digitalWrite(rightMotor1, HIGH); digitalWrite(rightMotor2, LOW); delay(1);
digitalWrite(leftMotor1, HIGH); digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1,
LOW); digitalWrite(rightMotor2, LOW); delay(4); return; } if(digitalRead(rcSensor)==1){
digitalWrite(leftMotor1, HIGH); digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1,
HIGH); digitalWrite(rightMotor2, LOW); delay(1); digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW); delay(4); return; } } void straight(){
if(digitalRead(lcSensor)==1){ digitalWrite(leftMotor1, HIGH);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW); delay(1); digitalWrite(leftMotor1, HIGH);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, LOW); digitalWrite(rightMotor2,
LOW); delay(4); return; } if(digitalRead(rcSensor)==1){ digitalWrite(leftMotor1, HIGH);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW); delay(1); digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW); delay(4); return; } digitalWrite(leftMotor1, HIGH);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW); delay(4); digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, LOW);
digitalWrite(rightMotor2, LOW); delay(1); Serial.println("going straight"); } void
readSensors(){ rcReading = digitalRead(rcSensor); lcReading = digitalRead(lcSensor);
lReading = digitalRead(lSensor); rReading = digitalRead(rSensor); // serial printing below
for debugging purposes /* Serial.print("lcReading: "); Serial.println(lcReading);
Serial.print("rcReading: "); Serial.println(rcReading); Serial.print("rReading: ");
Serial.println(rReading); Serial.print("lReading: "); Serial.println(lReading);*/ //delay(20); }
void done(){ digitalWrite(leftMotor1, LOW); digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, LOW); digitalWrite(rightMotor2, LOW); delay(2000); //go=false;
t=0;
life(); } void turnAround(){ digitalWrite(leftMotor1, LOW); digitalWrite(leftMotor2, HIGH);
digitalWrite(rightMotor1, LOW); digitalWrite(rightMotor2, HIGH); delay(450);
while(digitalRead(rcSensor)==1){ digitalWrite(leftMotor1, LOW); digitalWrite(leftMotor2,
HIGH); digitalWrite(rightMotor1, HIGH); digitalWrite(rightMotor2, LOW); delay(2);
digitalWrite(leftMotor1, LOW); digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1,
LOW); digitalWrite(rightMotor2, LOW); delay(1); } while(digitalRead(rcSensor)==0){
digitalWrite(leftMotor1, LOW); digitalWrite(leftMotor2, HIGH); digitalWrite(rightMotor1,
HIGH); digitalWrite(rightMotor2, LOW); delay(2); digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, LOW); digitalWrite(rightMotor2,
LOW); delay(1);
} while(digitalRead(rcSensor)==1){ digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, HIGH); digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW); delay(2); digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, LOW); digitalWrite(rightMotor2,
LOW); delay(1); } Serial.println("turning around"); } void turnRight(){
while(digitalRead(rcSensor)==0){ digitalWrite(leftMotor1, HIGH); digitalWrite(leftMotor2,
LOW); digitalWrite(rightMotor1, LOW); digitalWrite(rightMotor2, HIGH); delay(2);
digitalWrite(leftMotor1, LOW); digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1,
LOW); digitalWrite(rightMotor2, LOW); delay(1); } while(digitalRead(rcSensor)==1){
digitalWrite(leftMotor1, HIGH); digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1,
LOW);
digitalWrite(rightMotor2, HIGH); delay(2); digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, LOW); digitalWrite(rightMotor2,
LOW); delay(1); } while(digitalRead(lcSensor)==1){ digitalWrite(leftMotor1, HIGH);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, LOW); digitalWrite(rightMotor2,
HIGH); delay(2); digitalWrite(leftMotor1, LOW); digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, LOW); digitalWrite(rightMotor2, LOW); delay(1); } straight();
Serial.println("turning right"); } void turnLeft(){
while(digitalRead(rcSensor)==0||digitalRead(lcSensor)==0){ digitalWrite(leftMotor1,
LOW); digitalWrite(leftMotor2, HIGH); digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW); delay(2); digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, LOW); digitalWrite(rightMotor2, LOW); delay(1); }
while(digitalRead(rcSensor)==1){ digitalWrite(leftMotor1, LOW); digitalWrite(leftMotor2,
HIGH); digitalWrite(rightMotor1, HIGH); digitalWrite(rightMotor2, LOW); delay(2);
digitalWrite(leftMotor1, LOW); digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1,
LOW); digitalWrite(rightMotor2, LOW); delay(1); } Serial.println("turning left"); } void
play(){ readSensors(); if(lReading==1 && rReading==1 ) { straight(); } else if
(lReading==0 || rReading==0) { if(path[readLength]==’D’){ digitalWrite(leftMotor1,
HIGH); digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW);
delay(leapTime-200); digitalWrite(leftMotor1, LOW); digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, LOW); digitalWrite(rightMotor2, LOW); done(); }
if(path[readLength]==’L’){ digitalWrite(leftMotor1, HIGH); digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, HIGH); digitalWrite(rightMotor2, LOW); delay(leapTime);
turnLeft(); } if(path[readLength]==’R’){ digitalWrite(leftMotor1, HIGH);
digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW); delay(leapTime); turnRight(); } if(path[readLength]==’S’){
digitalWrite(leftMotor1, HIGH); digitalWrite(leftMotor2, LOW); digitalWrite(rightMotor1,
HIGH); digitalWrite(rightMotor2, LOW); delay(leapTime-300); straight(); }
if(path[readLength]==’T’){
turnAround(); /* digitalWrite(leftMotor1, HIGH); digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, HIGH); digitalWrite(rightMotor2, LOW); delay(leapTime);*/
straight(); } readLength++; if(lReading==1 && rReading==1 && lcReading==1 &&
rcReading==1) { adjust(); /*if (lReading==0){ turnLeft(); }else if(rReading==0){
turnRight(); }*/ } } play(); } \vspace{5mm} #include <Wire.h> const int trig=9; const int
echo=10; const int trigr=11; const int echor=12; const int triga=5; const int echoa=6;
long du; int dis; long duo;
int dist; int ki; int ci; int mi; long dua; int disa; char co; boolean s; boolean c; boolean j;
void setup() { Wire.begin(8); /* join i2c bus with address 8 */
//Wire.onReceive(receiveEvent); /* register receive event */
Wire.onRequest(requestEvent); /* register request event */ pinMode(trig,OUTPUT);
pinMode(echo,INPUT); pinMode(trigr,OUTPUT); pinMode(echor,INPUT);
Serial.begin(9600); pinMode(triga,OUTPUT); pinMode(echoa,INPUT); } void loop() {
delay(100); digitalWrite(trig,LOW); delayMicroseconds(2); digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW); du=pulseIn(echo,HIGH); dis= du*0.034/2; digitalWrite(trigr,LOW);
delayMicroseconds(2); digitalWrite(trigr,HIGH); delayMicroseconds(10);
digitalWrite(trigr,LOW); duo=pulseIn(echor,HIGH); dist= duo*0.034/2;
digitalWrite(triga,LOW); delayMicroseconds(2); digitalWrite(triga,HIGH);
delayMicroseconds(10); digitalWrite(triga,LOW); dua=pulseIn(echoa,HIGH); disa=
dua*0.034/2; //S C J FOR BUZZER /*if (dis <=5) { s=HIGH; } else if( dis >5) { s=LOW; }*/ if
(dis <= 15) { ki=1; }
else if (dis > 15) { ki=0; } /*if (dist <=5) { c=HIGH; } else if( dist >5) { c=LOW; }*/ if (dist
<= 15) { ci=1; } else if (dist > 15) { ci=0; } /*if (disa <=7) { j=HIGH; } else if(disa >7) {
j=LOW; }*/ if (disa <= 19) {
mi=1; } else if (disa > 19) { mi=0; } /* if (s|c|j==1) { digitalWrite(13,HIGH); } else {
digitalWrite(13,LOW); } */ s=0; if (ki ==1 && ci==1 && mi==1) { co =’3’; // reqEvent(co);
} else if(ki ==1 && ci==1 && mi==0) { co =’q’; // reqEvent(co); } else if(ki ==0 && ci
==1 && mi==1) { co =’w’; // reqEvent(co); }
else if(ki ==1 && ci ==0 && mi ==1) { co =’e’; } else if(ki ==1 && ci ==0 && mi ==0) {
co =’r’; } else if(ki ==0 && ci ==0 && mi ==1) { co =’t’; } else if(ki ==0 && ci ==1 &&
mi ==0) { co =’y’; } else if(ki ==0 && ci ==0 && mi ==0) { co =’0’; } } // function that
executes whenever data is received from master /*void receiveEvent( \vspace{5mm}) {
while (0 <Wire.available()) { char c = Wire.read(); Serial.print(c); } Serial.println(); }*/
// function that executes whenever data is requested from master void requestEvent() {
Wire.write(co); /*send string on request */ } \vspace{5mm} }
CHAPTER 8 RESULTS i The Smart car parking system has been designed on small scale
and tested successfully.

The car parking system counts the number of empty slots and displays on LCD screen.
As soon as any vehicle approaches towards gate, the gate will open if and only if any
slot is vacant, otherwise displaying message on LCD that parking lot is full. Moreover
while being parked, if vehicle is too close to the wall then the buzzer will go on and will
alert the driver.

The line follower bot follows speciïn?A?c path deïn?A?ned for each slot. The slot is
reserved as soon as user enlists SSID and password. The bot travels to the speciïn?A?c
slot and is detected by ultrasonic sensor at the slot.
CHAPTER 9 CONCLUSION @ Eases the challenges of urban lifestyle, transportation
motility and environmental conservation.

@ Used for modifying the fecundity tiers and the processing tiers in operations. @
Proves to be beneficial as it provides low operating costs thus increasing revenues and
comforts facility. @ Our proposed system has been evolved from toll-booths and
parking stewards.

@ It employs the usage of Ultrasonic sensors, Arduino Uno, IR sensors, LCD display, wi-fi
module, servo motor, etc. @ Arduino assembles the physical equipment, software and
network inter-connectivity that allows objects to be detected and remotely monitored
across existential network. @ Such assembly enables drivers to manage vacant and
occupied parking slots that contributes to better performance, precision and financial
societal profits.
CHAPTER 10 APPLICATIONS @ This module system can be implemented in shopping
complexes, cineplexes, public stations, authority and educational buildings etc. @ The
vehicles are parked in parallel pattern in the surface parking system. @ It can also be
expanded to a multi-tiers car parking system to increase vehicle parking ability by
employing usage of vertical space.

@ It can be employed in business offices, industries, and academic institutes. @ In


multi-storied parking garages like separated higher than ground, under buildings higher
than the grade and under buildings beneath the grade.
CHAPTER 11 FUTURE ENHANCEMENTS @ The smart parking and monitoring system
can be predominantly applied for many future executional implementations.

@ In addition of performing its basic duty of parking and management of cars, it can
also be enhanced for aerial, naval and flotilla management. @With the boom in the field
of Internet of Things many theories and implementations can be integrated along with
our project. @With a very few external changes in the hardware, this modified parking
system can be extended to convoy administration of ship and plane.

@ It can substitute for the integration templates of cars with ship or plane for better
Graphic and Digital Interface and real time applications.
APPENDIX A CONFERENCE PARTICIPATION CERTIFICATES Figure A.1: Certificate of
Kumar Shubham Figure A.2: Certificate of Srijan Bakshi
/ Figure A.3: Certificate of Gaurav Bisht Figure A.4: Certificate of Shubham Kumar Gupta
REFERENCES Wenyu Cai, Dong Zhang, Yongjie Pan "Implementation of Smart Parking
Guid- ance System based on Parking Lots Sensors Networks," 2015 IEEE 16th Interna-
tional Conference on Communication Technology (ICCT) Thanh nam pham, Ting-fong
tsai, Duc binh nguyen, Chyi-ren dow and Der-jiunn deng "Smart-Parking System Based
on Internet-of-Things Technologies," IEEE Access, September 23, 2015 V Sumathi, NVP
Varma, M Sasank "Energy efficient automated car parking sys- tem’" - International
Jouranlof Engineering and Technology, 2013 Sheng-Fuu Lin, Yung-Yao Chen,
Sung-Chieh Liu "A Vision-Based Parking Lot Management System," 2006 IEEE
International Conference on Systems, Man and Cybernetics, 16 July 2007 Gitesh Vithal
Rao Mudey, Dinesh V.

Rojatkar"Automated Vehicle Parking In In- dian Context," International Journal of Thesis


Projects and Dissertations (IJTPD) Vol. 3, Issue 4, pp: (22-26), Month: October -
December 2015 K.Vasavi , M.V.S.Praveen "Obstacle Detection and Avoidance
Autonomous Car," International Journal of Engineering Trends and Technology (IJETT) -
Volume 9 Number 15 - Mar 2014 William J.

Fleming, "Overview of Automotive Sensors," IEEE SENSORS JOUR- NAL, VOL. 1, NO. 4,
DECEMBER 2001 Mustafa Engin, Dilŧad Engin "Path planning of line follower robot,"
Proceed- ings of the 5th DSP education and research conference,September 2012 Trista
Lin, FrÃl’dÃl’ric Le MouÃn´, Herve Rivano "A Survey of Smart Parking Solutions," IEEE
TRANSACTIONS, April 2017 NILS GAGEIK, PAUL BENZ, AND SERGIO MONTENEGRO,
"Obstacle De- tection and Collision Avoidance for a UAV With Complementary Low-Cost
Sen- sors",IEEE ACCESS,MAY 12,2015 Pengcheng Liu, Sing-Kiong Nguang, and Ashton
Partridge, "Occupancy Infer- ence Using Pyroelectric Infrared Sensors Through Hidden
Markov Models", IEEE SENSORS JOURNAL, VOL. 16, NO.

4, FEBRUARY 15, 2016

INTERNET SOURCES:
-------------------------------------------------------------------------------------------
<1% - https://www.scribd.com/document/65080157/Final-Report-Final
<1% - http://www.academia.edu/3662047/Final_Project_front_pages
<1% - https://www.academia.edu/32787800/CREDIT_MANAGEMENT_SYSTEM
<1% -
https://www.academia.edu/6749438/LUSTER_wireless_sensor_network_for_environmenta
l_research
<1% - https://www.utoledo.edu/graduate/files/APA_Samples_V4.pdf
<1% - https://myclassbook.org/l293d-dc-motor-driver-ic/
<1% - https://www.filehorse.com/download-arduino/36305/
<1% -
https://www.datasheetarchive.com/16%20pin%20diagram%20of%20lcd%20display%201
6x2-datasheet.html
<1% -
https://www.powershow.com/view/1bbe66-ZTM2N/Block_Diagram_powerpoint_ppt_pre
sentation?varnishcache=1
<1% - http://www.pondiuni.edu.in/storage/dde/downloads/mbaii_qt.pdf
<1% - https://www.engineersgarage.com/articles/sensors
<1% - https://www.scribd.com/presentation/225278777/RFID-based-car-parking-system
<1% - http://socialledge.com/sjsu/index.php/S15:_Smart_Sparta_Parking_System
<1% - https://wiki.keyestudio.com/Ks0191_keyestudio_Smart_Small_Turtle_Robot
<1% -
https://www.researchgate.net/publication/319214587_POTENTIAL_SOLUTIONS_FOR_CH
AOTIC_ALIGARH_CITY_TRAFFIC_MANAGEMENT_SYSTEM
<1% - https://nevonprojects.com/automated-car-parking-with-empty-slot-detection/
<1% - https://www.researchgate.net/profile/Saranya_B
<1% - https://www.sciencedirect.com/science/article/pii/S1319157816300799
<1% -
https://www.researchgate.net/publication/222458344_The_use_of_mathematical_progra
mming_with_artificial_intelligence_and_expert_systems
<1% - https://www.academia.edu/36387180/Ankur_final
<1% - https://www.irjet.net/archives/V4/i1/IRJET-V4I1154.pdf
<1% -
https://mafiadoc.com/energy-efficient-automated-car-parking-system-engg-journals-_5
9a295851723dd0a40e07c84.html
<1% -
https://www.researchgate.net/publication/320131181_An_IoT-based_E-Parking_System_f
or_Smart_Cities
1% -
http://www.researchpublish.com/download.php?file=Automated%20Vehicle-2397.pdf&
act=book
<1% -
https://www.bristolpost.co.uk/news/bristol-news/motorist-cautioned-after-passing-dan
gerously-1867008
<1% - http://www.instructables.com/id/Remote-Controlled-Robot-Using-Arduino/
<1% - https://www.youtube.com/watch?v=dG3P7WS1iIU
<1% - https://en.m.wikipedia.org/wiki/NodeMCU
<1% -
https://www.instructables.com/id/How-To-DIY-Home-Automation-With-NodeMCU-and
-Amazon/
<1% - https://db0nus869y26v.cloudfront.net/en/NodeMCU
1% - https://en.wikipedia.org/wiki/NodeMCU
<1% -
https://prakasamsairam.blogspot.com/2017/04/how-dc-motor-works-dc-motor-definiti
on.html
<1% - https://www.youtube.com/watch?v=uUj82nXjNjk
<1% - https://www.irjet.net/archives/V5/i3/IRJET-V5I3717.pdf
1% - https://en.wikipedia.org/wiki/DC_motor
<1% -
https://medium.com/@chinafengli/the-basic-knowledge-of-dc-motor-a575ff848deb
<1% - https://en.wikipedia.org/wiki/Arduino_IDE
1% - https://en.wikipedia.org/wiki/Arduino
<1% - http://www.sphinxsai.com/2018/ch_vol11_no4/2/(101-106)V11N04CT.xml
<1% - https://en.wikipedia.org/wiki/Radio-frequency_identification
<1% - https://www.insurancehotline.com/parking-lot-accidents-and-your-insurance/
<1% - https://www.wikihow.com/Reverse-Into-a-Car-Parking-Space
<1% - http://www.circuitbasics.com/basics-of-the-spi-communication-protocol/
<1% - https://dronebotworkshop.com/dc-motors-l298n-h-bridge/
<1% -
https://www.ijser.org/paper/Super-capacitor-based-energy-harvesting-system-for-Wirel
ess-Sensor-Node.html
<1% - https://www.hindawi.com/journals/wcmc/2018/7243875/
<1% -
https://www.academia.edu/36860412/Parking_Space_Detection_using_Image_Processing
_in_MATLAB
<1% - https://www.slideshare.net/priyahada/final-report-on-line-follower
<1% -
https://ijmter.com/papers/volume-4/issue-3/four-quadrant-dc-motor-speed-control-usi
ng-arduino.pdf
<1% -
https://www.scribd.com/document/355147245/iot-project-two-esp8266-communication
-talk-with-each-other
<1% - https://microcontrollerelectronics.com/arduino-2wire-chat/
<1% -
https://www.reddit.com/r/arduino/comments/3g5i4x/i2c_slave_demo_code_question/
<1% -
https://www.withyouhamesha.com/owner-manual/Xylo-H-Series/owners-manual-XYLO-
H-SERIES.html
<1% - http://ijeti.imeti.org/download/1624-abs&ref.pdf
<1% - http://ijettjournal.org/archive/ijett-v9p348
<1% - https://core.ac.uk/download/pdf/12007438.pdf
<1% -
https://www.researchgate.net/publication/283800413_Occupancy_Inference_Using_Pyro
electric_Infrared_Sensors_Through_Hidden_Markov_Models

You might also like