Half of our team is majoring in mechanical engineering, so it was particularly interesting for us to create something that lies on the interface between engineering and computer science. We thought it was important to do something relevant to the WSU community and came up with the idea of making parking on campus more efficient and accessible, and, going from there, the team thought of the idea of providing real-time data for availability in the campus parking lots and garages. Students often encounter the problem of purchasing parking passes for lots that are already at maximum capacity and struggle to locate spaces even if they do have a usable parking pass, so, to make the consumer experience much easier, we aim to provide real-time data for parking availability throughout the campus.
What it does
Our application indicates that the "space" is occupied when the distance between the ultrasonic sensor and an object is less than a certain amount. If the "space" is occupied, it is subtracted from the number of available spaces and is then passed into the GUI and displayed to the user.
How we built it
We created two separate programs - one in C to receive data from the ultrasonic sensor connected to the arduino 101, and one in python to construct a GUI. We then passed the data from the ultrasonic sensor into a text file that could be read into the frames of the GUI and updated every time a button is pushed.
Challenges we ran into
None of us have ever coded with Tkinter to create a GUI in python, so Allison and Hannah learned how to do just that. Some challenges with learning to create a GUI were going back and forth between frames, uploading images, and making relatively consistent frame sizes. Some of the challenges with the arduino and C portions of the application were getting the outputs of the serial arduino code into C and, subsequently, into a text file that could be passed into python.
Accomplishments that we're proud of
Learning how to use a very complex python module was a pretty big accomplishment. In addition, overcoming obstacles with interfacing between arduino and C. We also created a functional, finished product!
What we learned
We learned how to use Tkinter! We learned a lot about how to research possible solutions to problems and how to get a grasp on what the issues we encountered were before we asked for help.
What's next for Real-Time WSU Parking Availability Application
The Next step for this application would be to integrate it into the WSU parking payment system and to implement enough sensors to make the program functional.