Imagine Nothing: FINAL for ITP Physical Computing and Computational Media

Work is finished on my ICM and P-Comp final and it is ready for the ITP Winter Show. Imagine Nothing is a interactive dance performance piece based on the threat of loss of imagination in the world. The video and photos document a recorded performance. More specific details on the code and programming for Processing, Arduino, MaxMSP and Ableton Live will soon follow!

The p-comp aspects of the project involved using force-sensitive resistors and the Kinect (IR Sensor / Camera) as well as several microphones. The FSRs are mounted to the bottom of a platform beneath the broken glass that the dancer performs upon. The relatively simple Arduino code to obtain the force values and communicate them to MaxMSP through serial can be seen below. At the end is the text based MaxMSP patch used as the intermediary between Arduino and the Ableton Live audio program.

/*Imagine Nothing
 Mick Hondlik
 P-Comp/ICM Final Fall 2011
 ITP @ NYU

 Adapted From:

 SerialCallResponse
 Created 26 Sept. 2005
 by Tom Igoe
 modified 30 Aug 2011
 by Tom Igoe and Scott Fitzgerald
 */

int fsr1 = 0;    // 4 fsr analog sensors
int fsr2 = 0;
int fsr3 = 0;
int fsr4 = 0;
int inByte = 0;         // incoming serial byte

void setup()
{
  // start serial port at 9600 bps:
  Serial.begin(9600);
  establishContact();  // send a byte to establish contact until receiver responds
}

void loop()
{
  // if we get a valid byte, read analog ins:
  if (Serial.available() > 0) {
    // get incoming byte:
    inByte = Serial.read();
    // read first FSR, divide by 4 to make the range 0-255:
    fsr1 = analogRead(A0)/4;
    // delay 10ms to let the ADC recover:
    delay(10);
    // read remaining FSRs
    fsr2 = analogRead(A1)/4;
    fsr3 = analogRead(A2)/4;
    fsr4 = analogRead(A3)/4;
    // send sensor values:
    Serial.write(fsr1);
    Serial.write(fsr2);
    Serial.write(fsr3);
    Serial.write(fsr4);
  }
}

void establishContact() {
  while (Serial.available() <= 0) {
    Serial.print('A');   // send a capital A
    delay(300);
  }
}

