« October 2007 | Main | December 2007 »

November 29, 2007

Final Presentations

Final Presentations are scheduled for:

Tuesday December 11th
9:00 to 12:00 noon

From 9 - 10 am the 1601
Introduction to Time and Interactivity class will visit and offer feedback

Thursday December 13th
9:00 to 12:00 noon

Thursday December 6th
Karen will be available to consult with you about lighting

We are making arrangements to reserve the Installation and Performance space for set up beginning 9:00 am on Friday December 7th through 11 pm December 13th.

All installations will need to be removed by 11:00 pm on Thursday December 13th.

We will confirm these set up time dates on Tuesday December 4th and confirm the installation spaces on the room map.

My Studio Times

I will be in W123:

Today (Thursday the 29th) from 12:30 - until I leave (email me if you are planning on coming later so that I can plan to stay)

Dec 5 4:30 - onward (email me if you are planning on coming late!)
Dec 10 4:30 - onward (email me if you are planning on coming late!)

Final Project

Document your final project with images, text, sound and video.

Use media that is best suited to communicating each of the following:

What is the inspiration for your project,?

How did you begin to make your idea a tangible experience?

What was the most interesting aspect of your process? ... teh least interesting?

Document the technical how to's of your process and project so that others can benefit from your knowledge and creativity as well.

Discuss how your work relates to the work of two artists engaged with interactive art and tangible media.

November 19, 2007

Trademark G a.k.a. Mark Gunderson Presentation Links

Links and comments from my artist presentation are on the extended entry.

My list of links from the presentation on Trademark-G/Mark Gunderson and links relating to other types of sensor gloves:


Gunderson’s work informs my thinking as an example of a simple way to allow interaction with digital media by triggering samples with the hands, on the fly, allowing the participant to move freely and gesture. What attracted me to this work is the use digital audio mixing tools in a unique way to generate some kind of statement or to evoke feelings, associations, or memories while not necessarily being music.

Trademark G's larger body of work deals with copyright infringement and using found digital material in a new configuration. In the digital age, how much of new media work is truly original anyway?

November 15, 2007

Artist Presentation: Jin Yo Mok and Kim Tae Eun

I created a list of Korean new media artists, but then focus on Jin Yo Mok and Kim Tae Eun. Links are amply provided in the above link.

I considered uploading the various movies I had collected to Media Mill, but wasn't sure of the legal aspects of that. Come see me if you're interested. Otherwise, you can follow the links provided and find the videos that way (with a little extra searching).

Project: What I used to call BodyMemory


Inspiration and Concept

The inspiration for this idea came from the image of a grid, applied to the sense of touch. I envisioned a serious of rather autonomous devices, each node in the grid.

conceptual diagram

With this device, I wanted to explore our human "trail of heat" - the legacy of temperature left behind as we move about. This device makes visible said trail. In the concept, I envisioned sensing and capturing gestural movements.


Although in this case all the nodes are connected within the same system, they each can behave independent from one another. In this prototype, each node consists of a thermistor-LED pair (the type of LED used in this experiment consists of two internal LEDs, one red and one yellow each with their independent leads and one common ground lead to make three leads total). Using this type of construction, each node can sense and react somewhat independent of all the other nodes. I say 'somewhat' only because of their close proximity that they end up behaving similar to their neighbors.

In order to make programming the sketch easier, I created a library which I called GridNode, which I wrote in C++ and placed into the Arduino's environment (on the laptop) in such a way to be found by the sketch. The Arduino software environment has embedded into it a series of libraries, implemented in C++, which I imitated. That subject itself is worthy of separate blog entry.

closeup-top     closeup-side-1.JPG

Outstanding Issues

I found thermistors difficult to work with in at least two ways. In building this, each thermistor's sensitivity varied enough to make me think about a calibration cycle upon setup. Secondly, during operation, in order for this device to react to body heat, one would have to come close and touch, thereby not really able to capture a gestural movement but requiring a more intimate interaction of long duration.

