View on GitHub

ECE 4760 Glove Controlled Tilt Maze

Emmi Wyttenbach (ezw2), Ryan Chan (rc627), Cameron Camacho (cgc98)

Home High Level Design Program/Hardware Design Results Conclusion Appendix (Code, Files, etc.)

Appendix A: Website and Video Approval

The group approves this report for inclusion on the course website.

The group approves the video for inclusion on the course youtube channel.

Appendix B: Commented Code

Source Files
Header Files

The code can also be found on this GitHub Repository

Appendix C: CAD Files

3D Printing Files
Laser Cutting Files

Appendix D: Project Schematic

Project schematic

Appendix E: Parts List

Part Price
PIC32 Big Board $10.00
PIC32MX471534871576485 $5.00
MPU-6050 Accelerometer $6.00
TFT screen $10.00
SG90 Micro Servos (7) 7 * $5.95 = $41.65
IR LEDs and Phototransistors $5.00
Breadboard $6.00
Plastic for 3D Printing $5.00
Gardening Glove $2.00
Wood $10.00
Glue $2.00
Miscellaneous (wires, resistors, braces, demux) $5.00
Total $107.65

Appendix E: Work Distribution

Emmi: I first worked on the CAD assembly for the maze. Then I added logic to select the correct trapdoor servo using the demux, and wrote the code to support port expander interrupts and debouncing FSMs for the restart button and finger sensors. In addition, I modified the tft_drawBitmap function to create the start screen display, and implemented the game flow logic to incorporate random seed generation for a randomized destination location. Regarding assembly, I added the ball detection functionality by drilling holes in the bottom platform, gluing the IR LEDs and IR sensors below it, and elevating the platform with two blocks of wood.

Cameron: I participated in peer programming with the rest of the team to get the servos to function with the PWM and respond to changes in the MPU-6050 as well as getting the different registers to operate with the port expander. I also helped cut out the wooden structure for the maze and servos to be mounted on. Additionally, I went on errand runs to retrieve parts such as the metal braces and glue for the assembly.

Ryan: I also participated in peer-programming with the rest of the team and was there to help with most of the programming on the board. I was especially involved in getting the MPU-6050 accelerometer code up and running so that we could get accurate data out of it. Additionally, I helped with building and testing the IR circuits for ball detection and discovered an interrupt bug with the demux that took us a while to pinpoint. Regarding the assembly, I 3D printed and laser cut the CAD parts Emmi designed for the physical assembly. I also helped attach the trapdoor servo system to the maze.

We all worked together to test the IR sensors and finger sensors, and figure out how to use the demux for the servos. We also all contributed to assembling the physical maze and filtering the accelerometer reading to control the maze more smoothly.

References