criticalmaking.com

Roomalizer

“You don’t want to make anything too useful” (Ratto, 2009)

With those inspirational words, and our own initial ideas about linking personal feelings with public space, we set about designing our final project… the Roomalizer

During our initial brainstorm, we thought about spidering Twitter or some other microblogging site for emotionally loaded words (love, hate, jealous) and then translating them into a physical representation. We also discussed ideas about a wearable that would display thoughts that would be otherwise inappropriate for a given social context (“you’re standing too close!” or maybe “yes, you do look fat in those jeans”).

We eventually settled somewhere in between. We’re looking to design a system that moderates the excitement level in a room and translates it into a physical effect. The current installation of choice? An wall that breathes. As the level of excitement (measured as some currently undetermined variables) in the room goes up, the physical output of the device increases… the wall starts breathing a little faster, changes colours, the display output goes haywire, etc.

Week 1

Our first session in the lab revolved around what effect we were going for and how we would make it work. We discussed using infrared, pressure and aural sensors to gauge the feeling in a room. We eventually settled on Matt’s suggestion of extracting data from a web cam feed. For the physical representation, we looked into using fans, servos or solenloids to simulate breathing. We left the lab undecided, but with plenty to think about. Below are some initial drafts of the physical mechanism, which would translate the readings from a camera into a physical movement.

Breathing mechanism

Breathing mechanism

Servo motor function

Servo motor function

Initial sketch for servo motor

Initial sketch for servo motor- CLICK for a video demo

Note: Around this mechanism there will be a fabric and a lamp at the bottom displaying RGB colors

Week 2

While part of the team got to work hacking the webcam code, the others started experimenting with fans and fabric to create the lungs. The schematics shown above weren’t feasible, and the fan idea was quickly discarded as a dead end. We then borrowed (repurposed? stole?) BBB’s breadboard assemblage and servo, taped on some cardboard and a Starbucks cup, loaded the Barragan servo code and stuck the whole contraption behind a white piece of fabric. To our surprise, it kind of worked. We fiddled a little with the code to control the range (reduced from 180 degrees to about 75) and the speed (controlled with the delay function, which we’ll later insert with a value derived from the webcam data), and then called it a day.

Code

#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// a maximum of eight servo objects can be created

int pos = 0;    // variable to store the servo position
int breathe_speed = 0;    //  variable to store delay for excitement
//int breathe_speed_out = 0; need tw o vars?

void setup()
{
myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop()
{
for(pos = 45; pos < 150; pos += 1)  // goes from 0 degrees to 180 degrees
{                                  // in steps of 1 degree
myservo.write(pos);              // tell servo to go to position in
variable ‘pos’
delay(breathe_speed);                       // waits 15ms for the servo
to reach the position
}
for(pos = 150; pos>=45; pos-=1)     // goes from 180 degrees to 0 degrees
{
myservo.write(pos);              // tell servo to go to position in
variable ‘pos’
delay(breathe_speed);                       // waits 15ms for the servo
to reach the position
}
breathe_speed += 1;
}

Week 3

We arrived at the lab early, eager to get our lungs breathing. We quickly decided that two servos, with cardboard arms and balloons attached at the end were our best bet. We spent the next hours synchronizing the servos (which was surprisingly difficult, because they need to go in opposite directions and are restricted to 180 degrees of movement), assembling the whole contraption, and combining the webcam code with the servo code.

MORE TO COME…

You can follow any responses to this entry through the RSS feed. You can leave a response, or trackback from your own site.

Leave a reply

Follow Us