« Final Project Documentation | Main | »

Tom Hagler's MIDI Sculpture

Title = "MIDI Sculpture F"

For this interactive touch-sensing project I aimed to create a piece that would allegorize a juxtaposition of humanity with nature. I choose to use audio as my main output and variable resistance sensors for input.

Video, Pics, Mp3's, and Code are on the Extended Entry...

I thought of the Plasti-Dipped flex sensors as pistils in a flower and designed an object that the participant would reach into, thereby activating a MIDI controlled audio sampler. I placed corresponding LEDs just below each pistil to allow for an immediate visual affirmation that a participant’s interaction was successful. The fur lining the top of the vessel is intended to entice a participant into touching the work.








The process of preparing the flex sensors was relatively simple. I soldered some pin connectors and wire leads on to the flex strip's rather delicate connection points. I then dipped these flex sensors in black Plasti-Dip 2-5 times. As more plastic coats are applied the sensor becomes stiffer and less responsive, but also more durable. I found that 2-3 dip coats were optimal for this particular application. 25% of the sensors prepared in this manner failed completely. Either the sensors became too hot during the soldering process or the Plasti-Dip’s acetone may have dissolved some of the strip, causing a short circuit.

The code and circuitry are based on Tom Igoe’s Arduino MIDI output found here:

http://itp.nyu.edu/physcomp/Labs/MIDIOutput

Materials Used:

Arduino Microcontroller
Experimentor Solderless Breadboard
Flexible Bend Sensors
LEDs
MIDI Plug
MIDI Cable
Roland SP-808 Sampler
styrofoam
plastic vessel
Plasti-Dip
Cat-5 wiring
10K ohm, 220 ohm resistors
pin connectors
.wav files
glue
synthetic fur
modified gallery pedestal

My Arduino Code:

int potPin0 = 0;
int potPin1 = 1;
int potPin2 = 2;
int potPin3 = 3;
int potPin4 = 4;
int potPin5 = 5;

int ledPin7 = 7;
int ledPin6 = 6;
int ledPin5 = 5;
int ledPin4 = 4;
int ledPin3 = 3;
int ledPin2 = 2;

int val0 = 0;
int val1 = 0;
int val2 = 0;
int val3 = 0;
int val4 = 0;
int val5 = 0;

char note = 0;

void setup() {
pinMode(ledPin7, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin2, OUTPUT);
Serial.begin(31250);
}

void loop() {
val0 = analogRead(potPin0);
val1 = analogRead(potPin1);
val2 = analogRead(potPin2);
val3 = analogRead(potPin3);
val4 = analogRead(potPin4);
val5 = analogRead(potPin5);

if (val0 > 2) {
digitalWrite(ledPin7, HIGH);
noteOn(0x91, 48, 0x127); //Note on channel 1 (0x90), some note value pad 1 (note), high velocity (0x127):
delay(100);
}
else{
digitalWrite(ledPin7, LOW);
}
if (val1 < 80) {
digitalWrite(ledPin6, HIGH);
noteOn(0x91, 49, 0x127); //Note on channel 1 (0x90), some note value pad 2 (note), high velocity (0x127):
delay(100);
}
else{
digitalWrite(ledPin6, LOW);
}
if (val2 < 80) {
digitalWrite(ledPin5, HIGH);
noteOn(0x91, 50, 0x127); //Note on channel 1 (0x90), some note value pad 3 (note), high velocity (0x127):
delay(100);
}
else{
digitalWrite(ledPin5, LOW);
}
if (val3 < 80) {
digitalWrite(ledPin4, HIGH);
noteOn(0x91, 51, 0x127); //Note on channel 1 (0x90), some note value pad 4 (note), high velocity (0x127):
delay(100);
}
else{
digitalWrite(ledPin4, LOW);
}
if (val4 < 80) {
digitalWrite(ledPin3, HIGH);
noteOn(0x91, 52, 0x127); //Note on channel 1 (0x90), some note value pad 5 (note), high velocity (0x127):
delay(100);
}
else{
digitalWrite(ledPin3, LOW);
}
if (val5 < 85) {
digitalWrite(ledPin2, HIGH);
noteOn(0x91, 53, 0x127); //Note on channel 1 (0x90), some note value pad 6 (note), high velocity (0x127):
delay(100);
}
else{
digitalWrite(ledPin2, LOW);
}

}

void noteOn(char cmd, char data1, char data2) {
Serial.print(cmd, BYTE);
Serial.print(data1, BYTE);
Serial.print(data2, BYTE);
}

top_view.jpg

test_circuit.jpg

sampler_guts.jpg

in_space.jpg

flex_sensors.jpg

Here are the audio samples used in the work:

Download Insect Buzzing MP3 file

Download Decider/Jackass MP3 file

Download Frog Call MP3 file

Download Whale Song MP3 file

Download Orca Clicks MP3 file

Download Rook Call MP3 file

Download Arduino file

TrackBack

TrackBack URL for this entry:
http://blog.lib.umn.edu/cgi-bin/mt-tb.cgi/58612

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)