Vehicle Sensor Control for Parking Lot Management System

Not rated 22,435

Circuit Image

The objective of this project was to create a parking lot management system. The project was divided into five design phases. Throughout the development process, various challenges were encountered, and progress was made compared to the reports from the first and second phases. Accompanying this report, VHDL code for the parking lot management system, which is based on a state machine and utilizes a seven-segment display for debugging purposes, has been provided. These modules were tested individually, ensuring they operated in the correct sequence according to the timing diagram.

The system is designed to increment the count whenever a car enters the parking lot and decrement it by one when a car leaves. The capacity of the parking lot is limited to a maximum of seven cars and a minimum of zero, thus preventing internal errors related to the number of parking spots. When a car approaches the entrance gate, a signal from the entrance sensor (S_en) is sent to the system, which then checks if the parking lot is full. If there are available spots, the system activates the solenoid to open the gate, increments the car count, and displays the updated count. Conversely, when a car approaches the exit gate, a signal from the exit sensor (S_ex) is sent to the system, which opens the gate, decrements the car count, and displays the updated count.

The system operates in an idle state where it resets initially and remains in this state if both inputs from the Hall effect sensors (S_en = 0 and S_ex = 0) are inactive. If a signal is received from the entrance sensor (S_en = 1) and the parking lot is not full, the system transitions to the solenoid entrance state, enabling the solenoid and incrementing the count. The resulting count is displayed in the display condition state. Similarly, if a signal is received from the exit sensor (S_ex = 1) and the parking lot is not empty, the system enters the solenoid exit state, enabling the solenoid to open the exit gate, decrementing the count, and displaying the updated count.

Once a car has exited or entered, the system closes the gate, disabling both the solenoid exit and entrance states. A challenge was faced in enabling the solenoid based on the output signal from the Hall effect sensor, as the output was insufficient to indicate when the solenoid was activated to open the gate. The system must differentiate between entrance and exit signals. Upon receiving an entrance signal, it checks for available parking spots, opens the gate if spots are available, increments the count, and displays the result. For an exit signal, the system opens the gate, decrements the count, and displays the updated result accordingly.

This parking lot management system effectively utilizes VHDL coding and state machine principles to ensure accurate counting and management of parking spaces, while providing a user-friendly interface through the seven-segment display.As the title indicates the goal of the project was to develop a parking lot management system. In this project we had reduced our project into 5 design phases. In order to acheive the goal, we encountered with some problems and we made progress compared to the 1st and 2nd phase progres report. As already accompanied with this report, we done VHDL

code for the parking lot management system based on the state machine and Seven segment diplay was provided for debuging purpose. These modules were tested separately working in proper sequence relative to the timing diagram. From the test result, the system has to increment whenever a car is coming in to the parking lot. When a car leaves, the system has to decrement by 1 from the total count(# of car in parking lot). In stead of assuming parking lot is infinite, we restricted the limit of parking spot (7 for max and 0 for min) and elminiate the internal error of system (# of parking spot < 0).

Whenever a car is approaching to the gate for the entrance, a signal from the sensor for the entrance (S_en) is fired off to the system then the system checks if a parking lot is not full. If the parking lot is not full the system enable the solenoid to open the gate. The system makes an increment in the count of the car and displays the result. Whenever a car is approaching to the gate for the exit, a signal from the sensor for the exit (S_ex) is fired off to the system then the system opens the gate.

The system makes a decrement in the count of the car and displays the result. Idle state: The state is reset first; the state remains in this state if both inputs from Hall effect sensor S-en = 0 and S-ex = 0. Otherwise it goes the next state Solenoid entrance state: From signal entrance state once it is checked that the parking lot is not full, (S_en = 1) it enables the solenoid for the entrance and makes the proper count increment.

The result is displayed by the display condition state. Solenoid exit state: From signal exit state once it is checked that the parking lot is not empty, (S_ex =1) it enables the solenoid for the exit and makes the proper count decrement. The result is displayed by the display condition state. Signal state: Once the car is exited or entered, the system has to close the gate, which disables solenoid exit state and solenoid entrance state respectively.

We had a problem to enable the solenoid from the the Hall effect sensor signal output. because the output signal was not enough to show, when the solenoid is enabled to open the gate. A signal from a sensor, to be specific from Hall Effect Sensor, fired off to the system, the system has to be able to identify and respond if the signal is for entrance or exit. If the signal is for entrance(from entrance sensor), the system has to make sure if the parking lot is not full (If Parking spot is left) before it opens the gate.

If the parking is not full, any spot is left, it has to open the gate, make the proper count increment and display the result. If the signal is for exit (from exit sensor), the system has to open the gate, make the proper count decrement and display the result.



🔗 External reference