/*
Max/MSP version 5 patch to run with this code:

 <pre><code>
----------begin_max5_patcher----------
2627.3oc6bs1aaaqF9yI+J37m1.RyQ7hjs1mNAEn3jOzgg1c1ACMEEzRz15D
YJOI5j1Nr+6i2riThjMch0kDDTT4Pcg5gO78FeIo9qSOYzzruxJFA9Yvm.mb
xec5ImnOk5DmXKexnkzuFkRKz21nnrkKYbwnyLWSv9pPe9KWRmmvYfeISrHg
O+J96ShtF7ex3woIWeE+WeyayVt5ec4aeO3cIbZJ3czzT.xCBuhe4u8qf+M3
W9i+6lJMUVQQYq45ZlXOIe8xr0hTlPiCO6YmkwEb5RlFCWjmPS2TIqnhHER9
RNKRXZgnfy8NCLdr5HLfn9I.ctG3y1GIIVWMYS++uASFU5MTj7c8a.Ju66fS
BeCZfpy82mdp5vYNRjb1sxWzC3wU.QFfNUVyY7QGulNA5oatAgZJ.qNh7pus
ePMcR42IK21fssXYUjjxtgkWjHaMpZ4L64K0o3qAlFWP3DcIeUmyFnIIx4oY
QWyhK05OYTLa1AUIYqX76d.MaT4P06LguJmUHEzoBKzK+hoqSEeod1o50mQi
XM9v014cxn44IwYbEHp7jpSu408I.T2DUGuC256fSWUyCKxxRmRyuIoHQJZU
omPJkR4IKoBlHwfGj21mKY4p7Did31yw3JwyEEQ4YooUpJyUtolqDytIIhca
RrXgtttispX.pjjSE8mJm+d5QZQwMj2C0Vfkth4zhusxRhizMsOW5NpQyYhm
1pAznx3u4XkGqFkmGpo3U5BarhpdpQaNs1.h4ONafRF9FKGv.2HC7KZx.MQa
uA4HYfdQSFi0bAF5FW.6UtP9BmJcU0HYfJcklMT2HUcFXzTJetCVVHFKKSzt
q7tuO4GH.4GN5dHqF+O0Gbxwh4JGzR0.WhVHayrlIU7imTULpkXcxhcfmgWQ
NxqAd8NuNPjH8MQPE36JyAGvRjEQzTlLVCn7+gHfmDSicyB3gJeteMciaSOj
I.0v8SrnGCwFzQp5hTIG.HMSldNSl04JAZrKNVaWj3.YgeLjE9km96lvyvAt
5QA8pGEG7nDfL1Ewdtxq3W8nXYtIFOJXWYN+W8n3fGE+wFWIddt5QwOX36QA
2RdTHV1ZRfidT7m7pGE8MiCMdTl3pkO73W8n3fGEbnwtnQVzEdM3UOJFlyyj
+demYN+WYN8MGBMgU6pqXTvqpxNnJCI1ITZri7JYPGzswSLpk7DirYHznD6f
mXrWu6I1s3AmDzmwChLy4EzjLZWhGDE16wCNLLKBIlD364ZHNnIOWFhReJQF
ZSBqw3nlY1CsNd3O.EXKYVzJ0AgtYUD5AOVVEua5iUq5hFlIVMhUWudRrHac
dzFAisouDTE9wrBQBe6zo+oR4t6d24hj33pyestmJIdUlTu1BQvmcpiuMQN7
YKx8FVHWkZB2PtZb4OSQN9YKx8GVHWE3haHG68rE4ie1h7fAFxG6Hx09TeVh
bc.oOOQNAMvrJFdPws.GPHGcP9PGPHGEbPZnCHji8OHOQCGjCc1xx.yOjy3N
bPgary5lCKumDmsFdLsiaOorAXVZ4EzaXweQ9djCW9KTgHOY5ZgYnpkWp46a
cYuikbcsKU6G056ddZ1TZpcwvu8sMxgk+8o2wBG5NInbdzpOGZUa7+NKOlxo
adBmxdVsYsHTmbm.OyTwXRiFr9MU.p02PEMsyTd2G+.3BNMMaN32ooqYE.3c
awAG1ZE2ispaQNXlREKO.8g6hHfAs9NKoujGHlMfgSxCSdwxBXBwcshWtz.B
VQXveWz.F0S61p07Uznqkdtz+qdVh7DXoG9iCTl+Xy5ezam1Qv31lyVxJJna
mi06Hs.+5IJ3d2XZMOKB0pHg0zAIPqBgQm6qVHJ0yFgGBYfNdBPErzsSJfKZ
W6lNzJUm4HsXlYEbvt1JeAsMszjS2KhoqDrXvr7rk+7U7q3ejoZ4f2RSSeyG
XEqx3EL.3JdTNiptQHAbwpb0rvEdEe52.eLJSH.uKQ784rbZZLfxiA+V1Rvk
yyX0tQQ8Od6VRyl8xOvrfIB0pii8qmh86q3ZjwAOWxMfeLKG7Iwm+IvrLYz6
E.4oWHdSJal.DkwuQ9nxf0KNG.tHMEHVv.w4zaksWMitJOS9LEph2lHu9B5p
ULNXJSVYLv6oeEjy9SYLShBfTC.biN.pyA+uExaRrHo.rAEyRxYEmARDfBFO
tPV4fK93au7RvE5MzZw0fKxiWmvyTvrbcUaeI9Htoew1EJj1CDwr2jHMXFIn
25MyYI7DgroHemE5to4R8hBvsZldcNWpijw08YYylUKogNhJ.i0SHIdrcRb0
jFlz.o0ag1KGjUz0EZIJEiQKhRRLxURRBb0nKtZD3GC7+IkH3T17DtTiPBk0
Q5AvpTIlIjxtVlWcwkq4IlqBjB2KowryLx4SUaAYPwh0RMg3ra4stbKwrKlv
1Hm7w6TtE2SAP4czBEXeAGggVQxI2EMPSt87G2SgC7CuoonAZCFwrleH3.GX
D+dhQTVw.viHq3BkXUZ7I6J1HeRaSIhr4ySY6tk+n60M9yPd6rIhG0x5+1tW
uto60FJFwotWudbHAMMDoVaLAV4dyxzmr6OuGS5IhQHoEP5wOUDtHx3a1q0D
zNGRseO4E86of44YqWAvGQ1wUpgXDZFu6rM.6OsIIfUKjw5oF7iWixMMqMqb
QuMetfZVyB60aABmp9ZKsfIGylLT2nzL4fqUQDWXF08prbwQ7iID1DZJJztV
t2YJHPACCRQ8MwoM4DiEXTfuKbx39J2cZQiNJVLqliQJwLJ7lReGp0MuzDgn
DC.ztJgljRxHD3tXDXXek5t2VQsYNSROfzjBgZH0kzcJNlecxrAyhCKs4PZT
4os0cZkv1Q1sPtc37nMGqsuG11gs+mKYh7L.73E299mOHTXYGo96pKFh5MyA
5O2Yci0.63WLB8lAw2n0.buE9kVgmBBC77NZiowk.2sxKXyW5tI6brdvdKCj
efQi2XULguZs.Lc8rYrbf5qd32jJXfkIoRqmrnLdbQqm1Vyl0NzNJGuck0VX
ukp6OJnG0PuPl4X29MlX2SHF7QG4kt1ptIYLjv8WTUVp3AKlpJKIslVhiUVw
UObMTU+5m5A8KtBopaJgFvTvgAIrbTk9pbP.U+fIS1V5IB1.GvZXmReXnCPp
5hDs8wjeKHlg7vpdQeS5S1rSmqTBa7qiv59acompv4XGZI2SBd+RmvPs7nmc
PIjskdp7tmKncb2pd6hrfO4woea99KPryKUkRX+xrqtTWXnxua0ztGwUOlHS
5TLAIt1iCO.seqNsQemfB2VpS5U8dbxm1OKqFKW5ROQzdutxii8nmJC5hUm6
4lZXHC5cXxfOUL4jm5CTRypW.sI3BA2V5X3KAtOe3cbrNtHog5VIMDrEh0w1
Ohg5e1X6C9zieE1FC..Sz12PSlTBs5ROUzhaCzFXPafWYzpJ0E52PT2ZGDM7
FvG1kdULp6wz9r1glz8XBsGL0CPBuOZpiEmbQDuagDZhiPp6B9vUDg5NRh3H
jvcadK1mU.7SI5ZYg+9z+Aj2U7JI
-----------end_max5_patcher-----------
</code></pre>

 */

