Sunday, October 16, 2011

Artwork: Sonar Glove - Interactive Clothing - 2007

Sonar Glove
Interactive clothing
Glove, Wires, Microcontroller, Flash

Collaboration: Michael Ries, Hayley Silverman, Jennifer Beser

The human experience is dictated by the physical construction of our bodies. Most of us are highly dependent on the sense of sight to take in information and navigate world. Our culture has become highly dependent on this sense to the exclusion of our other senses. We spend more and more time in front of computers and televisions, it may be possible that we are becoming numb to the information (perception) from our other senses, and even forgetting how to use them. For people who people who have been able to see their whole lives, this dependency causes us to neglect our other senses such as sound, taste, smell, and touch.

Sonar Glove explores the way we experience our environment, specifically by supplanting the participant’s sense of sight, and offering the opportunity to replace it with a different sense based sound. It presents the information in a novel way that our culture doesn’t actively explore. The artwork will allow participants to discover new ways of perceiving the world around them.

Saturday, October 15, 2011

Artwork: Audible Tactile - Seoul, South Korea, 2006

Audible Tactile
Interactive Object and Sound Installation

Part of the “Jet Lag: Traveling Exhibition”
Exhibited at Ssamzie Space, Seoul, South Korea 

Audible Tactile consists of five found objects placed on shelves for the audience to pick up and touch. Manipulating each item causes traditional Korean music to play, evoking past and present cultural stylizations.

Audible Tactile centers around the audience’s interaction with five objects found in Seoul that symbolize the five natural elements of Oh-Haeng: wood, fire, earth, metal, and water. As the participants approach each object, a different musical piece plays, comprised of traditional Korean flute, drums, vocal, and string instruments. Much like the affects of jetlag, the interactive sculpture creates a surreal environment of displacement in time and space. The use of modern items and traditional music evokes the juxtaposition of Seoul's history with its ultra modern features. 



Artwork: Mood - Interactive Artwork - 2007

Mood - 2007
Exhibited at the Contemporary Museum, Baltimore, MD March 15th, 2007
Collaboration with Michael Ries, Joel Bobeck and Yeohyun Ahn.

Publications : Washington Post March 17th, 2007 "Me, My Cell and I: Can You Hear Me Now?"

The mobile phone occupies a space that is both connecting and distancing. Seemingly ubiquitous, it has become an increasingly powerful tool, functioning as a phone, PDA, browser, and camera. “Mood,” is a combined Internet and spatial installation that displays the collective emotional condition of users as color hues.

It is based on the wearable “mood ring” which chemically changes color according to body temperature. The users participate by answering a survey on their cell phone specifically designed to gauge a person’s emotional level. This information is then collected, parsed, and averaged. The results are visually projected on the wall.
The colors of the projection are matched to different emotional states. The collective answers are averaged, and add to the projection's overall appearance. By allowing people to share this intimate data, the piece creates a radically new social dimension, giving individuals not only a new way of looking at their own emotional state, but also the current emotional state of their environment."



Sunday, October 2, 2011

LDP8806 and the netlogicdc sign

So far...
(updated post)

Progress with the Addressable Digital LED Strip from Adafruit is going very well. But changes to the original design and placement of the netlogicdc sign have changed the final outcome of this project for now. Whether we decide to add this to the sign or not, I'm coming up with some cool uses for the LED strip.

This post has a comparison of the old, Adafruit code using the digital Arduino pins, and the new code that uses the SPI interface. I go over the hardware I'm using, show some video comparisons, and I post links to the github code.

I initially started work with the code provided by Adafruit, and customized that to test and experiment with the strip. So far, I've got the hardware working and coded a few of my own Arduino sketches for the strip. I've begun to familiarize myself with how the strip reacts and what it's capable of. My initial prototypes used the original code provided by Adafruit - Original Adafruit code here.

