GIF Demo: https://imgur.com/a/9O1wTSd
OccuPotty was inspired by one of our team members recent experiences. At his internship in the summer, there were two bathrooms on his floor, and they were on opposite corners. Numerous times he walked to the bathroom only to find the bathroom was occupied and his emergency had to wait. We decided to take this _"unique" _ challenge and find a solution.
What it does
The user experience is consumed through a webpage. There it lists the locks that are under the organization and shows whether they are locked or unlocked. In our case, we modeled our organization after a bathroom. If someone enters or exits a stall, the webpage will update to reflect the new status of the lock.
There is also a live physical status on the lock represented by LEDs. This could be used by maintenance to troubleshooting lock issues.
How we built it
For hardware, we have an Arduino monitoring and controlling that status of the locks. To interact with it, we have chosen to utilize pyFirmata, a Python library of Firmata.
Any information is transferred via an API, called LockRice, that we have crafted ourself. This API interacts with a MongoDB database and reflects the current status that the Arduino sends it.
Challenges we ran into
The biggest challenge we faced on the software side was figuring out how to request data from our database and connect it to our toggle feature on the website. It took lots of researching and trial and error to overcome this challenge.
On the hardware side, our engineers faced a challenge of the vacant light acting on its own accord. After double and triple-checking the python code and the circuitry, they overcame the challenge.
Accomplishments that we're proud of
We are proud of the progress we made throughout this project. Coming into this event, none of us had a lot of experience or knowledge into what they were assigned to do. This was on purpose, as it was a way to learn different technologies.
What we learned
"I learned how to create an API from scratch and how to connect that various parts of the project." - Ryan Hall
"I learned more about databases and APIs while also further learning and refining my knowledge of front end languages." - Emily Murphy
"I learned to integrate hardware with software by utilizing databases and leveraging APIs." - CJ Sewell
"I learned more about the intricacies of Arduino circuits, specifically how to create more complex circuitry." - Spence Simmons
What's next for OccuPotty
OccuPotty could be expanded in several ways, such as adding automatic locking, or a system of reservations. This application can also be shown to be useful in other areas.