Making Furniture Interactive

December 17, 2007

Final Project: Suono Sonic Bookshelf

Filed under: Beste Nazilli,Final Project,Imran Sobh — imranixd @ 4:26 am

Project write-up can be found here.

November 13, 2007

SpiderCrab

Filed under: Examples,Imran Sobh,Uncategorized — imranixd @ 7:38 pm

It’s kind of a stretch to call it furniture, but maybe you get it put in your home anyway. This was another project from DUX that I was talking bout today, which was done by a group in the UK. There is a lot of high level dance theory behind it which went over my head, but it’s basically these robotic legs that react to your movement. They had this in the exhibit hall and they let anyone try it. It entertaining to watch people get whacked by it while we ate.

SpiderCrab is concerned with design development for a robotic agent, using models and theories of performance. The focus is on ways that designers and performers work together as an interdisciplinary team. It will build and experiment with two prototypes for an originally-conceived robotic agent. The eventual 6-limbed, 2-metre high SpiderCrab robot will be a multi-sensorial mediation between architectural environment and dancing partner. A key objective will be for the human agent interacting with SpiderCrab to experience performative merging. A key novelty at this phase will be to integrate state of the art techniques for visual object detection and tracking into the body of the SpiderCrab. The robot will have pseudo-human characteristics including precoil and recoil in gesture, learning, aesthetic choice, redundant movement, mood and physical temperament. Two developmental processes will be realised: (1) a virtual realisation of SpiderCrab, (2) a concrete realisation of one prototype limb. Both realisations will be confined to the visual sensorium, although this will be processed in terms of both gestalt and proxemic data. While SpiderCrab will be fully realised beyond the present prototyping project, the robot itself will constitute an objectile, setting continued evolutionary challenges to software design, robot engineering, performance specialists and human agents.

more info on their website.

November 6, 2007

Bowl: token based media for children

Filed under: Examples,Imran Sobh — imranixd @ 8:11 pm

While at DUX, one of the presentations so far is something that is relevant to this class. Einar Sneve Martinussen presented a project that gives control of media displayed on television to children. Inside the box is an RFID reader, and he implanted his daughters toys with RFID tags.

Based on what she places in the bowl, different media files and different media types are triggered and played on the screen. It gives control of the media to the child and allows for a more natural interaction instead of having it dictated by people who arrange programs on television. He used regular media as well as family videos and photos. In one iteration, using a mortar to stir the bowl triggered random photos to appear.

I think it’s interesting how the form of objects can cater to the audience of people, and you can use familiar objects to interact with pieces of media or other furniture. Check out his blog for more.

October 30, 2007

sonic bookshelf

Filed under: Beste Nazilli,Final Project,Imran Sobh,Proposals — botto @ 8:06 am

presentation

inspirational projects//

Secuenciador tangible 2

Walkotron

Scrapple

October 25, 2007

Augmented Sculpture v1.0

Filed under: Examples,Imran Sobh — imranixd @ 11:03 pm

A wonderful sculpture that uses simple shapes and colors, watch the installation video.

October 23, 2007

Imran’s Exercise 6 – Autonomous Fishy Game

Filed under: Exercise 6: Motorized Mechanical Movement,Imran Sobh — imranixd @ 2:19 am

My plan was to take my previous project and convert it into a game that could run on its own without the third person needed to crank it continuously. Once I got a battery pack to power the motor instead of Arduino, I was happy, but also disturbed at how fast it was rotating:

The first problem I was having was simply using the old gear setup to turn the gears. When I cranked it by hand, I could easily adjust for any problems the fish had in getting caught on the fins underneath. So the gears were just not catching, especially at the speed it was running. If I slowed the speed down, there simply wasn’t enough power to get it to move the gear. Buying a much larger motor did not help, and I couldn’t find the motors that were shown in class.

I cut off the old gear teeth and then cut new ones:

I constructed the patented motor stand, as seen in Milo’s head, for the much larger 9-18V dc motor hoping that I could run it at a slower speed but still get the energy to push the gear. No such luck. I ended up having to run it a ridiculously high speed, making it nearly impossible to play the game, and instead rendering it as an artistic motion piece. Cutting the gears in this new way did in fact make it easier for the small gear to catch the large one, but also slowly tears away at the weak foam core, meaning that it can only be run a handful of times before the teeth grind away. Not only is it a physical motion art piece, but it is one that expresses the ephemeral nature of prototyping material.

In all seriousness, I think I have reached the limit of foam cores usefulness with motion. It doesn’t slide well (I ended up adding some cloth material underneath to try to alleviate some of this), it doesn’t rotate well, and is generally frustrating. I’m sure there are people who can do wonders with foam core, and I’d really like to meet them. But I think for the future I will either use wood or try to re-appropriate another device.

For completions sake, here’s the code:

int transistorPin = 11;
int motorCount = 0;

void setup()
{
Serial.begin(9600);

pinMode(transistorPin, OUTPUT);
}

void loop()
{

motorCount++;

if(motorCount < 2000) { analogWrite(transistorPin, 200); } } [/sourcecode]

Imran’s Exercise 5 – Fishy Game

Filed under: Exercise 5: Mechanical Movement,Imran Sobh — imranixd @ 12:04 am

My intention behind this project was to make a manual version of the wind-up fishy games of my youth. It ended up being a little more abstract, and not so easy to play. I tried to go with foam core again like my last project, as I got a little more comfortable cutting and gluing.

It’s not the ideal material, especially once things start moving. I had issues with making proper teeth for the gears, so I had to make those a few times. Once I had all proper pieces and support, I put the fins on the bottom, but the “fish” kept getting caught on them. Once I put tape on the bottom of the fish and also on the fins underneath, things were a little smoother, but still getting caught every once in a while.

The end result is a clunky fish game that you need a third person to crank the wheel in order to play:

Other photos 

Overall, I’ve learned a great deal but simply jumping in and trying shape things the way I want them, but I can’t help but feeling like I don’t have the right tools or that someone with more experience with foam core could probably teach me a lot quicker. I also would like to use the laser cutter so that I can be more experimental and not worry about ruining a gear that took me an hour to cut out.

October 5, 2007

Imran’s Exercise 4 – milo

Filed under: Exercise 4: Four State Machines,Imran Sobh — imranixd @ 1:11 am

The set-up
I made a mini-robot named milo. He has 2 eye LEDs, 4 stomach LEDs, a piezo sensor in the back of his head, a photosensor in his mouth, and a DC motor in the top of his head. Feed him light to give him energy, then let him release it through is propeller.

Sleep: In this state milo’s eyes glow faintly while he sleeps, if you open the back of his head and touch the piezo sensor he wakes up and goes to the arousal state.

Arousal: In this state milo is alert and blinking his eyes. If you leave him for too long he will go back to sleep, otherwise feed him light to get to the next state

Attract: In this state milo is filling up with the light you feed him as shown by the lights on his body. If you stop filling before the maximum amount, he drains the light and returns to the arousal state. Otherwise filling him to the maximum amount allows you to move on to the reward state.

Reward: You can only get to this state when milo is fully charged with light. Once he is full, if you press on the piezo in the back of his head, he will discharge the energy by spinning his head-propeller and return to the arousal state.

(more…)

September 19, 2007

Imran’s Exercise 3 – Fill Up

Filed under: Exercise 3: Four States,Imran Sobh,Students — imranixd @ 12:21 am

The idea behind my project is using light as a virtual energy source. Using a photosensor, I shine a bright light on it and have the row of LEDs light up as an energy meter. Based on the amount of “energy” you can power something, or simply have another LED light up as long as there is energy left.

I focused on getting the circuit and programming working for this part of the project. I have the four states as separate functions and just started stringing together some of the states to get the filling up behavior.

Sleep In terms of the four states, the first one is a fading LED that gives it a sense that it is alive, but in a dormant state, I might make it fade a little slower for the final one.

Arousal For the second state, the same LED is now blinking quickly to make it seem more alert and awake. In this state it’s now possible to “fill up” the circuit with energy.

Attract This is the filling up state, where the more you fill, the more energy you get.

