Develop an interactive experience using both the Arduino and p5.
The Balance Challenge is a game where the user uses a board which they must balance on to move their player on the screen from left to right in order to avoid square objects falling from the top of the screen. The user accumulates points based on how long they avoid hitting any of the square objects.
- Arduino Uno
- AdXC 335 Accelerometer
- 3/4″ Canadian birch wood
- 1′ Canadian birch wood
- 6″x6″ wood enclosure
- Gorilla Tape
- 5.75″x”5.75″ black acrylic (3mm thick)
- USB 2 Cable
- 4 2″ screws
- C++ (Arduino)
- CNC Routing Machine
- Drill Press
- Sanding sheets
- Power Drill
- Laser Printer
- Macbook Pro Laptop
We plotted out the timeline in which to reach certain milestones by in order to get the project finished in the given amount of time (14 days). We began the brainstorming process and developed many ideas. We then decided on the balance board game (we we eventually titled ‘The Balance Challenge‘) based on the time constraints we had.
We began with coding out the game in p5 first. Once we finished about 95% of the p5 coding, we moved onward to figure out the accelerometer sensor and building a “quick n’ dirty” balance board.
We determined that we only needed one output (direction) from the accelerometer (the y-axis), as the board only needed to tilt tilt in two, opposite but equal directions. We determined the raw values after connecting the prototype board and seeing what the min and max values we were seeing in the serial monitor. The cardboard was too flimsy, so we got wood to help provide us with more accurate figures. We then mapped the raw data from 0-2, with 1 being the ‘Middle’, 0 being ‘Left’ and 2 being ‘Right’.
Once we had the data properly being displayed in the Serial Monitor, we then connected both p5 and Arduino together using Serial Port. We kept running into processing issues, but we able to resolve that by delaying the data being received.
After everything technically worked, we began the process of building the actual balance board. We got the lumber from a wood outlet in the city and began cutting and drilling away. The board is made from just three pieces, help together with super strong wood glue and reinforced with screws.
We then tested it out with a few of our classmates to get their feedback on the sensitivity of the motion and made some adjustments to the responsiveness.
We then attached the enclosure to the top, taser etched the name on the acrylic and finished up the board.
Things We Would Have Done Differently
Some of the things we would have done differently. If we had a bit more time, we would have added pads to have more friction with the users shoes. We also would have varied the sensitivity based on the angle the board was tilted. For example, the player on the screen would only move in a direction directly proportional to the level of tilt the user was applying on the board. Another consideration was the the board seems to move slightly forwards and backwards because of the user. If there was a way to keep the board in one place, that would be ideal for the gameplay.
A BIG thank you to the amazing students and residents at NYU ITP that provided guidance and help throughout the course of the project in both the workshop and in the code. This project would not have happened without you.