Current hardware
More about the power supply
Read the disclaimer
Calculating the power requirements is beyond the scope of this post. But to help you get started, I'm using a 450W ATX power supply I salvaged from an old computer. It says it can handle 45A on the +5V terminals. This is 225W. This seems to be more than enough to power a 160LED strip at full white intensity, w/o blowing anything. 160LEDs should draw no more than 20A, so the math is right. I'll post something to show how to wire the ATX power so that it powers on without a computer. For now, see this article:

The Adafruit tutoral has some great information to get started. This works with the old code and old setup. Be sure to connect the following:

  • 5V power supply connects to the +5 on the LED strip
  • GND on the power supply connects to the GND of the Arduino board and the GND of the LDP8806 LED strip. This is very important that the Arduino, the LED strip, and the Power Supply are all grounded to the same potential. 
To keep with the the Adafruit conventions:
  • Connect a green lead from the Data pin on the LED strip, D1 to digital pin 2 on the Arduino.
  • Connect the clock pin, C1, on the LED strip, to the digital pin 3 on the Arduino. 
  • Remember these two pins on the LDP8806, clock and data. It will help later if you use cjbaar's  faster code.

So now that it's working...
Here's a video of Adafruit's original code, using the digital pins on the Arduino board. Once I had the connections and wiring correct and the LED strip is up and running, my first challenge was to make the code more efficient. The code updates each pixel, then sends a refresh to the strip to change the correct pixels. Each update iteration the strip is far too slow for production. It was taking almost 1 second per pixel (LED) to update. On a 35 pixel strip, this is over 30 seconds. On a 160 pixel strip... you get the picture. This video shows the original code's update speed.

Original Arduino Sketch Code
Get the code for this sketch on my LPD8806 repository on Github. Be sure to read the README.txt file if you want to use this old library.

Note that I randomized the update speed, so the refresh rates change. But this should still show a good idea of the possible fastest update speed with the original code.

Optimized LDP8806 code using SPI 
I did a lot of research to find ways to optimize the code. Even at 16MHz the Arduino should be capable of running this a bit faster. I found a discussion on the Adafruit Forums, RGB LED Strip Arduino Speed which links to another post by cjbaar. CJBaar shared some code in the cjbaar LDP8806 Github Repo.

The new code is significantly faster. I'm very impressed, I had no idea that the little 16Mhz Atmel chip could perform this well, after seeing how slow the original code was. I think it's actually too fast for this project. But it is far easier to make the code slower by adding delays. At least not until magic.strip(speed up my code)is implemented.

Again, note that I have randomized the update code, so that the direction and speed of refreshes vary. this is intentional.

SPI Arduino LDP8806 Code
The new Arduino sketch for the LDP8806 using SPI on Github
Next steps
The next post on this project will be the addition of and interactive aspect. I still have some experimentation to do, but basically I'll have the interactive component skew the direction or the randomization of the speed one direction or the other. It will depend on the feel of the interaction, and how well the various sensors handle it.

Credits, attribution
If you haven't been following these posts, thanks again to Adafruit for providing the LPD8806 Addressable Digital LED Strips and publishing code for these LED strips. They're way cool! And thanks to cjbaar for sharing code to use the SPI interface.
  • The original code and wiring for the Digital LED Strip was written by Adafruit, and I'll confirm, but released under an MIT or Open source license of course.
  • The optimization was coded by cjbaar.

I also updated the progress on the netlogicdc sign entry, so it now points to my github code for the interactive serial interface for the LED strip.



Saturday, October 1, 2011

Open Hardware equivalent to SourceForge

I found a KickStarter project that may interest anyone who is interested in sharing Open Hardware designs and concepts in the same spirit as Open Source Software and SourceForge:

I am publishing my own projects here on my blog to share my concepts, designs and software with everyone under the same type of licenses. (Hmmm... note to self: I should update my Terms of Use and Copyright pages to make this clear.) I think this is a great idea. I don't think this would supplant these types of blogs though. I intend this blog to keep documentation of the process I go through to arrive at decisions along the way, and to help people with questions about these types of project.

Good luck guys, here's to making your goal of creating an open hardware repository!

The video is after the break.