This project, thus far, is in a prototype stage consisting of only six nodes. To exceed this number of nodes a couple of things need to occur, both having to do with multiplexing inputs and outputs to translate between the great number of nodes envisioned into the Arduino board's limited number of
input and output pins. Multiplexing or using serial/parallel shift registers is fairly straightforward for expanding the number of LEDs, however, expanding the number of analog inputs may prove to be more a challenging circuit to create. Also, if one were to employ pulse-width modulation (PWM) in the control of the LEDs, that also would require much more sophisticated circuitry, given the numbers of nodes desired.

Related Works, Similar Ideas and Projects

* building a LED array

* Jin-Yo Mok, SoniColumn and also here - Using the the metaphor of a music box, he creates light and music from gestural interaction.

* I just found this (19-Nov-07) on makezine's size and had to add it to this list - arduino powered led sculpture is "exactly similar" to the idea I envisioned (not in the orwellian sense, of course)

Source download, a compressed tar file, includes Arduino sketch and GridNode library.


November 14, 2007

Seeking Advice

This category is a space for requesting advice that you need while making the suggestions available to other who may benefit from your questions.

November 8, 2007

Andy's Tug of War Project

My project hopes to create a responsive "tug of war" between a human user and a force of artificial intelligence. So far, I've achieved this through Pico Blocks by using resistance sensors through alluminum foil and conductive thread. When the connection is broken, the thread is wound off the beam, and vice-versa when it isn't. The prototype pulls back and forth with itself at this point, demonstrating the triggers involved and relative slack between each end of the tug of war. User interaction in this prototype consists of keeping the two foil components aligned, more of a maintenance task than the interaction I'm trying to achieve.

Ultimately, I'd like to translate this to a less limiting medium and maybe encase this in a shell, to create a greater psychological effect. For example, I could encase this inside of a giant head where the user pulls on a tongue until it tries to pull back against them.

The options are virtually limitless! But, I need to learn a lot of information about different microcontrollers in order to make this translation... As always, help/advice would be greatly appreciated.


Picture 1.png

Download file

November 7, 2007

Wade is right!

...Miller Puckette--the inventor of Max/MSP--has written a similar environment to Max/MSP called Pure Data which is available through open source. I've tried on several occasions to use PD in lieu of dropping the cash on Max/MSP, but have always come running back to the commercial product. The reason for this is simple: Documentation. Both environments have documentation, but the Max docs are much better and more complete. Furthermore, if you run into a really big problem with Max you can call the company directly and sort it out. This isn't so much an option with PD unless you happen to be on a first name basis with M. Puckette (chances are that you aren't since I hear he's very reclusive). Lastly, PD is audio only and doesn't deal with video (sad face). So if you're tempted to go the free route with PD, consider yourself warned.

Touch Project Documentation

Blake's documentation for his touch prototype.

Title: TouchMe HoldMe
Through this project I was hoping to explore the bonds people make with inanimate objects. This pillow, with its furry exterior and plush feel, is a very inviting object. When sitting in my apartment, I'd often find myself absentmindedly stroking or holding this specific pillow, thus using it in a way that is entirely contrary to its purpose. By embedding sensors and motors, I was able to get this distinctly animal-esque pillow to respond to my interaction with it, altering my experience. The goal was to change nature of this pillow from a completely passive, one way experience, to a bi-directional sensory connection, where the user would make a connection with the piece and the piece would respond tactilely. My hope was that people would feel as if the piece is making a connection with them, in essence expressing its own emotions towards the user.


Outer appearance:
Electronic schematic:
Close Ups of Electronics:

The tree on the right was an attempt at random activation. I was trying to tell the Pico to generate a random number, and if that random number fell within a specific range, to activate the motors. Unfortunately, the Pico language is rather limited, and I could not find an effective method for making this happen. If I rebuild the project later, I think I'll use the arduino platform, as it is able to do such things.
Download file

November 6, 2007

Open source Max/MSP alternatives

PD is available from puredata.info - it looks like it is designed and written by the same person who originally designed Max. This looks to be the closest thing to Max, but I have no idea (yet) how much Jitter-like functionality might be there.

Another free package with an audio focus is Supercollider, available at supercollider.sourceforge.net

And of course Ben mentioned Processing, which is found at www.processing.org

Ephemeral Graffiti


Inspiration - Sketches - Process - Problems - Resolutions - Notes

