Simple arduino based Automated Parking lot System
Seyedreza Fattahzadeh
2015 Seyedreza Fattahzadeh
No part of this book may be reproduced, in any form or by any means, without the written permission from the author / publisher.
NOTICE TO THE READER
All rights reserved. No part of this book may be reproduced, in any form or by any means, without permission in writing from the publisher.
Every effort has been made to ensure our books are as accurate as possible. However, there may be mistakes, both typo and in content. This content should be used as a general guide and not as the solution. The author does not warrant or guarantee any of the products described herein. Also, the author does not warrant or guarantee any of the equipment or programs described herein or accept liability for any damages resulting from their use. The reader is warned that both electricity and the construction of electrical equipment can be dangerous. It is the responsibility of the reader to use common sense and safe electrical and mechanical practices.
Arduino is a registered trademark of Arduino.
CodevisionAVR is a registered trademark of HP Info Teach
Proteus is a registered trademark of Lab center Electronics Company.
Altium Designer is a registered trademark of Altiume Company.
AVR and Atmega32 are trademarks Atmel Company.
Please be informed that:
This book contains many images. Since eReaders dont always display images well, upon request, I will provide you with the PDF file which contains the complete e-Book, including the images, if you need an easier-to-read format. To receive a PDF version of this e-book or any other software which is mentioned in the content of this text, you can email me the proof of your purchase of the kindle version of the book from . Upon receipt of that proof, a PDF version will be sent to your email address.
Table of Contents
The purpose of this manual is to design and implement a Microcontroller based Parking system. In short, the Microcontroller based system will keep track of the number of cars in the parking area. It will not allow more than 16 cars to park. It will show the number of slots unoccupied, will automatically raise the Gate arm to allow cars into the parking lot or leave it. It keeps track of the amount of time a car is parked, the time at which driver leaves the parking lot, shows current and exit Time and Date and display them on the a LCD. The microcontroller will finally calculate the cost of parking, for each car parked in the Parking area. When the amount is paid and the parking operator depresses a paid button, the exit arm gate is raised, and one unit is added to the total number of vacant cars in the Parking lot.
The purpose behind developing a Project like this is an attempt to make learning Microcontroller programming interesting and enjoyable! Making a connection with a familiar control system such as a typical Microcontroller based automated parking system is for showing how and why timers, limit switches, sensors and relays are used.
Seyedreza Fattahzadeh holds a Bachelor of Science in Electrical Engineering from the University of Texas at Arlington. His main expertise is in digital systems, electronics, and computer engineering.
Seyedreza has extensive experience in the field of programmable controllers. He worked for a few industrial manufacturers as a programmable controller consulting firm. His industrial experience includes designing and implementing mid - class automation systems, based upon PLC.
Seyedreza has authored several other books about programmable controllers. You can
This book is prepared for those who are familiar with the basic instructions of any typical microcontroller and C language, and want to challenge their knowledge by writing a more complex industrial program: in this case, preparing a control program for an AVR microcontroller and Arduino board to control a car parking system.
In the text, the complete implementation of the project is presented to you. Read it carefully and your job is to re-write your own version of the same program. Use your simulator software (such as Proteus) or your own microcontroller hardware to develop a similar program. When you have done it, simulate your solution and verify if it works perfectly at the first try. If you did not succeed at the first try, then compare your solution with the one presented in this text. When you find out what is wrong in your control program, go ahead and fix it. Try again and again until you get it done right. When you finally succeed making it, this means you are on the right track towards mastering your microcontroller programming knowledge. And that is the purpose of this manual.
The prototype version of the project is actually designed and implemented in my lab. The control software is presented to you after it is tested on the hardware, and I have made sure it is functioning 100% according to the designed specification.
To watch the performance of the project hardware and software at action, click on the these links:
http://www.youtube.com/watch?v=7aIp2iCC_mU
http://www.youtube.com/watch?v=CNt2DIlwrso
For the older version of this project with PLC (Programmable Logic Control) click on the following link:
http://youtu.be/51oqLRxXcHk
The schematic diagrams of all hardware circuits used in this project are provided. If you wish, you can even design and implement your own hardware system similar to mine or even tailor it to the one with more features that you wish to have. Or, you can still learn by simulating your own program and checking out its performance against mine. And if you find yourself stuck up at any step, you can check out my solution against yours!
The table below lists the files developed for this project explained in . These files are not included in the text. To get these files emailed to your address, please contact me as you are directed in the 'Please be informed' section of this text'.
Files related to |
Simulation Proteus based file: parking.DSN |
Codvision based generated file: parking.prj |
Parking.PcbDoc (Main Controller board layout) |
Files related to |
parking.ino (Main controller file) |
A_Parking.PcbDoc (Main controller board layout) |
At the first step, an outline of this project () is portrayed by the next details. You may use the following link to see the performance of designed systems from Youtube.com website before anything.
http://www.youtube.com/watch?v=7aIp2iCC_mU
Figure 1.1: The parking system with AVR microcontroller
1. We are dealing with a simple microcontroller based parking system that can control 16 cars at the maximum. Each time a car enters, the microcontroller automatically deducts one from the total number of cars that can be parked in the garage, and displays total number of cars that can be parked after last entrance (16-1 = 15). Each car that comes out will automatically be added to number of slots available in the garage. When 16 cars are parked, a signal (red LED indicator) will turn on and off, indicting that the garage is full and notifying other drivers not to enter because there is no space available. A two digit numerical Seven Segment LED Display (installed at the parking entrance) shows total number of vacancies.
Next page