Final Project Progress – P-Comp & ICM

My final project has morphed itself into a live performance piece. Our dancer will be depicting the loss and rebirth of imagination in the world through Butoh

Here are a few pictures in the dance studio working with the Kinect motion tracking and projection mapping as well as processing sketches that fit the fit the message of the piece.

On the P-Comp side, some sensors are still inbound from Sparkfun but work with FSRs and microphones has begun. Some of the audio has been recorded that will supplement the live sounds captured during the dance.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Construction of the platform for the dancer has begun as well. The FSRs that will change the effects on the live sound are being mounted to the wooden platform that will sit below the glass panes that the dancer will walk on. (Pictures soon!)

 

Marco…? Polo!: P-Comp Lab 7

The week 7 physical computing lab goes deeper into serial communication between Arduino and Processing. The call and response method requires initiation before sending each string of data from Arduino into the serial buffer. Processing accesses the buffer, retrieves the data and signals Arduino to insert more into the cleared buffer. This keeps the data inflow and outflow in sync and makes the serial communication more efficient. In this example, two photocells and a button are used to dictate the position of a white circle on the black background of the processing sketch.

Mother Trucking Awful (MTA) Card

One of the most, if not THE most, commonly and frequently used interactive technologies in New York City is the MTA Card system. I’ve had a personal grudge against it since…well, forever. Further observation beyond my personal use has upped my frustration to the third as well as first-person level.

 

It all begins at the MTA card purchase machine. It sure does have pretty colors! It was designed by Masamichi Udagawa of the famous design firm Ideo and has recently been critically acclaimed and featured in the Talk To Me exhibit by MOMA curator Paola Antonelli. In short, I no longer trust her opinions on design. In the war to get on a subway train in NYC, buying the card is, for most, the longest battle. The lines are long and understandably so because depending on your purchase, you may be asked ten or more questions before you receive your card! Most of these questions are absolutely unnecessary and could be replaced by just a few actions and many less process screens. For example, there is no need to ask what type of payment a user will pay with…a simple prompt to insert payment could tell the user to insert cash or a card and the machine would sense it (like soft drink machines and gas pumps have for years!) Overall, the “Begin” and “Payment Type” screens could be removed completely and in most cases inserting one’s metrocard would prevent the necessity of the “Metrocard Type” screen.

Buying the card is definitely the slowest part of the process but perhaps more frustrating is swiping it. In case sliding a flimsy little card through a thin slot isn’t hard enough, the card must also be in the perfect orientation and be slid at just the right speed. Furthermore, whether or not the card was swiped perfectly, the machine makes exactly the same beep noise often causing myself and others to proceed and slam into the turnstile.

