Adam Somlai-Fischer, creator of the soon-to-be-ubiquitous Prezi presentation software, recent Osher fellow, and all around great guy, showed us how to simply and quickly hack a cheap USB keyboard to extract the inner pressure-sensitive “film” and turn it into a low-fi touchscreen by taping it to the computer screen. He showed us some simple programs that use the hack written in Processing, but they turned out to be too dense for my programming-impaired brain to satisfactorily modify.
However, having been playing with Scratch lately, I immediately thought it would make a great interface for it, and that it would be super simple to program for it too. A couple of hours later I had put together a simple but satisfying little game I call Going Bananas!
If you want to play with it with the keyboard, just press keys a, s, d, f, g, h, j, k, and l to launch bananas towards the monkey. Don’t let the monkey get too hungry, or it will die! Or course, it’s much more fun when you can poke at the bananas directly on the screen, so find an old (but not too old!) keyboard, break it open, tape it to the screen, and play it as it was meant to be played!
Recently, we have been wanting to become more familiar with an interesting technology from MIT called Scratch: it’s a new programming language that makes it easy to create interactive stories, animations, games, music, and art. Designed to help young people learn how to program, the interface is easy to access and allows for almost immediate “tinkering”: you build a program by dragging color-coded blocks onto a workspace, and snapping them together.
So, in typical Learning Studio style, we hauled a wide variety of materials (switches, motors, art supplies, found objects, etc.) onto a central table, and started playing around.
What caught my (Luigi) attention immediately was an old rotary telephone dial. It had a wonderful tactile feedback to its action, and a hint of nostalgia that appealed to me. So I set out to figure out how this entirely mechanical analog device actually manages to count!
This was possible thanks to a Scratch sensor board: this is an input device with a button, a light sensor, a sound sensor, a resistance slider, and four resistance input jacks. Scratch can monitor and detect changes in the sensors, so using the resistance sensors I set out to figure it out. I found that there are two sets of wires that come out of the rotary dial. One set is connected to a switch that is normally closed at rest (call it A), and the other to a switch that is normally open (call that one B). What happens is that as you start spinning the dial, switch B closes, and stays closed until the dial returns to resting position. Meanwhile, switch A stays closed while the dial is moving counterclockwise (toward the stop), and the moment you let go and it starts to spin back toward resting, switch B opens and closes once for each “click” of the dial.
So I wrote a simple program to count the number of clicks for each number dialed.
Next, I decided that the dial would be used as an input device to enter people’s date of birth, and so a simple fortune telling device started to take shape. I called it “Telephortunes”. It’s become much more complicated (and cool) than that since then, so stay tuned for the evolution of this project…