Difference between revisions of "S15: Smart Sparta Parking System"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Hardware Interface)
(References Used)
Line 340: Line 340:
  
 
=== References Used ===
 
=== References Used ===
List any references used in project.
+
* http://www.seeedstudio.com/wiki/Bluetooth_Bee
  
 
=== Appendix ===
 
=== Appendix ===
 
You can list the references you used.
 
You can list the references you used.

Revision as of 00:27, 25 May 2015

Abstract

A smart parking system which aid people to find a parking slot at a parking garage with ease. The system will display the available parking slots in real time and will direct the driver to a specified location hence reducing the touble to find one. This employs a bluetooth communication with control center and consumer via an android application.

Objectives & Introduction

This project aims to simplify the parking process in large parking lots. Currently, when a car enters a parking lot, the information provided at the entrance is the total empty spots available. No information regarding where the spots are is provided. If the parking lot is a large one and the spots left are very few, the users face a difficult time finding an empty spot.

What we are doing here is that we tell the user a spot number, based on his car size, where he can park his car. We also have provided the user with an android based mobile application which has a map of the parking lot hence making it easier for the user to find the exact location.

Team Members & Responsibilities

  • Bhargava Leepeng Chandra
    • Android application, Model/Prototype Design
  • Gautam Saily
    • Motor, Nordic Wireless, Model/Prototype Design
  • Niveda Das
    • IR Sensors, Nordic Wireless
  • Rishabh Holenarasipur Sreedhara
    • Display, LDRs, Integration
  • Sujith Durgad
    • Bluetooth, Control Centre

Project Schedule

Week No. Start Date Planned End Date Task Status Actual End Date
1 03/30/2015 04/06/2015
* Design the Project Layout
* Order necessary Hardware
* Task allocation
* GIT version control system setup and integration
  • Completed
Servo motors, IR sensors, LDRs, Bluetooth orders placed. Model basic layout sorted. Git project setup and integrated to eclipse.
04/06/2015
2 04/06/2015 04/13/2015
* Start Model Implementation to position hardware
* Design Android Application UI Layout
* LCD base code testing
* Research Nordic wireless
  • Completed
Model initiated, Android UI defined, Able to test LCD
04/13/2015
3 04/13/2015 04/20/2015
* Bring up parking layout and motors on to Model
* Basic bluetooth code testing
* Basic Nordic wireless design
  • Completed
CAD design for Model completed. The hardware model follows the CAD model to the possible extent. Nordic wireless: Able to send and receive messages between two SJOne boards. Bluetooth in progress
04/21/2015
4 04/20/2015 04/27/2015
* Establish Communication between Nodes using Nordic wireless
* Complete hardware model with Motors, IR sensnors and LDRs installed
* Implement IR sensors, LDRs and Motor (individual operation)
* Update Wiki page
  • Ongoing
--/--/----
5 04/27/2015 05/04/2015
* LCD dispaly Layout for information display with refresh
* Implement Nordic wireless on all three boards
* Verify mutli node communication
* Android App basic initialization and interface with bluetooth
* Update Wiki page
  • Scheduled
--/--/----
6 05/04/2015 05/11/2015
* Integration testing with modular approach
* Fixing issues
* Update Wiki page
  • Scheduled
--/--/----
7 05/11/2015 05/18/2015
* Integration testing of complete system
* Check if all systems are operational
* Test working of system integration
* Fixing issues
* Update Wiki page
  • Scheduled
--/--/----
8 05/18/2015 05/25/2015
* Final testing
* Complete Wiki page project report
* Final demo
  • Scheduled
--/--/----

Parts List & Cost

Index Part Description Part Number Vendor Qty. Price/unit Total Price
1 SJOne Board: ARM Cortex-M3 based LPC1758 Platform -NA- SCE SJSU 3 $80.00 $240.00
2 Bluetooth Bee B005GI4HFA Amazon.com 1 $23.00 $23.00
3 LDRs GM5539 Amazon.com 20 $0.224 $4.88
4 Servo Motor LS-0003 Fry's Electronics 2 $9.99 $21.73
4 IR Sensors
5 MSC Components
6

Design & Implementation

This section consists of the hardware/software design and implementation of our parking system model.

CAD Model for SSPS

Hardware Design

