Smart Parking – Week 9 – Group 1


Shanel:

This week, I’ve been focused on finalizing the details of the 3D models and starting the shift to building the physical prototype. Moving from the digital model to the real-life version has been much harder than I expected. In the 3D model, everything looks like it fits perfectly, but when I tried to build it in real life, I ran into unexpected issues.

One of the biggest challenges has been creating the shell for the V-Wheel system. I thought it would be a straightforward process, but I ended up having to make adjustments and rebuild it several times to get the fit just right. Each time I tested it, I discovered small differences that I couldn’t see in the 3D model, so I had to keep tweaking it until everything finally aligned as needed.

Now, after a lot of trial and error, I’ve found the correct size and fit for the shell. With this part of the project finally sorted, I’m ready to start assembling the V-Wheel system and moving closer to a functional prototype.

This is the working shell that fit with the ball bearing:

As always, there’s room for improvement, and adjustments are often necessary. I decided to modify the design of the holders that stabilize the aluminum profile. The original drawings worked, but I realized there were ways to make the holders more secure and better suited to the overall structure. By refining this part, I’m aiming to improve the stability and durability of the prototype. Making these changes now will hopefully save time and effort later in the testing and assembly stages.

This week in the workshop, I worked on setting up the aluminum profiles and legs. I focused on securing them properly and measuring exact placement for each part. It was a hands-on step that gave me a better sense of the structural needs for our setup. With these measurements in place, we’re closer to a stable and functional prototype

Meron:

Building the Support Structure for the Parking Levels Using Weldments

This week, I made significant progress in constructing the base support structure for my smart parking system, which will bear the weight of the parking levels. Using SolidWorks Weldments, I designed and assembled this foundational structure with strong welds to ensure it can handle the heavy load from multiple levels and the cars parked on them. Weldments allowed for precise, reinforced connections, making the base exceptionally stable and durable. This support structure acts as the core of stability for the entire system, allowing it to safely lift and support all levels.

I spent additional time in the workshop this week drilling necessary materials and completing initial tests. These preparations were essential for fine-tuning the parts and ensuring they’re ready for load-bearing testing. Through these preliminary tests, I could evaluate how the structure handles various stresses and confirm the quality of the welds and drilled components.

For the next phase, I’ll conduct full stability and load-bearing tests. This includes testing with weights equivalent to cars on each level, as well as a detailed stress analysis to ensure the welds and drilled parts hold up under the repeated movements expected in regular operation. These tests are crucial to identify any structural weaknesses before full deployment.


Milani:
This week, I helped improve the website’s layout and navigation by supporting design updates. I worked on making the navigation flow more user-friendly and helped adjust the text layout so it fits well with the design. These changes will make the site easier to use and more visually appealing.

What I Did This Week:

  • Helped with design updates to improve website layout and navigation.
  • Supported text layout adjustments to match the design.
  • Worked to make the site more user-friendly and visually

Azi:

This week, I transformed the control structure of the elevator system by shifting primary functionality from Arduino to Python, which allowed a more stable, integrated setup with the database. Initially, the Arduino code managed the motor and sensor functions directly, but issues arose when trying to connect both Python and Arduino to the database simultaneously, which prevented smooth updates. Recognizing the need for a centralized controller, I restructured the system so that Python would handle all database interactions and hardware commands, using Arduino for specific tasks as directed by Python.

Major System Overhaul:

Transition to Python as Core Controller To solve the database-related communication issues, I rewrote the primary control to Python. This was made possible by re-coding the motor, sensor, and button functionalities into Python and establishing a clear flow of commands where Python performs database updates, menu, and hardware interaction. What this does is make an entirely synchronized system where any component is kept in rhythm with the database. This structural overhaul enabled real-time updates between hardware and database, stabilized the system, and laid a scalable foundation for further expansions.

This sets up the database and Arduino connections to allow Python to control hardware and manage parking
This sends orders from Python to Arduino, which controls the motor on/off and gives feedback to confirm an action.
This controls the horizontal and vertical movements of the elevator platform, including direction and business state to avoid conflicts. It allows for accurate positioning within the parking system.

Alongside this, I refined the database itself, adding a “Levels” table to enable accurate tracking of spots by level. This table links spot IDs, level IDs, sensor IDs, and receipt IDs, allowing the system to update occupancy statuses automatically as vehicles enter or leave. This adjustment not only improved functionality for the current single-level setup but also prepares the system for future expansions, where multi-level tracking may become essential

The following display shows the current status of that each parking lot has in this system. Every line provides the following information for some given a spot:
·        Spot ID and Level: Identifies the parking spot and the level it’s located on.
·        Type: Indicates whether the spot is designated as “left” or “right.”
·        Status: Shows if the spot is “Occupied” or “Available.”
·        Receipt ID: For occupied spots, this links to a specific parking receipt, which records the parking transaction.
·        Entry Time: The time the vehicle entered the spot, providing a timestamp for when the parking session began.

I also integrated a user menu originally developed by Milani with some coding help from me, making some code adjustments to make sure it functioned smoothly under Python’s control. With this menu in place, users can select whether they are parking or retrieving, receive receipts, and view real-time spot availability. Each choice on the menu directly triggers motor movements and updates the database, creating a cohesive experience from user interaction to physical system response.

This is the main interface of the Smart Parking System. The user is presented with two options:
Park Your Car: When selected, this button initiates the process for parking a car, guiding the user through the steps required to assign a spot and update the system.
Retrieve Your Car: This button allows users to begin the retrieval process for their vehicle, coordinating the system to free up the spot and finalize the transaction.

Outcome:

Going by the use of Python to act as the core controller was a technological advancement that solved the core database access issues and assured a synchronized structure for working on the project. Occupancy tracking, receipt issues, and consistent performance amongst all the components are actually provided in the elevator systems with a solid foundation onto which we can look in the future phases.

Benjamin:

This week, I made several improvements to our website’s layout and usability, improving the navigation flow to make it more intuitive for users. I also optimized the text layout, ensuring it integrates with the visual design elements just the way we want. On the backend, I made good progress by setting up basic server functionality and setting up connections with our database. This foundation will allow us to manage dynamic content on the site more effectively and ensure smooth data handling as we continue to build out features.


Leave a Reply