Emotional Lamp

Yifat Shaik Emotional Lamp


Project Details and video’s can be found here:
http://100daydrawings.wordpress.com/2012/10/11/emotional-lamp/

and now with a new video

 

 

Garlic Bulb fades into being.


Look, it blinks.

http://bustedsneakers.tumblr.com/post/33382882435/look-it-blinks

Code to make a thing that blinks:
http://pastebin.com/S207AaCd << good for a month.

What is happening here:

There is a button input, that makes the thing say “hello!” three times.

Then it does a cool fade effect, which can be set to a random interval. I’ve pre-set the intervals to be short initially, but they can be set longer.

Fun Things In This Code:

  • A reset button. These are the very devil to get working.
  • Functions called from outside the loop. Two!
  • Random numbers, which are always fun, to stimulate personification of cruel machine, but also to stop anyone but you from really knowing how long you’ve been working.
It would be useful to have a link/post/longread cut here, but there you go. How did this project come into being? Prototyping! How many hours did that take, and what did it involve?
Many, and a toolchain.
Here’s the toolchain:
In Rhino, my favourite 3D program (because it is the most intuitive to use), I created a triple-ellipse-cone shape. This took about fifteen seconds, and is by far the easiest part of the game.
From there, I imported the model into 123d Make. I used the Radial Slices setting and some custom calibration to generate the model to the right. 123d Make lets you export things to PDF, which I did, and then I tweaked them to make them more attractive in Illustrator. That took a while, and several variations. After I was done, I ran everything in through the laser again, and some of the acrylic slices worked. Many did not! This is because prototyping is expensive, and rapid prototyping is more expensive, faster.
After all of that was done, I assembled the thing and stuck it on top of an arduino, and went about writing the code. The code is more interesting than the actual fabrication process, which boils out to “keep making it until it looks like you want it to look.” I have better drawings now, and I would probably use Make again for a basis of a project.  It is still better to just measure your cuts by hand and draw them, though.
Here are some tips for cutting acrylic:
  • Don’t take the plastic wrapper off until you’re good and done. Acrylic scars up very readily.
  • Acrylic is inherently terribly flammable. Babysit it while you’re cutting.
  • Lasers quite frequently cut at different efficiencies at different places on their beds, so you may have to cut in small batches in a small area to get your slices to line up.
There! Simple, really. Requires some time investment, though, and it is super key to know what thickness of material you are planning to use.

 

Protected: Torin – Project 1: The Monstrometer De-Virtualized

This content is password protected. To view it please enter your password below:

Mind map mapper

http://whyyesihaveawebsite.com/mindmapmapper/concept.html Go there to see full documentation !

IMG 1071 from Lindy on Vimeo.

WORK BUDS

WORK BUDS have arrived! What are work buds you ask?

It’s desktop solution for chronic computing thats sweeping the nation (figuratively)!

Designed with your health and wealth in mind, work buds will kindly remind you to take a load off when you’ve been working for too long, keeping your mood up, and your fingers free of carpel tunnel!

Here it is in action.

Buy yours today for the great low price of $399.98, or make your own using the handy codes provided below!

What you’ll need:
– Work Buds Desktop Knick-Knack
– Arduino Uno
– Proximity Sensor
– Servo Motor
– Fishing Wire
– Hook-Up Wire
– USB Cable
– Electrical Tape
– Cardboard
– Patience
– Creativity

And thats it!

“AUTO HANGER” by YuxiWang

My project’s name is “Auto hanger”, which means the hanger can fall off or hide up according to the need. It’s simple, but it’s exactly what I need in the workspace.

So what’s the point of using automatic hanger? First of all, it can save space for sure. It won’t bother you if you don’t need it. Next, it won’t damage the appearance of the table. What’s more, sometimes people do not notice the hanger and some people cannot find the hanger, but auto hanger can fix these problems. Imaging when you sit down and you then can hear the mechanic sound made by the servo and there is a hanger appears. What an amazing thing!

Regarding to the procedure of my project, I think Kate has already elaborated last time. The principle is using the forcing sensor to control the servo’s angle. Next phase I am going to fix two problems. I will add one more sensor to detect if the hanger was used. If there is something on it, the hanger won’t take action until the stuff was taken away.

And if there is nothing hangs on the hanger, the hanger will hide up after 1min.

 

 

 

 

 

 

Hank’s individual project –

Hello everyone,

I am designing a robot cameraman … a simplified version.

 

I tried to use sound sensor at the very beginning of this project. However, sound sensor cannot tell Arduino where the sound comes from. Later I switched to IR sensor expecting that it can do distance calculation. It works pretty well. I also have to write a code for Arduino which is different from the one when sound sensor was attached.

Here is the code:

 