The technology and interaction involved in this system seems archaic, especially in comparison to systems like the Tube in London and the corresponding Oyster Card. The first thing to notice is that there are no slots anywhere! Both at the vending machine and at the turnstile the user only needs to “touch” their card to a sensor. The card can even be inside your purse or wallet and still be sensed, saving yet more time.

The Oyster machine is not quite as “crayon box” visually pleasing as its New York counterpart but it is much more efficient. There are fewer steps and the process is considerably shorter. The turnstiles also “tell” the user whether their card worked with a differentiated sound and clear lights. From an industrial design point of view, the “turnstile” is actually a set of doors that slide in and out of the pass-through which makes it much easier for passengers with bicycles or bags to get through. Beyond the relative ease of Oyster card use, additional great design ideas further shame the MTA atrocity including Oyster mobile phone pay as well as wearable Oyster jewelry!

Cyber Ducky!: Stupid Pet Trick

The culmination of all of my P-Comp skills from the first five weeks has resulted in (drumroll) Cyber Ducky! This little fellow is sweet and covers Ernie’s Rubber Ducky song from Sesame Street. But, Don’t get too close or his pretty blue eyes will turn a demonic red and he will remind you “Don’t even think about it!” Back off and he will calm down and resume his song. If you are able to get close enough to actually pick him up, you will learn the Cyber Ducky isn’t actually mean, he’s just scared, and will yell out for his insurance agent “Aflac!!!” when lifted.

The rubber ducky song as well as warning when approaching too near is triggered by an ultrasonic range-finder disguised as Cyber Ducky’s boom box. The cry upon lifting is triggered by a force-sensitive resistor. The changing eye color is facilitated by RGB LEDs. All sounds are played using Arduino via serial connection to Processing.

Cyber Ducky Processing Code

Cyber Ducky Arduino Code

Audio From Code:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Sounds and Servos: P-Comp Lab 4

In week 4 the P-Comp lab calls for servos and speakers! (or a piezo buzzer meh) First I’ll served up a tiny little reminder to DIY 24/7. A force-sensitive resistor triggers the servo to rotate 90 degrees (out of a possible 180) by mapping the analog input to the servo range through the digital output thereby raising the flag.

Next, I used a piezo buzzer and two photocells to demonstrate the creation of sounds using Arduino. First, the two photocells are connected as a voltage divider and can be alternately or simultaneously given light or shielded to change the pitch output.

Finally, an array was used in the programming of the Arduino to play a string of pitches in succession.

Electronics Chopstix: P-Comp Lab 3

The third lab exercise was all about getting to know the digital multimeter (DMM). Fortunately I have had ample experience in engineering school and professionally but nonetheless, a little brush up didn’t hurt. Measurements of resistance, voltage and current where taken and examples of the latter two are documented below.

P-Comp Fantasy Device: Lock Your Bike to Anything (Iron) Fast (in progress…)

So I love my bike and hate people that want to steal it but locking and unlocking many many times daily is a huge pain! My idea is to turn my bike into a huge electromagnet that will adhere to anything metal when turned on! The “key” will break the circuit electronically so that I wouldn’t adhere to moving cars while riding…

Also seen above on right is magnetic tubing. The typical electromagnet takes a significant amount of power to activate. This would mean hauling a lot of batteries and having a very heavy bike in order to reach the required magnetism. The magnetic tubing is one example of an option for creating a magnetic bike without as much power…the magnetism could just be amplified by a smaller power source which could perhaps include a generator and batteries charged by pedaling the bike before “locking” it up. The following is a DIY electromagnet how to video!

PS: I need your old microwaves please…text 920-296-8833 and I will pick it up on my bicycle which will be fun for you to watch.

Since the bike frame will need to be wrapped to protect the user it would be a good idea to keep safety in mind and utilize the Bright Bike wrap! This vinyl material from 3M appears black in daylight but as soon as headlights hit it at night it reflects bright white. This wrap can be used to cover the coiled wires of the electromagnetic bike frame.

 

Sense That Someone’s Watching You?

We are measured, watched, checked, and affected by the work of sensors far more than I actually care to think about after taking my sensor walk around ITP and the NYU campus. I didn’t even bother to include a picture of a security camera because I saw literally at least 100 in a short time. Some of the sensors are quite important for security and other essential options but, more noticeably, many of the sensors could be drastically improved in design and efficiency.