ZotGarage from the front
ZotGarage from the back
Connecting LED lights to the raspberry pi using female-to-male wire and resistors
ZotGarage sensor prototype: No buzzer, no lights
Connecting the ultrasonic sensor to the breadboards with resistors
Raspberry pi wiring
ZotGarage sensor completed: buzzer and lights
Testing the LED lights : Yellow light means you're getting close to the wall
Meet the team from left to right: Alexa Wang, Jumanah Almajnouni, Ethan Roush, Andre Abtahi
My sibling Andrea would have the privilege of parking her vehicle in our garage. With that privilege, she was also provided with a garage door opener. On the other hand, after long days at work, I would have to physically get out my car, type a 4 digit code, and check if the garage is occupied, then decide on whether I can park my car. This became a tedious, soaking wet (getting out of the car during rainy days) and frustrating problem. Why not automate this personal problem that I was facing?
What it does
ZotGarage provides family members with an easy and straightforward solution for checking whether the garage is occupied. For $30 any house can own a ZotGarage and assign phone numbers through Twilio. Once setup is complete all the user has to do is wait until someone parks in the garage. Once parked, user will be notified "garage is occupied" via text message. Once the member leaves the garage, user will be notified again via text when the garage is unoccupied. For an additional $10 we can add an additional safety feature for the member which provides drivers with light warnings when inching close to walls.
How it was built
We used components and tools from the unoR3 kit: specifically, two breadboards, 5 resistors, red, green and yellow LED lights, a buzzer, and the ultrasonic sensor. This hardware was paired with Python software on a Raspberry Pi. The combination of hardware and software lead to the full completion of our ZotGarage device.
Challenges we ran into
- LEDs: circuit was turning the GREEN LED on when trying to activate other LEDs(sol: grounding the rail)
- LED logic: calculating when to put the device to sleep when a car was parked or the garage was empty for extended amounts of time (sol: use of different coding logic to keep the LEDs off)
- Testing was challenging due to objects used
- Delays in program due to multiple time.sleep()
- Identifying hardware vs software issues when trying to test the device (sol: breaking up the code and testing individual components of the hardware)
Accomplishments that we're proud of
We were proud of our teamwork and turning something once intangible into a tangible product. Some of our team members had no prior hardware experience, and we were proud that they were able help build a hardware-software hybrid product within two days.
What we learned
- SSHing into a Pi can vary performance depending on Wifi
- Connecting a Pi to wifi without a keyboard, mouse, or monitor
- Placing our device in sleep mode when not in use
- Working with Twilio
- Working with different resistors
- How to initialize and activate different GPIO pins through code
- How to create a minimum viable product in only 36 hours
What's next for ZotGarage
- We would like to predict when family members would most likely be using the garage at certain times in the day to avoid checking multiple text messages. We could figure out a way of exporting CSV time stamps of when someone is occupying and not occupying the garage, stick that data in a training model and access that data for future decision making.
- Creating a mobile interface that displays if the garage is being used or not. Rather then texting the user, the user can manually check on their own terms.