major studio: conclusions

I feel that I had an incredibly successful and helpful critique. I got the success measurement I was looking for when Stefani Bardin said something along the lines of, “wow, I’ve never really thought about wind like that.” It definitely made the risk I took with changing my concept at the last minute worth it.

I think that the best critiques occur when the critics both say that they like your concept and only give you tips on how to take it further. For example, I really liked how the other critic (I unfortunately cannot remember his name) told me to embrace the darkness of this violation. I loved his suggestions to play with both the omnipotence of the user blowing into the pinwheel, and to explore having the content of the video change based on speed (such as my face get more and more upset). His idea to also have the wind movement physically touch the user, with a fake hand or whatnot, was a little out there but interesting to think about as a future exploration.

I could definitely see the wind affecting the content of the video idea be explored in a future exploration. I would also like to explore the use of fans and the video that gets degraded be of the user himself using a camera.

I think it was definitely risky to change my visualization ideas in the last week, and I certainly was unable to push the concept as far as I would have liked to given the time constraint that I gave myself, but as a first exploration, I am incredibly pleased with how it turned out.

pcomp final: umbrella?

Between remembering my keys, wallet, and phone, I always forget to check whether to bring my umbrella or not. I must have purchased 5 umbrellas in the past 2 months – a huge waste. So I thought, what if by the door there was an umbrella hanger that told me when I needed an umbrella or not?

Umbrella? is a device that you hang next to your door. It wirelessly reads weather data from wunderground.com, parses it, and indicates whether you should take your umbrella with you via a yellow (for sun) or blue (for rain) LED. The LEDs only light when someone walks in front of the device, so that it doesn’t add unpleasant ambient light to the living space. Here is my original sketch:

Since the Arduino needs to wirelessly read data from the Internet (to make the device fully calm), I needed to purchase a WiShield 2.0. While waiting for my shield to arrive, I starte by coding the project in Processing. This code would work if the Arduino is hooked up to an Internet-connected computer. See the code >

I looked into parsing xml data in Arduino, and realized that it is really quite difficult. I decided to parse the data on my own server, using php. Here’s the php code:

    //Since we're already using PHP5, why don't we exploit their easy to use file_get_contents() command?
    $xmlFileData = file_get_contents("http://www.wunderground.com/auto/wui/geo/ForecastXML/index.xml?query=11206");
    //Here's our Simple XML parser!
    $xmlData = new SimpleXMLElement($xmlFileData);
    /*//And here's the output.
    print_r($xmlData);*/
    
    //Retrieving forecastday 1
    //$xmlHeadline = $xmlData->story[0]->headline;
    $xmlHeadline = $xmlData->simpleforecast[0]->forecastday[0]->pop;
    //Printing our first headline
    echo "#".$xmlHeadline;
    

This allowed me to point the Arduino directly to the one number (chance of precipitation) that I needed.

Once I received my WiShield 2.0, I had to figure out how to connect it to my network. Unfortunately, the school’s wireless is fairly locked down and would not allow me to connect directly to it. I even tried to set up my computer as an ad hoc network, but it still wouldn’t work. I took the WiShield 2.0 home to my personal network, and after some experimentation, was able to get it to wirelessly connect to the Internet and read the chance of precipitation number that I parsed out.

WiShield 2.0 Working

See the code>

Once the code was working and printing correctly, I moved onto attaching the LEDs and the IR sensor.

Breadboard with LEDs

Here’s a video of the device indicating that it should be sunny

Here’s a video of the device indicating that you should take your umbrella:

And a picture of the final product:

See the final working code >

pcomp final: light / time

When first assigned this project, my idea was to create a clock that was designed as a cube. Each side of the cube would account for a number of the time (in military). For example, if we write time as AB:CD, side A would have 2 LEDs, side B 9, side C 5, and side D 9. The higher the digit, the more LEDs would be lit up. Since the Arduino board does not have enough pins for this number of LEDs (25), I had to use a 7hc595 chip to shift data bytes from three pins to as many as I needed.

For the midterm, I was able to set up and get the chips working, but could not do much with the code beyond that.

At the time, I altered my project to time how much time was left on a snooze button [see the video / read the code], but I still wanted to see the clock idea through.

After a few look/feel/role iterations, I settled on my final look/feel/role:
.

I finally figured out how to call individual bytes from the 595 shift register chip, and coded the clock accordingly. I added a real-time clock into the mix so that the clock would tell the accurate time.

real time clock setup