The project model is divided into two parking levels. Both levels have different controllers. The lower level has the master controller and the upper level has the slave controllers. The modules controlled by the master are LCD Display, LED’s, LDR’s, IR Sensors, Servo Motors, Bluetooth Transceiver and Nordic Wireless. The modules controlled by slave controller are LDR’s and Nordic Wireless.

The function of each module is explained in the hardware implementation part.

Master Controller

The master controller is the SJ-ONE board which is employed on the lower level of parking and it controls all the modules in the system. The functions of each module is explained below.

Light Dependent Resistor (LDR)

As the name suggests, LDR is a resistor whose resistance value depends on the light intensity. These LDR’s are used in our project at the following places:

  • To detect the empty spots.
  • To detect whether the car has crossed the boom-gate at the entrance and exit.

These LDR’s are placed at every parking spot in such a manner that if a car is parked over it, there will no no light reaching the LDR and hence the resistance will increase. This increased resistance is detected at GPIO inputs and the values at the GPIO pins (logic 0 - Presence of a car, logic 1 - absence of a car) are sent to the master controller.

LCD Display

The LCD display is placed at the entrance of the parking lot. It displays one of the following:

  • A welcome message with car park rates.
  • The parking spot allocated to the car.
  • A message saying that the parking lot is full.
Infra Red (IR) Sensors

IR sensors are used to detect the presence of an object between the transmitter and the receiver. Output signal from the IR receiver depends whether the line of sight of the transmitter and receiver is intruded or not. In our project, IR sensor have been used to detect the presence of a car at the entrance and to measure the length of the car which further decides whether a compact or a big spot has to be assigned to the car. There are two IR sensors placed at the entrance. One is at the place where the car stops and other at an offset from the entrance (in our case it is 3.5 inches). When a car stops at the entrance of the parking lot, the first IR sensor is blocked. Then we check the second IR sensor. If the sensor is blocked the car is big in size, i.e. more than 3.5” long, otherwise it is a compact car.

Servo Motor

Servo motor is a geared motor that helps in the precise angular control. In our project, we are using the servo motor to control opening and closing of the boom-barrier (or boom-gate) at the entrance and exit. When a car is detected at the entrance by the IR sensor (assuming that the parking is not full) and the entrance button is pressed, the servo motor is actuated to turn 90 degrees so that the boom-gate is open. Once the car has crossed the LDR present at the other side of the boom-gate, the servo motor is brought back to 0 degrees and the boom-gate is closed.

Bluetooth Model for SSPS
Bluetooth

Bluetooth Bee is an easy to use Bluetooth Serial Port Profile(SPP) module compatible with existing Xbee sockets, designed for transparent wireless serial connection setup. Serial port Bluetooth module is fully qualified Bluetooth V2.0+EDR(Enhanced Data Rate) 3Mbps Modulation with complete 2.4GHz radio transceiver and baseband. It uses CSR Bluecore 04-External single chip Bluetooth system with CMOS technology and with AFH(Adaptive Frequency Hopping Feature). It has the smallest footprint of 12.7mm x 27mm.

Default Baud rate:38400, Data bits:8, Stop bit:1, Parity:No parity, Start Bit:1 Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.

Nordic Wireless

Nordic wireless supports multi-node mesh network with simultaneous communication between different nodes. It is a medium range wireless communication system which supports a fair amount of distance between different nodes. It is a low power application that extends the lifetime of a battery operated system. In our project we have used the nordic wireless to relay the sensor updates and other relevant information to the master controller at the lower level of the parking lot. The slave controller forms packets of the data it received from the LDR’s and transfers the information to the master controller wirelessly. To achieve this, we have to give a particular address to each node (master and slave) which is the base to operate a mesh network. We set the address of each controller by flashing the address in a file on each SJ-ONE board.

Slave Controller

The slave controller is the SJ-ONE board which is employed on the upper level of parking and it monitors the parking spots at the upper level using LDR and transmits the data to the master controller. The functions of each module is explained below.

LDR's

The function of the LDR’s is described in the master controller.

Nordic Wireless

The function of Nordic Wireless has been described in the master controller.


Hardware Interface

For two modules to communicate, there is a need of a protocol between them. This protocol is different for different types of interfaces. The communication between the different modules in our project is made possible due to the following hardware interfaces.

GPIO Interface

