For the past three weeks, the littleBits team has been busy running a global design challenge called the BitOlympics. Participants all over the world were asked to consider how they might remix an Olympic sport and then build a project that showcases their design. Five sports were chosen by a International Bits Committee comprised of Global Chapter Leaders: downhill skiing, soccer, track & field, table tennis, and rhythmic gymnastics. In addition, participants could choose to build a project for a “Choose Your Sport” category. The projects in each category will be evaluated by an amazing panel of judges, and prizes will be awarded this Wednesday afternoon.
— Fun Robotics (@FunRoboticsClub) July 26, 2015
I organized a BitOlympic event at Innovationopolis yesterday and we had a blast working on a table tennis project together.
After years of coveting my neighbor’s possessions, we finally bought a ping pong table a few years ago. And while I can often coerce my wife or son to play with me, there are times when no one is available to challenge.
I had a vision of creating a virtual table tennis opponent that I could use whenever everyone else it too busy to play with me. My first step was to sketch out what he might look like, and it turns out I had two different models in mind: A “server servo servant” that would provide a new ball whenever one was lost (or too far away to fetch whilst in the heat of battle), and another model that would not only serve the ball over the net, but also provide targets that I’d try to hit on my return. I named him Lloyd because, as far as I know, ping pong balls are made out of celluloid. Here’s that initial sketch:
On the day of the event, the Olympic Anthem was blaring on the speakers, littleBits were placed on the work tables, iPads displaying highlights of each category of sports were at stations around the room, “laurel” wreaths were on display (ok, they were made out of dogwood!), and custom Olympic-themed Rainbow Loom bracelets were available. Cardboard? Check. Tape? Check. LEGOs? Roger that. We were ready to roll.
The first challenge in building this project was to find a way to have Lloyd serve only one ball at a time from a full box. We found a paper towel roll and made a series of incisions in order to peel back the edge of the tube and increase the opening just enough so that the balls could more easily pass completely through the tube without getting stuck at the end. Given that we didn’t want all of the balls to be served at once, however, we had to design a mechanism to choose just one ball at a time. Using a DC motor, a LEGO post, and some found cardboard, we built a disc that had two diametrically-opposed openings just large enough for one ball to pass through. Mounted on the post and placed just below the tube, a single ball would fall through the hole while the others would remain behind.
Now that we had a way to serve up one ball at a time, we needed to find a way to tell Lloyd when to do it! For this, we tried a few different possibilities. The first was to use a series of wires to connect a single button bit, located on the side of the table opposite Lloyd, to the DC motor located in Lloyd’s shoulder. Whenever a player wanted Lloyd to serve the ball, they’d simply press the button – holding it long enough for one ball to emerge – and voila! You’re playing table tennis! The other possible solution was to use the IR bits to trigger the DC motor. This was a late-game idea, and we were not able to get it work in time.
Okay, so now that we have a serve that comes only when we ask, how do we play table tennis with a cardboard man? While I’d love to say that we were able to create a fully functioning robotic table tennis player, in reality, we adjust (aka “remixed”) the game to suit our needs. Rather than expecting Lloyd to engage in a volley with us, we cut openings in his mouth, heart, and paddle that were equipped with bend sensors connected to a number bit that counted up whenever a ball hit the target.
So a solo version of table tennis with Lloyd might look like this:
1. With paddle in hand, Player One presses the Serve Button
2. Lloyd releases a single ball that bounces over the net
3. Player One smashes the return into Lloyd’s paddle, hitting the bend sensor, and scoring one point, which is recorded on the number bit.
Wonderings and FollowUp
While we didn’t finish Lloyd in the time we had, the process left me thinking of how to improve and expand the design:
- Include audio feedback when a point is scored (maybe audience cheers, applause, 80s training sequence rock n roll, etc)
- Construct Lloyd in such a way that he’d be easy to set up and take down
- Have an adjustable serving arm for customizable serve height and trajectory.
I always look forward to these design challenges and can’t wait to get another one organized. If you love designing and building things, you should definitely check out your local littleBits Chapter. And if there isn’t one in your town, you should totally start it!