Untitled Document


Inspiration - Sketches - Process - Problems - Resolutions - Notes


Graffitti Research Labs




To start this piece I looked at ways of activating the various nodes: Light Sensors, Distance Sensors, and Capacitance.

In the end I felt that capacitance sensing was the best route and pulled out my VISA and went to town--- ordering the qt113h from Digikey

digikeyI chose to use this part from seeing its use in this instructable

After getting the parts in the mail--- I realized they were surface mount! ARG - that meant I needed to learn some new skills--- More specifically how to create custom PCBS (something I had planned to learn this semester)-

In my research to create custom printed circuit boards- I used the following resources: http://max8888.orcon.net.nz/pcbs.htm make magazine info (need to be a subscriber)

To design the boards I used Illustrator, Printed the File on SemiGloss paper, Ironed it onto copperclad PCB board, dipped it into the printmaking acid bath (for about 45min to 1.5 hour) --- then sanded it down to reveal a (if everything works -- see problems) custom PCB board---

I then took the boards I made and very carefully soldered on the wee little qt113h!


After creating this I was able to prototype and have success setting up a capacitance circuit to turn on and off LEDS--- I redesigned the circuit creating a PCB that contained all of the electronic components-




Problem-The acid ate through the copper making the PCB useless

Solution- Go to an auto repair shop- buy window defroster repair kit ($10) and use it to repair PCP

Problem - The ink didn't transfer onto copperclad board

Solution- Turn up heat on iron


None at this time


Solenoid Heart Rhythm Bear

Pictures and Code Examples on Extended Entry

Here are the guts from the prototype of the rhythm bear. The noises emanating from the bear come from the internal stops of two rotational solenoids. The solenoids are fired in a repeated lopsided pattern meant to simulate a mechanical heartbeat. The periodicity of this beat increases when the bear's abdomen is depressed, thus simulating the racing of the heart brought about by physical contact. In order to accommodate the solenoids from the low-voltage arduino board I had to build a driver board to step up the 5 volt/30mA digital pin output of the arduino board to 9 volt/300mA. This board uses TIP102 transistors to step up the current and 1N4004 diodes for isolation of the inductive spike produced when the solenoid is turned off. (Without this, amplified current could feedback into the arduino and burn it up). The driver board accommodates up to four solenoids at a time, but here only two are used. The whole package is meant to fit inside the abdominal cavity of a stuffed animal so the solenoids, driver-board and arduino are all mounted to a slim wooden substrate.
Development of the control software was initially done in Max/MSP using a Pure Data <-> Arduino protocol. I have since implemented the same functionality with arduino code. Video forthcoming.

Solenoid Driver Circuit: http://www.arduino.cc/playground/uploads/Learning/solenoid_driver.pdf
Solenoid Tutorial: http://www.arduino.cc/playground/Learning/SolenoidTutorial

