The mechanical system design resulted in the use of a steel frame with thin, clear plastic sheeting for the game's structure. This is light, strong, dramatically less expensive, and the clear plastic allows for a compelling, exciting game interaction. A wooden base plate provides a place to mount components. Actuators are hidden from view in the base of the device. Power transmission occurs with timing belts up to the point of actuation. Actuation includes "flippers" which hit the ball, "windmills" which have rotating blades that hit the ball. These "windmills" are made from computer cooling fans mounted upside down. The ball is collected at the end of game play with a funnel device and released to the user at the beginning with a sliding door. Wheels at the back of the system allow the system to be easily moved by one person. Access doors in the side and top of the device allow for easy collection of revenue and access to internal components for simple repairs and maintenance. All side panels are removable for more complicated repairs and assembly.
The electrical system design resulted in the use of H-bridges and or transistors to provide the power and control requirements for actuation. This minimalistic circuitry provided less functionality than a traditional "motor driver board" but significantly reduced complexity and allowed us to easily power and control all our many actuators without using a significant amount of the limited GPIO available.
system design used external interrupts to start and end the game timer when the ball passed through a break beam sensor. Software scored the game based on the time since start and introduces an unpredictable delay in actuation response which increases as game play extends. This increases the challenge of the game as the player gains skill.
The system and game play design involved integrating the electrical, mechanical, and software systems as well as developing a compelling game interaction for the user. Game design focused on allowing the user to control how they hit the ball with the provided actuation methods. We wanted the actuators to be fun and interesting to interface with. Therefore, we made them "magical." To interact with an actuator, the user waves a finger or hand through the corresponding light. Additional work went into making the game easier to play and reducing the possibility that the ball would fall too fast for the user to ever hit it.
Integration faced its largest issue with the limited amount of GPIO available with the PIC24. Ultimately, we solved this challenge by using two PIC24 boards and an Arduino Mini. The PIC24 boards controlled the actuators and responded to sensor input describing the user's desired changes to the system. The Arduino Mini received a signal form one of the PIC24 boards as the ball entered the game and exited the game. In between these signals, it incremented the score it displayed on a seven segment display. Additionally, we used an Arduino Uno for prototyping and debugging the mechanical system because it was easy to quickly deploy simple test code that would move actuators as we made them function as desired.
Creating Brad's Big Adventure was possible with the generous help and support of: