Gymnastics Competition App Log
Week of 1/27
We met with our TA, Nathan Schmetter, to discuss on our project proposal. We finished the project proposal, our budget, and the Gantt Chart.
Week of 2/3
Aidan finalized a design of our machine. We then updated our materials budget and our proposal to reflect that. We also met with our TA to discuss our proposal, and made edits based on Humberto's comments. Lawrence started to learn how to code with Python.
Week of 2/10
Aidan began to design the housing of our machine and uploaded it to our wikipedia page. We updated our budget and finalized a demo idea. Lawrence researched our YouTube direct upload idea. He continued to learn to code with Python and initialized the Raspberry Pi. After we started up Raspberry Pi, we found out that there is a program called BlueJ Java. Since both of us know some java programming language, we are more confident in learning the BlueJ program than a new language Python. We researched that it is also possible to have buttons input as well as YouTube direct upload with this coding, so we decided to use this instead of Python. Lawrence updated our proposal and gantt chart to reflect this change.
Week of 2/17
Aidan ordered the materials for our project and they arrived in the mail (camera, camera extension cord, and touchscreen). We started to code using BlueJ Java to create the program. We mostly worked on the part that will accept deductions and time stamp them. We also did research into accepting user input using the raspberry pi. We met with our TA, Nathan, and he helped us check out buttons to use with the Raspberry Pi.
Week of 2/24
Lawrence looked into the display screen we bought for our Raspberry Pi. He found out that we had to reformat the SD card, copy the 3.5 inch screen image onto it, and install relevant drivers in order to make it work. But as he reformatted the SD card, he did not backup our program so we lost our progress on it. He got the screen to work at the end. Aidan designed the camera housing in solid works, and began designing the machine housing in solid works.
Week of 3/3
We connected the camera to the raspberry pi and tested it to make sure the video feature worked. We also wired a button and Lawrence adjusted our code to mark deductions when the button is pressed. We decided to use a single foot pedal instead of multiple buttons, so we redesigned our system to use only one input button (pedal). Aidan designed the user interface screens for inputting scoring information so Lawrence will be ready to code those screens. Lawrence is going to use Python again and try to use PyQt as a GUI to code our touch screen screens with.
Week of 3/10
Since it is Spring Break, we worked on the project separately and did not meet up with our TA. Lawrence looked into the GUI aspect of the program and started coding, while Aidan designed the layout and started printing the housing of the machine.
Week of 3/17
Lawrence has coded about half of the program on his laptop and is in the process of installing the GUI onto the raspberry pi so he can transfer the code. Aidan printed the machine housing and camera housing. He is in the process of making small changes and re-printing them. The foot pedal was ordered and should arrive next week. We also met with Nathan to update him on our progress.
Week of 3/24
Lawrence has finished coding the program (all the interface screens, camera recording, and button pressing) and is debugging it. Aidan has a working finished print for the camera housing and is reprinting the machine housing because the last print warped. The pedal arrived and we are working on connecting it to the Pi. It has 3 wires instead of 2 (like the buttons), so we need to figure out how to connect it. We met with Nathan who helped us with the wiring.
Week of 3/31
Lawrence adjusted the program to make the program work for the foot petal input, and Aidan taped the wires to the Raspberry Pi to make the foot petal work. Lawrence is looking into the executable python program to make the program work once double clicked, but not much progress on that. Aidan changed the housing design and printed different elements of it to try and fit the Raspberry pi with its components.
Week of 4/7
Lawrence added one more interface screen and adjusted the size and functionality of other screens. Lawrence is working on the YouTube upload functionality. He created a OAuth 2.0 client ID for the program and implemented it into the project with the json file. He successfully uploaded some .mp4 videos to YouTube, but is struggling with the video type .h264 that Raspberry Pi camera provides. Aidan is designing the poster for the demo.
Week of 4/14
Lawrence and Aidan changed the color scheme of the program into something more appealing. Lawrence implemented converting .h264 video files into .mp4 video files into the program. Lawrence and Aidan tested the program accuracy and found problems with the timing. Lawrence found out that the issue was that the conversion from .h264 video to .mp4 multiplies the length of the video by a factor of 6/5, causing the video to be longer than expected. By multiplying the scale into the foot petal input, he successfully made the timing to be accurate within a second. Aidan worked on the poster and finalized it.