Reward The final state flashes like crazy once the energy is full, there is another part to this where you can drain the energy, at first it was going to be an LED, but I wanted the output to be a different type of energy.

For part two, I will venture into using a motor in the reward state, I also need to make all the transitions between the states and decide what else will trigger what happens… as well as focus on creating a physical object for it to reside inside of.


// Fading LED
// by BARRAGAN <http:> </http:>

int value = 0;                            // variable to keep the actual value
int ledpin = 9;                           // light connected to digital pin 9
//int buttonPin = ;
int state = 2; // 1=sleep, 2=attract, 3=arousal, 4=award;

int ledMeter1 = 7;
int ledMeter2 = 6;
int ledMeter3 = 5;
int ledMeter4 = 4;

int outputLED = 3;

int photoPin = 2;

int photoVal = 0;
int gasoline = 0;

void setup()
{
Serial.begin(9600);
pinMode(ledpin, OUTPUT);

pinMode(ledMeter1, OUTPUT);
pinMode(ledMeter2, OUTPUT);
pinMode(ledMeter3, OUTPUT);
pinMode(ledMeter4, OUTPUT);

pinMode(photoPin, INPUT);
pinMode(outputLED, OUTPUT);
}

void loop()
{
photoVal = analogRead(photoPin);

//Serial.println(photoVal, DEC);
Serial.println(gasoline);

if(state == 1)
{
sleep();
}
else if (state == 2)
{
attract();
}
else if (state == 3)
{
arouse();
}
else if (state == 4)
{
reward();
}

}

void sleep()
{
for(value = 0 ; value <= 255; value+=5) // fade in (from min to max)
{
analogWrite(ledpin, value);           // sets the value (range from 0 to 255)
delay(30);                            // waits for 30 milli seconds to see the dimming effect
}
for(value = 255; value >=0; value-=5)   // fade out (from max to min)
{
analogWrite(ledpin, value);
delay(30);
}
}

void attract()
{
for(int i=0; i< 3;i++)
{
analogWrite(ledpin, 255);
delay(300);
analogWrite(ledpin, 0);
delay(300);
}

if(analogRead(photoPin) > 500 &amp;&amp; gasoline &lt; 100)
{
gasoline++;
}
arouse();

}

void arouse()
{
if(gasoline == 1) {digitalWrite(ledMeter1, HIGH);}
if(gasoline == 2) {digitalWrite(ledMeter2, HIGH);}
if(gasoline == 3) {digitalWrite(ledMeter3, HIGH);}
if(gasoline == 4 ) {digitalWrite(ledMeter4, HIGH);
state=4;}
/* delay(300);
digitalWrite(ledMeter2, HIGH);
delay(300);
digitalWrite(ledMeter3, HIGH);
delay(300);
digitalWrite(ledMeter4, HIGH);
/*
delay(600);

digitalWrite(ledMeter4, LOW);
delay(300);
digitalWrite(ledMeter3, LOW);
delay(300);
digitalWrite(ledMeter2, LOW);
delay(300);
digitalWrite(ledMeter1, LOW);
delay(600);*/

}

void reward()
{

digitalWrite(outputLED, HIGH);
digitalWrite(ledpin, 0);
delay(50);
digitalWrite(outputLED, LOW);
digitalWrite(ledpin, 255);
delay(50);

}

September 11, 2007

Imran’s Exercise 2 – Squishy Ball and Hot Coffee

Filed under: Exercise 2: Add a Switch,Imran Sobh,Students — imranixd @ 11:59 pm

For the first part of this exercise, I made a coffee cup that reacts to light. When you remove the cap it illuminates the cup so that you can see inside of it easier. For the future, I want a series of LEDs so you can see the liquid level using lights.

I used the code from the potentiometer example and made it so that two lights corresponded to a photocell that is implanted in the bottom of the cup.

For the second part, making a switch, I built off my previous soccer lamp. I used two pieces of metal embedded inside the soccer ball to allow the LEDs to switch states when the ball is squished together.

There were issues in getting the placement of the materials inside the ball so that it could withstand pressure but also not be so sensitive. The tether of wires makes it kind of clunky as a toy.

Next Page »

Blog at WordPress.com.