// Controlling a servo position using a IR distance censor

#include <Servo.h>
Servo hanksServo;                                  // create servo object to control a servo
int pos=0;                                         // variable to store the servo position
int servoPin = 9;                                 //set the motor to the digital pin 9
int IRpin = 1;                                    // analog pin for reading the IR sensor

void setup()
{
Serial.begin(9600);                             // start the serial port
hanksServo.attach(9);
}

void loop()
{
int dist = analogRead (IRpin);
int pos = map(dist, 0, 1023, 0, 180);

hanksServo.write(pos);
delay(100);                                     // arbitary wait time.
}

 

————————————————————————————————————————

Here is the link to my original idea:

PPT of my original idea

————————————————————————————————————————

Following is a video showing you how this robot cameraman actually work. In this video, a pen is attached to the servo, indicating the postion of a camera.

 

 

// the {de}Translation scarf

http://www.youtube.com/watch?v=cSybKs6vQ-Y&feature=g-upl

The scarf transforms the sounds from your environment into abstracted noise in your ear. The noises can be selected to reflect different emotions, allowing the user to choose how they hear the world around them.

The scarf can also amplify the noises of a person and broadcast them to the public, with varying emotional abstractions. The wearer can project intimidating noises, optimistic, somber, etc.

By wearing the scarf you maintain a connection to your environment, but the connection is abstracted. Conversation, for example, loses its meaning and is converted to emotive noises. The ambient sounds of the city become a reprogrammable soundscape of emotional abstractions.

The scarf can also be used to project the sounds from the wearers personal space, transformed by emotional inflictions. For example if you are walking home alone at night, you may want to project intimidating noises. If you are in love perhaps you would want to project warm happy noises.

The project is embodied as a scarf with a microphone on one end, two speakers in the hood, and an external speaker on the other end. This allows the user to choose how the scarf mediates their interaction with others.

Different experiences can be created by wearing the scarf in different ways. For example wearing the microphone end near your face amplifies the sound of your own breathing. Letting it hang down at your legs amplifies the sound of your gate as you walk.

The circuitry consists of an arduino, two speakers placed in the hood of the scarf, a third and louder external speaker, a mic and amplifier to sense sound, a switch to turn the external speaker on and off, and a dial to place different emotive filters on the sound.

// CODE

 

/*

The {de}Translation Scarf
Jackson McConnell
Creation and Computation
OCAD University

Created on [October 4th 2012]
(Modified on October 10th 2012)

Based on:
Arduino Cookbook by Michael Margolis example 9.1: Playing Tones
Arduino Cookbook by Michael Margolis example 6.7: Detecting Sound

Wiring:
The sketch recieves input from a mic into analog pin A0, and outputs
to three speakers from digital pin 9. Analog input from a potentiometer
at analog pint A1 is used to allow the user to dial through different
types of sound output.

*/
const int ledPin = 13;
const int middleValue = 512;
const int numberOfSamples = 50;
const int speakerPin = 9;
const int pitchPin = 0;
int sample;
long signal;
long averageReading;
int toneSwitch;

long runningAverage=0;
const int averagedOver= 16;

const int threshold=250; //noise threshold before the scarf will start to make noise

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

void loop(){

//first the sketch needs to calculate the average running amplitude
//of the sounds sensed through the mic, or else all we get is usless data.

long sumOfSquares = 0;
for(int i=0; i<numberOfSamples; i++){
sample = analogRead(0);
signal = (sample – middleValue);
signal *= signal;
sumOfSquares += signal;
}
averageReading = sumOfSquares/numberOfSamples;
runningAverage=(((averagedOver-1)*runningAverage)+averageReading)/averagedOver;

toneSwitch = analogRead(A1); //defines the values read from potentiometer

if((runningAverage>threshold) && (toneSwitch<341)){
digitalWrite(ledPin, HIGH);
int frequency = map(runningAverage, 0, 1000, 200, 400);
int duration = 200;
tone(speakerPin, frequency, duration);
}else if((runningAverage>threshold) && (toneSwitch<=682) && (toneSwitch>=341)){
digitalWrite(ledPin, HIGH);
int sensor0Reading = analogRead(pitchPin);
int frequency = map(sensor0Reading, 0, 1023, 100, 5000);
int duration = 200;
tone(speakerPin, frequency, duration);
}else if((runningAverage>threshold) && (toneSwitch>682)){
digitalWrite(ledPin, HIGH);
int frequency = map(runningAverage, 0, 1000, 0, 200);
int duration = 200;
tone(speakerPin, frequency, duration);
}else {
digitalWrite(ledPin, LOW);
}
Serial.println(toneSwitch);
}

 

// SKETCHES

 

// PROCESS VIDEOS

https://vimeo.com/51237130  //watch here