Maker Faire came to Queens, New York last weekend. I had some fun with 3D printing, arduino and robots over there.
1. First project to comment on... well it's not actually a project. It's the new technology of 3D printing that virtually can make any kind of shape out of plastic and metal. I was amazed by how much this technology has widened designer's choice of ideas. From now on no matter how complex your form is, it's possible to realize it without joints welding or glue. I enjoyed it especially since most of my designs take organic forms. The technology is best for skeletony forms or anything that has layers or internal structures.
2. This is a 3D printer that prints with any kind of jelly-like material. May it be chocolate, joint compound, tooth paste, or ice (the creater said so, I've no idea how that's possible though).This design takes 3D printing into daily life. How cool it is to eat some home-made peanut butter robots?
3. This wearable technology thing grabbed my eyes instantly. It detects your heartbeat + sweat from your middle finger, which tells if you are telling "truth" or "lie". Even though the designer didn't explained it to me, I'm guessing the big red heart sewed on the T-shirt syncs with the hearbeats. What can it do? Well I think first it's very interesting to express one's feelings through live data visualization, and second, anything that glows and blinks on your shirt is simply awesome.
Power Leap New comers in green energy, their idea to harvest energy through footfall was quite impressive! Almost a déjà vu, probably because it makes so much sense… seems like it should be on the market already! Everywhere! There is more info here: http://www.powerleap.net
Amazing addition to the open source world! Zach Lieberman and his team give Tony Quan the chance to be able to do his art while laying in bed, paralyzed. The Eye Writer!!!!!!! What to say, amazing! The funny thing is that I didn’t know he was the Zach teaching at Parsons! Just check out the little video I did, he will explain the project a lot better then me! Good lesson on how to present a project in two minutes as well ☺ Enjoy! More on his project can be find here: http://www.eyewriter.org/
Had a lot of fun at this event, there were so many great projects. A project that really stuck out to me was 4MP, which happened to be located right next to Yury's booth. This was a lot of fun. Four pullies hooked up to a MAXmsp program. Pulling the ropes made one of four sounds, and the speed at which they were pulled controlled the volume.
Heres a shot of Lara and I making beats, Liz wanted to join in but she gratefully took this photo, Thanks!
Anyway this was a great way to get involvement from a user, and create a very recieptive interface that was really fun.
Moving forward with the visual theremin I used the wire wrapping technique to try to make my circuit cleaner. After doing that I decided to make it so that based on how much light is going into the light sensor it will change different as it did before. in the first iteration when there was no light the lights would go off, I decided to reverse that. Once the prototype was made I received pretty useful interaction which I plan on using to move this project forward. Most notably moving away from the light sensor. That and also using multiple sensors to create more of a game like atmosphere while using the object.
It became apparent that the light sensor is not the most effective way to give off the idea that the user has control, in essence they truly don’t, they just need to effect the shadows that affect the light sensor. I have ordered some IR sensors and some microphone sensors to use to play with the different types of interaction that will happen. I think this will help make the interaction more meaningful even though it is pulling away from the theremin. I do feel that it will make a more playful interaction by having people yell at this enclosure to create different light patterns.
Here is my design for the "fading LED" assignment. The goal of this design is to make a Chinese to-go box light up whenever you use chopsticks correctly. This design aims to teach kids/people using chopsticks. The only way to light up the to-go box (which says "Yummy") is to connect the tips of the two chopsticks. I am using three LEDs in red, green and blue. The three LEDs fade in different speed, so they cast shadows of the "Yummy" in a dynamic way.
Yury brought up in class that one might "cheat" when using it. Some ways to prevent cheatings are: 1. tie the ends of the chopsticks 2. examine the proximity of the tips 3. have an adult watching. But I think this is a learning tool that's for anyone who really wants to learn, cheating might not be the biggest problem. Maybe I can think about using the single hand as a conductor, though.
One thing that I''m thinking about is that, how to make the chopsticks "free to move"? It means not having wires connect chopsticks to the arduino board. Using wireless is one option, but the smallest wireless receiver that I can find at NYU store is still a little too big.
Working on it. More to come soon..
Here is the code:
// Shan Liu // Assignment: to design something that uses fading LEDs. // Project name: Yummy: how to use chopsticks. // Physical Computing, prof. Yury Gittman // Oct. 1st, 2010
// Assign three pins to control three LEDs. #define LED 9 #define LEDd 3 #define LEDc 5 // Assign one pin to control one button. #define Button 7
// setting up integers that can help determine the human interaction state. int val = 0; int old_val = 0; int state = 0; //boolean 0 = LED off; 1 = LED on.
// set the initial brightness of the LEDs. int brightness1 = 128; int brightness2 = 128; int brightness3 = 128;// "brightness" stores the brightness value // I don't quite understand what "unsigned long" does. unsigned long startTime = 0;
void setup(){ // pins that control LEDs are outputs while the one that controls button is input. pinMode(LED, OUTPUT); pinMode(LEDc, OUTPUT); pinMode(LEDd, OUTPUT); pinMode(Button, INPUT); }
void loop(){
val = digitalRead(Button); //digitalRead detects if button is pushed.
if ((val == HIGH)&&(old_val == LOW)){ // HIGH means pressed or "1". and LOW means not pressed or "0". state = 1- state; startTime = millis(); // startTime records how many millisecons have passed since the board was reset. delay(10); // "delay" prevents the LEDs flash like crazy. It slows the process down. // Because the process is kind of time-based. It counts millisecons in order to proceed to the next step. }
if ((val == HIGH) && (old_val == HIGH)) { // check if the button is being held down. if (state == 1 && (millis() - startTime)>500){ // if button was pressed long enough. // Three LEDs are taking brightness at different value, which means they fade at different speeds. brightness1 = brightness1+1; brightness2 = brightness2+2; brightness3 = brightness3+3; delay(20);
// If the brightness value exceeds 255(the brightest a LED can be), it goes back to 0(LED turns off).
if (brightness1 > 255) { brightness1 = 0; } if (brightness2 > 255) { brightness2 = 0; } if (brightness3 > 255) { brightness3 = 0; } }
} old_val = val; // because Arduino is running through this loop over and over again, the val constantly becomes old_val // after each loop.
// this means two things: 1. if LED was off(old_val==LOW), and button is pressed(val==HIGH), then turn LED on. // 2. if LED was on(old_val==HIGH, because old_val=val), and buttons is pressed(val=HIGH), then turn
// from here on it deals with LED (visual stuff). if (state == 1){ analogWrite(LEDd, brightness1); analogWrite(LED, brightness2); analogWrite(LEDc, brightness3); } else{ analogWrite (LED, 0); analogWrite (LEDd, 0); analogWrite (LEDc, 0);
One project that stuck out to me that required interaction a piece that required users to jump on pads and based on their jumping it fed power into certain objects. You could also read on a monitor how much power you were actually generating based on your jumps.
A second project I found to be pretty cool was a sort of analog jukebox. Created with an arduino and various objects that were inside of this wooden box would make specific sounds based on a predetermined pattern. You could however remove and place different types of objects into a metal bowl of sorts to make different noises. This piece stuck out to me because I am interested in physical computing however the user interaction wasn’t as apparent as the jumping power mat because it wasn’t as obvious that that could be done. The creator would explain that you could do it.
This is an ambient ligt built with arduino, a lihht sensor, and 4 colored LEDs.
The lamp reacts tot he amount of light by dimming the for leds in cycles. The speed at which these cycles happen is controlled by the amount of light registered by the sensor ( dark= faster cycles||Light = Slower cycles).
For my ambient lighting project, I created a slowly illuminating alarm clock. The purpose of this isn't to wake up the user, but rather to get them out of the house within a certain amount of time after waking up, which always seems to be a problem in the mornings.
The housing was constructed of lasercut acrylic triangles, which I backpainted with opaque paint so that the light could only come through the cut-out letters. The LEDs were mounted on the same level as the letters, and some very low-tech tissues were used as a diffuse layer between the LEDs and the letters. The whole thing was covered in paper so that the letters only show up when they glow through.
A short video demonstrating it is here:
CODE
//Caitlin Morris
//Ambient Lighting Project //Rev 1.0
// initialize the two LEDs and the photoresistor (called inPin) int ledPin = 9; int ledPin2 = 8; int inPin = 1;
// inputThreshold is the value at which light is clearly different from dark; can be changed based on room conditions int inputThreshold = 100; // determine whether or not there has been a change in state with a boolean boolean wasBright = false; // baseTime is the counter that starts when brightness is read unsigned long baseTime; // slowFadeTime is the amount of time for slow fade up unsigned long slowFadeTime = 30 * 1000; // pulseTime is the amount of time for the quick end pulse int pulseTime = 5 * 1000; // pulseSpeed is the modulus control for how quickly the LED pulses int pulseSpeed = 100; // This is the analog-write brightness of the lights int maxLedBrightness = 128;
// declare your lights and sensor as input / output void setup(){ pinMode(ledPin, OUTPUT); pinMode(ledPin2, OUTPUT); pinMode(inPin, INPUT); digitalWrite(inPin, HIGH); }
void loop(){ // starts a counter for time since the board is turned on unsigned long absoluteTime = millis();
//if the value of the sensory is greater than the bright threshold, the light turns on boolean isBright = analogRead(inPin) > inputThreshold; // if it was dark and becomes bright, the counter records the time if(isBright && !wasBright){ baseTime = absoluteTime; } // reset to current state wasBright = isBright;
// this value takes the different between the start time of running and the start time of being bright unsigned long relativeTime = absoluteTime - baseTime; if(isBright){ // if it's within the designated slow fade time, slowly fade up the LEDs to full value over that time if(relativeTime < slowFadeTime){ // remap the maximum time to the brightness of the LEDs int fadeVal = map(relativeTime, 0, slowFadeTime, 0, maxLedBrightness); ledSet(fadeVal); // if it's after the slow fade time but still within the pulse time, pulse the LEDs } else if(relativeTime < slowFadeTime + pulseTime) { int fadeVal = map((relativeTime - slowFadeTime) % pulseSpeed, 0, pulseSpeed, 0, maxLedBrightness); ledSet(fadeVal); //if it's after both time periods, turn off the LEDs } else { ledSet(0); } // if it's dark, keep the LEDs off } else { ledSet(0); } }
// this is the function that turns on the LEDs according to the int fadeVal, declared above void ledSet(int fadeVal) { analogWrite(ledPin, fadeVal); analogWrite(ledPin2, fadeVal); }
For this project I have set up a group of ping pong balls to become a playful visual instrument. The idea is to have a user go up to it and play creating a visual orchestra of lights. This would be primarily be used by anyone who is interested in interaction pieces. I try to think of this is a visual theremin as as opposed to an auditory one.
Recent Comments