/* Solenoid driven heart rhythm bear~~~~~~
* For use with the Arduino board connected to a 4x solenoid driver board
* Fires two solenoids in sequence with variable inter-onset time determined
* by the state of a simple switch.

int outPin1 = 13; // Solenoid #1 output pin
int outPin2 = 12; // Solenoid #2 output pin
int inPin1 = 8; // Switch input pin
int inVal = 0; // Variable for holding input pin STATE
double pause = 200; // Initial reference delay between firings

void setup()
pinMode(outPin1, OUTPUT); // sets digital pin 13 as output
pinMode(outPin2, OUTPUT); // sets digital pin 12 as output
pinMode(inPin1, INPUT); // sets digital pin 8 as input

void loop() // loop forever
inVal = digitalRead(inPin1); // get the state of the simple switch
if(inVal == LOW){ // if LOW (< 3 Volts)
pause = pause*.66; // set the reference delay to 2/3 its previous value
if(pause < 200){ // now if reference delay is below 200 ms
pause = 200; // set to 200 ms

if(inVal == HIGH){ // if HIGH (> 3 Volts)
pause = pause * 1.25; // set reference delay to 125% its previous value
if(pause > 833){ // now if reference delay is above 833 ms
pause = 833; // set to 833 ms

digitalWrite(outPin1, HIGH); // turn on solenoid one "click"
delay(20); // wait a tick
digitalWrite(outPin1, LOW); // turn off solenoid one
delay(pause); // wait reference delay
digitalWrite(outPin2, HIGH); // turn on solenoid two "click"
delay(20); // wait a snap
digitalWrite(outPin2, LOW); // turn off solenoid two
delay(pause * 1.5); // wait 2:3 ratio to reference delay
}//end of loop

November 4, 2007

Resistor Plate Beatbox Prototype

Pictures, Video, and Code Examples on Extended Entry



pico_screenshot copy.jpg

Download PICO file

Flash + microcontroller

The MAKE controller is designed to be an "all-in-one" microcontroller.

One of the functions in development is communication with Flash.

Look here to find a guide to setting up this communication with Flash via sensors and the Arduino.

November 1, 2007

Bluetooth helps find Facebook friends

Interesting article that is related to the work that Mai Gao showed today:


The Untitled Glove

For this project I wanted to experiment with sound and ones ability to manipulate sound through the touch of their fingers.


The way in which this piece works is though the aluminum tabs on the finger tips of the glove. When the user completes that circuit by touching one of their fingers to their thumb, a sound will generate. A certain musical note corresponds to each figure. (see diagram for specific note to finger relationship)
This piece is in it prototypical stage, but the opportunities to expand the ideas are endless.



Picture 2.png

Download file





more to come later

Thinking about it.

touchCode_tank.png  tank_boardDetail2.jpg

1. Wire the Arduino board similar to the photograph above.
2. Create the program (shown above) in Arduino (Download program)
3. Be sure that you are using Tools > Serial port > /dev/cu.usbserial-A4001o23
4. Upload program to Arduino board
5. Run serial server (Download ss6.jar)
6. Publish the Flash file (Download Flash file)
7. Interact with the published .swf

Video of line drawing interaction:

Video of original tutorial interaction:

tank_idea1.jpgIn my project, I would like to examine our process of touch as it relates to the computer mouse; I can imagine this in a couple different forms. At first, I imagined using the underside of the mouse (where the laser beam or other sensor device is housed) to sense movement. By lining up a sequence of mouses suspended from the ceiling, I could form or infer a sort of runway for the audience to engage with. As people walk down the runway, the reprogrammed sensors in the mouse would communicate with a screen at the end of the runway to create a drawing or other visual response to the movement. By removing any physical connection to the mouse, our normal understanding of this device and how it produces intangible forms is inverted, returning the power to less tangible senses and form (i.e., movement, light, etc).

tank_idea2.jpgWhile reading Lupton's article (Skin: New Design Organics), I formed a new idea based on the quote from Mark C. Taylor's book, Hiding: "At the point where I make contact with the world, I am always already dead." For me, this spoke critically about the creative process; in a sense, once an object has been created or an idea actualized, the concept itself is dead. Shortly following, Lupton refers to the skin as "a screen on which we can watch the body's amazing ability to heal itself while also witnessing its inevitable collapse (31)" which draws another similarity of the fuzzy realm between concept and prototype -- the death of one form and the life of another. After mentally processing these ideas, I envisioned a different setup for my project. This time the audience would be invited to interact and engage with just one mouse, perhaps in a normal computer setting (i.e. monitor, keyboard, mouse). At any point while one's hand is hovering above the mouse, an unexpected, conceptual result would be relayed on the screen. However, once the hand makes contact with the mouse, the ideas are gone, or lines are straightened, etc. Perhaps this more drastically takes the power away from the mouse, enforcing that the most energy is inherent in the creator and that that is where the best ideas are formed.

Jessica's Cocoon Prototype


Download file

This prototype is to get towards the following aim: to suspended cocoon-like forms from the ceiling to create a sculpture installation. Viewers will be invited to walk between the cocoons and pet their exteriors. Petting will cause the forms to purr and light will illuminate the interior of the individual form to reveal something unseen otherwise. (I have not yet decided what that will be.)

At this stage, the cocoon exists as a copper mesh interior and a soft pink fur exterior. The mesh interior works as a capacitance sensor that can read someones presences when he/she is within an inch of the cocoon. When the sensor detects presence, it activates the sound module which emits the sound of a cat purring. The sensor is very reliable, and the overall project was fun to create! Below you will find a list of what you need to make your own.

cocoon installation.jpg

What you'll need:

Sewing Machine
8 Jumpers
1 Resistor
1 2N 2222A Transistor
9V Battery
9V 20-Second Recording Module (purchase at RadioShack Part number: 276-1323)
Conductive Material (I used copper mesh)
Faux Fur
Plastic Casing (if desired---I used this to encase the Sound Module and 9V battery)

The overall look of all the "nuts & bolts":

Step 1: Sew a cacoon-like form from an inviting touchable material like faux fur. A simple pattern is a half oval shape. Then recreate the pattern in copper mesh and sew this form separate (so you can safely solder a jumper to the mesh).

Step 2: Solder a long jumper to the copper mesh. This photo shows the connection to the sculptural object:

Step 3: With the 9V 20-Second Recording Module straight from the package, record short interval of a cat purring. I recommend removing the silicon button after you have recorded the sound so it does not get bumped while working with the electronics.

Close-up of the Recording Module:

Step 4: Wire the project as seen below.

Close up of the Breadboard & Arduino set-up:

Step 5: Write the code. (A link is attached below)

int i;
int pur=7;
int val;
unsigned int x, y;
float accum, fout, fval = .07; // these are variables for a simple low-pass (smoothing) filter - fval of 1 = no filter - .001 = max filter

void setup() {

DDRB=B101; // DDR is the pin direction register - governs inputs and outputs- 1's are outputs
// Arduino pin 8 output, pin 9 input, pin 10 output for "guard pin"
// preceding line is equivalent to three lines below
// pinMode(8, OUTPUT); // output pin
// pinMode(9, INPUT); // input pin
// pinMode(10, OUTPUT); // guard pin
digitalWrite(10, LOW); //could also be HIGH - don't use this pin for changing output though
pinMode (pur, OUTPUT);

void loop() {
y = 0; // clear out variables
x = 0;

for (i=0; i < 4 ; i++ ){ // do it four times to build up an average - not really neccessary but takes out some jitter

// LOW-to-HIGH transition
PORTB = PORTB | 1; // Same as line below - shows programmer chops but doesn't really buy any more speed
// digitalWrite(8, HIGH);
// output pin is PortB0 (Arduino 8), sensor pin is PortB1 (Arduinio 9)

while ((PINB & B10) != B10 ) { // while the sense pin is not high
// while (digitalRead(9) != 1) // same as above port manipulation above - only 20 times slower!

// HIGH-to-LOW transition
PORTB = PORTB & 0xFE; // Same as line below - these shows programmer chops but doesn't really buy any more speed
//digitalWrite(8, LOW);
while((PINB & B10) != 0 ){ // while pin is not low -- same as below only 20 times faster
// while(digitalRead(9) != 0 ) // same as above port manipulation - only 20 times slower!


fout = (fval * (float)x) + ((1-fval) * accum); // Easy smoothing filter "fval" determines amount of new data in fout
accum = fout;
val = (long)x;
Serial.print((long)x, DEC); // raw data - Low to High
Serial.print( " ");
Serial.print((long)y, DEC); // raw data - High to Low
Serial.print( " ");
Serial.println( (long)fout, DEC); // Smoothed Low to High

if (val<3300){digitalWrite(pur,LOW);}
else {digitalWrite(pur,HIGH);}


Code link: Download file

Bill Fontana Links

Bill Fontana's homepage, where we watched videos of all his major works

More documentation of the Harmonic Bridge music sculpture

An interesting site comparing Fontana's work to that of John Cage

Don Ritter

Don Ritter's Installations and Documentation
Intersection: A piece by Don Ritter
I find Don Ritter's work interesting and informative because of the way in which he creates interactive pieces by using both sound and visuals. The experience in which his piece provide are unique and intriguing. Although Ritter was not my first chose for this presentation, I'm glad did present his work, because it reflect what i would like to attempt in the future. I think that I would like to possibly use both sound and visual in relation to an interactive piece in my future projects.

Camille Utterback resources