The GPIO pins on the SJ-ONE Board are used for switches, LED’s LDR’s and IR sensors. The GPIO pins are used as inputs for the IR receiver, LDR’s and switches. Whenever the signal at the output of these three devices is low, it indicates a logic ‘0’, and whenever the signal at the output of these devices is high, it indicates a logic ‘1’. The GPIO pins are used as outputs for LED’s and IR transmitter. Whenever the output signal is a logic ‘1’, 3.3V signal is given to the device and whenever the output signal is logic ‘0’, 0V signal is given to the device.

PWM Interface

The SJ-ONE Board on the lower level (Master controller) communicates with servo motor through PWM interface. In order to rotate the boom-gate at 90 degrees, PWM signal is sent to the servo motor.

Mesh Interface

The master controller (SJ_ONE Board) on the lower level communicates with the slave controller (SJ_ONE Board) on the upper level using a low mesh interface. The lower level receives the status of the parking spots acquired by the LDR’s at upper level using a mesh packet.

UART Interface

The master controller on the lower level communicates with the LCD display through UART interface. In order to display information on the LCD display, UART signals are transmitted to the LCD.

Software Design

Show your software design. For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level. Do not show the details of the code. For example, do not show exact code, but you may show psuedocode and fragments of code. Keep in mind that you are showing DESIGN of your software, not the inner workings of it.

Implementation

This section includes the overall working of the project.

Back-End Algorithm (Process of finding a parking spot)

  • The upper and lower module polls the GPIO pins connected to LDR’s to check the status of the spot (vacant or filled).
  • This polling is done every one second. This means that the database is updated every second.
  • As soon as the upper level controller polls the status of the LDR’s, it sends the packet containing the polling results to the lower level controller.
  • This communication is done using Nordic Wireless.
  • At this point , the back-end algorithm gets the information about the car size from the front-end algorithm and checks whether a parking spot is available for that particular car size.
  • If a parking spot is available, its location will be decided here and displayed on the LCD.
  • If there is no parking spot available, “Parking Full” message will be displayed on the LCD.


Front-End Algorithm (What happens when a car arrives)

  • The car comes at the parking lot entrance.
  • The front IR sensor is blocked resulting in activation of the switch that has to be pressed to get a ticket.
  • The second IR sensor (placed 3.5” from the boom-gate) detects the length of the car using the following steps.
    • If the sensor is blocked, i.e. the car is greater than 3.5”. Hence it is categorized as a big car.
    • If the sensor is not blocked, i.e. the car is less than 3.5”. Hence it is categorized as a compact car.
  • This information about the car size is given to the back-end algorithm. If there is a free parking spot, the boom-gate opens.
  • The LDR placed across the boom-gate checks whether the car has passed over it or not.
  • When the car passes, the LDR gives the signal to the master controller to close the boom-gate.

Bluetooth Implementation

Bluetooth Hardware Implementation

The above system diagram shows the overall connection of the SJOne board and the Bluetooth bee module. This module can be mounted on the SJ one board on the zigbee base. The communication for configuration of the module is based on ST commands. There are unique commands for specific functions, to set the device name, set the pin, set the baud rate and much more. All you have to do is to save these ST commands in the form of string and send each byte serially to the module using a UART3. Initially the baud rate is set to 115200. Following table shows few of the AT commands which you may require.

Software Commands
Commands Use
\r\n+STWMOD=0\r\n Set device working mode as client (slave). Save and Reset
\r\n+STBD=115200\r\n Set baudrate 115200. Save and Rest
\r\n+STNA=Smart_parking_bluetooth\r\n Set Device Name as "Smart_parking_bluetooth". Save and Reset
\r\n+STOAUT=1\r\n Permit Paired device to connect me
\r\n+INQ=1\r\n Commands for Normal Operation

Testing & Technical Challenges

Software Issues

  • When interfacing Bluetooth bee with the SJ one board, the initially baud rate of the Bluetooth bee was set to 115200 rather than 9600. By connecting the output to voltage analyzer and calculating the frequency, we were able to calculate the baud rate in which the Bluetooth bee was operating.

Conclusion

Conclude your project here. You can recap your testing and problems. You should address the "so what" part here to indicate what you ultimately learnt from this project. How has this project increased your knowledge?

Project Video

Upload a video of your project and post the link here.

Project Source Code

References

Acknowledgement

Any acknowledgement that you may wish to provide can be included here.

References Used

Appendix

You can list the references you used.