I then added code that would light up the LEDs corresponding to the correct time (the below video shows it working in seconds increments instead of minutes for the sake of quick prototyping.

Finally, I built the box by pasting plywood over an ugly holiday gift box (it’s surprisingly difficult to build a box). I drilled holes into the box for all the LEDs, wire-wrapped them, and connected them to the breadboards / Arduino. Here’s the final project:

16:

33

See the code [note: you must initially alter and run this code to set the real time clock] >

major studio: user testing and iterations

Whelp, I had a huge setback/breakthrough this past week. After spending hours on the visualizations in Max/MSP/Jitter, I realized that they just plain looked terrible. And that the real reason I wanted to focus on wind had nothing to do with wind power as an alternative form of energy. Growing up between PA and DC, the wind was always a pleasant indication of the changing of seasons (both autumn and spring), but since I moved the NYC, the wind has morphed into this assaulting violation. It got me to thinking: We largely control that which touches us, and that which we touch. In fact, when we experience unwanted touch, we feel violated and even degraded. Yet the wind touches us daily without invitation or permission; sometimes we feel annoyed, surprised, happy, alive, etc., but we rarely feel as violated as we would with an unwanted touch. Why is this? What would happen if we saw the wind as violation and degradation?

So, still using the pinwheel as the main user interface, I want to have the speed of the pinwheel speed-up and degrade video on the screen, to show the sense of degradation/violation the wind creates. I want to have the user create the wind, since we generally only feel violated when it is being done to us by some uninvited person, almost an omnipotence idea. The video will be degraded using the data from the Arduino. It will get fuzzy and break down, become desaturated and speed up. Grating sounds of electricity and wind will raise in volume as the speed increases.

Here is the video that will be degraded:

Here is a video of user testing. The user suggested to change the frequency of the sounds (higher frequency for faster wind), and to reduce the lag time after the user stops blowing.

*note: videos were added later to add completeness to entry.

major studio: prototyping/testing

I would like for a user to blow into a pinwheel and have it affect visualizations on the screen and a 3D city of lights in front of the screen to show the power of wind energy.

To do this, I will have to gather a speed rating from the pinwheel. The pinwheel itself must spin unimpeded in order for human breath to move it effectively, which forces me to design it with the least amount of additional weight from hardware as possible. While there are many established ways of recording rotational speed (Servo motors, reed switches, Hall effect sensors, etc.), I decided to use the simplest switch possible – a break in a light beam using an LED and a photoresistor – and read the time in between breaks of light using the Arduino.

The Arduino has two sets of pins – analog, that read values from 0 – 1023, and digital, that only read high or low (5 volts or 0 volts). Normally, a photoresistor is connected to an analog pin to read different values of light, but since I needed to read only high/low, I had to convert it to read on a digital pin. To do this, I routed the photoresistor through a transistor, which took the smaller voltage from the photoresistor and converted it to the necessary 5 volts for the Arduino’s digital pin to read high (figure 1). I used a circular disk with a piece extruding made out of black illustration board (figure 2) attached to the pinwheel’s axel to break the light beam between the LED and the photoresistor. Therefore, whenever the light beam between the LED and the transistor is broken, it will read high, and mark the time (in milliseconds). After the second break of the light beam, the Arduino calculates the time difference between the first break and the second break, and exports this number to the serial monitor. From here, we can use this number to affect visualizations on the screen using Max/MSP.

I would have love to have the pinwheel vertical and transfer the energy from the top of the pinwheel to the bottom where the Arduino setup is connected (figure 3), but I found that it lost too much energy in the transfer, so i made the support rod of the pinwheel also be the axel that spins the disk that breaks the light (figure 4).

major studio: focus on a solution

Prompt:

Discuss precedents/references/inspirations and how they relate to your idea.

  1. windcutsWindcuts by Miska Knapek: The Windcuts are experiments in turning sensor data into physical instantiations, via Processing and a computer-controlled drill. Wind movement measurement data (wind direction, velocity and temperature) was used to generate a 3d form, which was then cut out of wood. According to Knapek, “This is my memento to the wind’s movements. Sometimes chaotic, sometime calm, always very living.” I found her work unique in taking wind data to create a physical art, with very little human involvement.

     

  2. sound & color streamssound & color streams of the lake champlain waterfront by Jenn Karson and Matt Larson: This project is an installation that sends live sound and color streams from the Lake Champlain Waterfront to a live visualization. This project explores creating a visualization from a live feed, something that I thought might work well for my explorations.

     

     

     

  3. blow upBlow Up by Scott Sona Snibbe: A precedent for the user interface, “Blow Up records, amplifies, and projects human breath into a room-sized field of wind… Blow Up’s simultaneous processes of recording, translation and amplification is meant to increase the breath’s salience and legibility, while detaching the breath from the body that allegedly produced it.” The user blows into a panel of twelve smaller fans that then affect the wind speed of twelve larger fans across the room. Though his project primarily focuses on breath, I wanted to take this further into the realm of wind.
  4. heart chamber orchestraHeart Chamber Orchestra from 12 musicians and artist duo TERMINALBEACH: This performance provided me with precedent for how I want the visualizations to look. I think that they show great power and energy, while remaining quite beautiful.

     

major studio: identify a problem

problem

in a sentence…
The wind, while immensely powerful and a strong choice for renewable energy, is essentially invisible, and people have a difficult time understanding, yet alone caring about, that which they cannot physically see.

audience

voters and children

solutions

  1. have users blow into a pinwheel hooked up to an arduino that reads rotations per minute. this speed affects visualizations created using max/msp. it also lights up LEDs hooked into a wooden cutout of a city skyline
  2. create a visualization that takes live wind data and visualizes it (with an audio composition) so that people can see the wind and hear music from it
  3. build a miniature windmill and have it power LEDs in a lego city

here’s a sketch of my final concept:

also, this video is beautiful and an inspiration for visualizations

More info »

pcomp final project proposal and final light-time look & feel

final project ideas

I am proposing two ideas with the hope that the class will help me decide which idea is stronger and more feasible.

  1. With my on-the-go lifestyle and my smart phone in hand, I rarely meet people at their homes. It’s easier to just meet them at the destination. In fact, very few people come to my door, barring the occasional delivery person. So what if we turned visiting someone at their home into an event? What if everyone who came to my door had their picture taken and posted online? What enhancements would this make to my life, and what complications?

    I propose to create a hands-free doorbell. As someone approached the door, an IR sensor would trip a bell inside, as well as snap a picture of them. Ideally, I would daily post this picture to a blog of some sort (as cool as it would be to see this posted live, it certainly raises some security and privacy concerns.)

    It would be interesting to see the progression of characters in my life, as well as my growth as it snapped a picture of me.

  2. Between remembering my keys, wallet, and phone, I always forget to check whether to bring my umbrella or not. I must have purchased 5 umbrellas in the past 2 months – a huge waste. So I thought, what if by the door there was an umbrella hanger that told me when I needed an umbrella or not?

    There would be an Arduino with an ethernet shield that reads wunderground.com’s weather forecast. If there is a greater than 40% chance of rain, then the rain light turns on. If there is less than a 40% chance of rain, then the sun light turns on. There is a hook for the umbrella, and this free-standing device would be attached to the wall next to your door.

  3. Our reflection follows us everywhere and we follow our reflection closely. I propose to create a vanity mirror with lights that automatically raised and dimmed the closer someone got to it. Practical, right? And sanitary!

final light/time project look & feel

major studio: final project proposal

idea

As someone who has associated color with abstract concepts of time, letters, and numbers (and at one point in my life, music), I am interested in visualizing the previously unseen, most notably, the wind. We “see” wind through the way it affects leaves in trees, pedestrians’ hair, flags, etc. What I seek to do is to pull the wind out of its invisibility and visualize it through color and sound.

I wish to use Max/MSP to parse out the wind speed and degrees from the wunderground.com api. I would then use these numbers to affect a stream of color, with the numbers affecting the location on the screen and the saturation of the color. Since the data can come from any airport, this project could be easily personalized to the location it is being viewed in.

Ideally, for the background image, it would be fantastic to pull geotagged images from the flickr api of the location of one’s choice. [If the flickr api proves too difficult, I would download many images to use in the program.] I would abstract these images and have them form the background for the wind to flow through.

I would like to incorporate sound, with the volume increasing as the wind blows harder.

Finally, it would be nice to incorporate some fans for the presentation, but altering their speeds with the wind might have to wait for stage two.

precedents

pcomp: gestural machine

For our Physical Computing homework this week, we were tasked with creating a project that showed gesture using a Servo Motor.

Tami and I teamed up and combined our servo-skills and hardware. Inspired by Arthur Ganson‘s work, we decided to create a butterfly whose wings would flap gracefully.

We started by coding our motors to rotate gracefully. We used an easing technique with the following equation:

(target position – current position [distance left to go] / increment) + current position

This increments the distance the servo is turning and makes the motor turn quickly at first, and then slower and slower toward the target. Increasing the increment makes the motor move slower, with more easing. The two motors were coded to run opposite of each other to make the wings flap in opposite-union.

We then created our butterfly using a wire frame and wrapping it with tissue paper. We then attached a wood rod parallel to each of the motor horns, and then affixed the other end of the rod to the outside of the butterfly wings. When the motors are on and turning, the wings are compressed and expanded, creating the illusion of fluidly flapping wings.

process video

final video