The 4 image on top are the 4 inital ideas we have. From top left, clockwise.
First idea is controlling the pong paddle with a up and down motion of the head. There is a pressure sensor to control the speed of the paddle.
Second idea is controlling the pong paddle with a bending movement. If the knee is bent, then the paddle goes up, if not, down.
Third idea is controlling the paddle using a blowing motion and the sensor will pick up the minimal pressure. The speed of the paddle is controlled by a stepping motion.
Fourth idea is controlling the paddle with light sensor and stepping motion. Light sensor to sense a clapping motion. It is a idea that uses both arms and legs to control the direction and speed of the paddle.
The above is our refined idea for our pong paddle controller (First Idea). There will be 4 buttons acting as sensors to trigger the movements. We added the left and right buttons as we want the user to experience how a being a bobble head. Bobble heads has always been the the object that the subject observes, basically the ‘performance’. We were wondering if we could make the audience become the performer and feel what is it like to move and entertain other audience.
The top and bottom button is to determine the direction of the paddle. To move the paddle down, the user has to use his/her head to press the down button multiple times.
The left and right button is to reset the paddle to become still. If the user do not press the left and right button to reset, the paddle will start to vibrate more and more and in the end the paddle is not able to move accurately.
One of the problems we face is to program Max to set an anchor point around the paddle so that we can create a vibrating effect of the paddle when there is inactivity with the left and right button. The image above is the solution to our major problem. We were able to make a expression where by we can receive either a 1 or -1.
The (if $i1 !=0, then -1 else 1) allows us to receive the final value with a negative or positive value. This is important as we will be using the value 1 to trigger anything a vibration above the anchor point and the value -1 to trigger vibrations below the anchor point. When alternating them, we will be able to create a impression that the paddle is vibrating.
The rest of the coding and technical side will be just linking to Arduino to receive the values of switches from the frame.
Our build has a wooden frame as a base with 6 holes drilled. Two on the top and 2 on each side of the frame. The holes are to put the switches in, which will be connected to Arduino.
We added a layer of cloth over the switches and the wood to let me have a more refined look and finish. The cloth is also to prevent users from having splinters. We used a clamp to secure our Bobble Bong frame so that we are able to see the screen when we are playing against other opponents. We did quite alot of soldering before having able to piece this device together, mainly to solder the 6 switches to the Arduino.
Testing and playing
We did many runs of testing the frame and the strength of the structure to ensure that the frame will not break easily. We tried all kinds of ‘combos’ to ensure that all of the functions we intend were achievable. Finally, the outcome was very satisfy. A interactive device that is able to be mastered in just minutes. The control are rather straight forward. We would say that learning it is easy, but mastering it would take effort.
What could be improved?
One key area which we can improve is to add indications of directions for the paddle and the reset button. It could all be labelled at the sides of the frame. In that case, the interaction would be self explanatory. There could be a auto restart for every 5 rounds a player plays (if they were to play by themselves), this would allow the player to have more time playing and lesser time resetting the level.
Overall, the project is a success as we were able to make it easy to learn. We feel that this project is a good gauge of how fast or slow we can construct a project and the ability to make our purchases in time.