paper computing tutorial |
![]() |
||
We've developed
a construction kit that lets people create interactive paintings. The kit
consists of conductive paint, a small magnetic "tearDrop" computer, a magnetic
speaker, several lights (light emitting diodes or "LEDs"), and a few other
things. Here's what it looks like:![]() We'll use glue and conductive paint to create circuits with lights that will be controlled by the tearDrop computer. We'll use pencils and conductive paint to build sensors and switches that will make our paintings interactive. To attach our tearDrop to our electric paintings, we'll rely on the fact that it is magnetic. We'll put our painting on a magnetic surface like a refridgerator, a piece of steel, or a sheet of magnetic paper and then the tearDrop computer will stick to it, completing electrical connections between the painted circuitry and the computer. Here's a movie of a design I made (hit the spacebar to play): Before you get started with the project, you should know some basic stuff about the materials we're working with. About conductive paint
We're going to be using Light Emitting Diodes or LEDs in our painting. LEDs are highly efficient lights that come in an assortment of colors, shapes and sizes. If you are new to LEDs, you should read the first section of the page at: Electronics Club - Light Emitting Diodes (LEDs) before proceeding. Unlike some lights, LEDs have two different ends, a positive (+) end, called the "anode", and a negative (-) end called the "cathode". The negative end of the LEDs in the kits are marked with lines on their bottom. Here is a photo of some kit LEDs where you can see the negative stripe clearly: To get an LED to turn on you need to attach its positive end to the positive end of a battery or other powersource (like our tearDrop computer) and its negative end to the negative end of the battery or other power source. In the case of the tearDrop there are two negative attachment points, the tabs labeled "-" on the tearDrop teamplate, and five positive attachment points, the tabs labeled "+", "fade1", "fade2", "on 3" and "on all". A note about LEDs and resistors: generally, you have to be careful not to attach an LED directly to a power supply. Attaching an LED directly to a power supply can cause the LED to burn up as too much electrical current flows through it. Normally, you have to attach an LED to a power supply through an electrical component called a resistor. However, for this project we don't need resistors because the conductive paint we're using has some natural resistance. For more information on resistors and LEDs see Electronics Club - Light Emitting Diodes (LEDs).
The tearDrop computer is an Arduino and can be reprogrammed using the Arduino software, which you can download for free here. There are instructions for installing and configuring the software here. In following these instructions mentally replace every instance of LilyPad with tearDrop. (Note: in step 6, "Select the right board", you should select "LilyPad Arduino w/ ATmega168"). Before you start trying to program the board, read through this guide that will give you an introduction to Arduino program structure. Start your experimenting by going through this basic tutorial which blinks the LED on the tearDrop board. Now for some more specific tearDrop information and examples. The tearDrop has only 8 input and output pins, in contrast to the traditional Arduino, the Arduino Duemilanove, which has 20. The Arduino labels for the tearDrop pins are printed on the tearDrop board. They are: 1 (tx), 0 (rx), a3, a2, a0, a5, 11, and 10. We'll need to use these labels, and not the labels on the template, when we write Arduino code. Here is a simple program that reads sensor data from pin a3 and then sends that data back to the computer as a number from 0 to 1023. To try this example, copy the text from the readData.txt file, paste it into an Arduino window and download the code to the tearDrop using the technique from the first example. Attach a sensor to pin a3 and then click on the right most icon at the top of your Arduino window. (The icon looks a bit like a camera and text saying "Serial Moniter" will appear when you hover over it.) This wil open the "serial moniter", a window where you can see sensor data that is sent from the tearDrop to the computer. For more information, read this tutorial about a similar example. Here is the program that corresponds to the tearDrop template and the rest of the text on this page. It maps input from a3 (sensor1 on the template) to output on pin 11 (fade1 on the template), etc. To try this example, copy the text from the tearDropExample.txt file, paste it into an Arduino window and download the code to the tearDrop. For more information about Arduino, see the Arduino language reference and Limor Fried's excellent tutorials. Note: when you are sending data back and forth from the tearDrop to the computer, pins 0 and 1 ("on3" and "on all" on the template) won't work because they are attached to the communication lines. If you have any problems or questions, feel free to email me (leah at media) or stop by my office hours, Mondays from 10-12.
The kit includes a template with labels for each of the inputs and outputs. The top of the template corresponds to the top of the tearDrop (the side with all of the electronics). Sensor inputs are labeled with inward pointing arrows and LED and sound outputs are labeled with outward pointing arrows. The template lets you see the mapping of the tearDrop's behavior and also provides a physical template for the tearDrop that will help you with your painting. Here's a close-up of the tearDrop and its template:
You may want to plan out your complete design before you get started, or you may want to start by experimenting. Whichever path you choose, once you're ready to start painting, the first thing you want to do is decide where on your sheet of paper you're going to put the tearDrop. Once you've decided, place the tearDrop template on the paper and use a pen or pencil to draw out and label its footprint.
Then, with a pen or pencil, draw out a path for one LED. One side of your LED must lead back to one of the negative pads on the tearDrop (one of the pads marked with a minus sign "-") and the other side of your LED should lead back to either the positive pad on the teardrop (the one marked with a plus sign "+") or one of the "fade" or "on" outputs. I'm drawing a path for an LED between + and - on the tearDrop. This is a nice way to start your design because an LED between + and - will always be on. Since the LED will always be on, you'll get a feel for the materials without having to worry about making a sensor or a switch, which are necessary to trigger the "fade" and "on" outputs on the tearDrop.
Then paint over the legs of the LED with your conductive paint like so: ![]() ![]() Once you've painted the circuit YOU HAVE TO WAIT FOR THE PAINT TO DRY BEFORE THE LED WILL COME ON. So, now you have to wait for the paint to dry. You can work on other design elements like switches and sensors while you wait. After 15-30 minutes the paint should be dry and you can test out your LED circuit. Note: speakers can be attached in basically the same way as LEDs only you don't have to worry about negative and positive sides of speakers. You simply attach one side of the speaker to a "-" tab and the other to the "sound 1" output tab.
![]() ![]()
To build a sensor we want to vary the value of the resistor somehow. A good way to vary the value is to shorten or lengthen our graphite resistor. A longer line has more resistance and a shorter one has less resistance. Here's a sketch of a sample sensor where we are shortening and lenghtening a graphite resistor by moving a sensor input tab across its surface. Note how one end of the resistor is attached to ground and the moving input tab is attached to a sensor input, in this case "sensor 2". ![]() Here's an example of an actual paper sensor. In this image, when we move the blue tab (whose underside is painted with conductive paint), we change the leghth of graphite between the blue tab, the input tad, and the left side of the graphite sphere, which is attached to ground. ![]() This creates a sensor that can detect rotation.
people Leah Buechley Tshen Chew Hannah Perner-Wilson Emily Lovell Jie Qi inspirations/references Graffiti Research Labs PopUp Workshop Drawdio Pulp Computing return to projects high-low tech |
|||