The idea of this project was to create an augmented reality airhockey experience. It was created with Arduino and Processing. The project was never completed, but we did complete the basic airhockey parts.
The table is a small homemade airhockey table made out of wood. It has a projector pointed at it to produce the visuals. An Arduino is used to register goals and can also be used to register where the puck bounces. This data is then sent to Processing where the appropriate visuals are generated and the score is kept.
All the visuals were created using a field made up of 500 particles, that reconfigure to match images as closely as possible, while equally distributing the particles across the different parts it could identify. This made it very easy to add different fields and visuals like the text.
The goal detection system was made using just simple IR LEDs across from each other. One row of LEDs is constantly on and the other side is hooked up in reverse. This creates a small current that can be measured by the analog inputs on the Arduino. Whenever this current drops something is blocking the light, which should mean a goal has been scored. This improvised system turned out to be accurate enough to be able to determine the speed of the puck.
Bounce registration was never implemented into the final product, but it did function. The way this worked was that there were 4 small microphones in the corners of the table. These microphones were embedded in the wood so they would only register sounds generated from contact with the wood. Whenever the puck bounced off the side this would generate enough of a sound through the wood that all 4 microphones would trigger. The Arduino would register the exact peak of the sound in milliseconds, this was then used to triangulate the position of the impact.
There were more ideas for tracking the puck itself and then adding virtual elements, but the project was scrapped before we could ever try to make anything like that work.