As computing becomes more ubiquitous in our objects, designers need to be more aware of how to design meaningful interactions into electronically enhanced objects. At the University of Washington, a class of junior Interaction Design majors is exploring this question. These pages chronicle their efforts.
Showing posts with label kendall. Show all posts
Showing posts with label kendall. Show all posts

Friday, June 13, 2014

building the inner-housing (Charlotte and Kendall)

Once we had the essentials of our lamp functioning (coding, wiring, LEDS, sensor), we needed to figure out how to house these objects inside of the lamp that we bought. We sketched out a few ideas, and discussed possible materials and ways to construct this housing. In the end, we decided to laser-cut a sheet of acrylic to create our housing. This was the first time either of us had used the laser-cutter so it was a new experience for both of us. We used illustrator to create correctly-scaled templates, which we then put into Rhino to send to the laser-cutter. It was exciting watching the laser printer cut out the pieces, even though we had to make adjustments to our first attempt. We assembled the pieces, sanded down the acrylic, and spray-painted the housing to give it a clean look that matched the aesthetic quality of our lamp. Our housing had a hole at the top, to allow for the sensor to easily detect the color of an object. Using the laser-cutter and constructing part of our lamp ourselves, was an exciting hands-on experience.

LED blow-out (Charlotte and Kendall)

In the finishing stages of our project, we had the unfortunate experience of having our LED strip blow-out. We didnt neccesarily know how or why the lights had suddenly stopped working. We had to test out a lot of different things to figure out the cause of the issue. After talking to Dominic for over an hour, we tried re-doing the wiring, testing the power transistors, and buying new batteries.. but everything lead us to realize that something had gone wrong with the LEDs. Once we had figured this out, we thought that perhaps only the first set of LEDs had been burned out (somewhat comparable to christmas lights). Thus, we cut off the first strip of three LEDs off, and cut off another strip of three just to test if there were some surviing LEDs. We soldered these and to our relief, they easily turned on! This meant, that our whole strip wasn't dead..and we wouldn't have to rush-order new LEDs. We then soldered the remaining LED strip, and were able to move on to the physical building of our lamp's interior. Although this set us back time-wise, it was still a learning experience because we were more able to understand the relationship between LEDs in a strip and how they transfer power.. as well as gianing a bit more soldering experience.

powering the LEDs...portably (Charlotte and Kendall)

Kendall and I used RGB LED strips to light our lamp. These caused us a bit of confusion at first, as we were very unsure of how much power they needed and how they should be powered portably. We realized too late that we needed power transistors and had to order those after all our stuff had already come! Luckily, Adafruit was pretty clear on telling us what to do and what to buy (https://learn.adafruit.com/rgb-led-strips/usage). We went to Metrix to purchase transistors and were looking for the specific ones mentioned by Adafruit, which were impossible to find among the hundreds of unlabelled pieces they had. We even asked an employee and he had to admit that he really had no idea what the difference between certain types of transistors is. In the end we ordered the ones we wanted but also had a few random ones from Metrix as back-up. Luckily we figured out how to wire everything and our lights didn't blow out, at least not because of the transistors..

Wednesday, June 11, 2014

Stellio (Color-Selecting Lamp) (Charlotte and Kendall)

Charlotte and Kendall's Color-Selecting Lamp We created a lamp that changes color based on the color of an object that the user holds up to it. It utilizes an RGB sensor to detect the color and displays this color in the RBG LED strip. We purchased an ikea ceiling lamp and modified it to fit our purposes. We laser-cut a sheet of acrylic (which we then sanded and spray-painted white) to create an inner-housing for the arduino, breadboard and LEDs. The code for our lamp is as follows: #include #include "Adafruit_TCS34725.h" // Pick analog outputs, for the UNO these three work well // use ~560 ohm resistor between Red & Blue, ~1K for green (its brighter) #define redpin 3 #define greenpin 6 #define bluepin 9 // for a common anode LED, connect the common pin to +5V // for common cathode, connect the common to ground // set to false if using a common cathode LED #define commonAnode false // our RGB -> eye-recognized gamma color byte gammatable[256]; Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_16X); void setup() { Serial.begin(9600); Serial.println("Color View Test!"); if (tcs.begin()) { Serial.println("Found sensor"); } else { Serial.println("No TCS34725 found ... check your connections"); while (1); // halt! } // use these three pins to drive an LED pinMode(redpin, OUTPUT); pinMode(greenpin, OUTPUT); pinMode(bluepin, OUTPUT); // thanks PhilB for this gamma table! // it helps convert RGB colors to what humans see for (int i=0; i<256; i++) { float x = i; x /= 255; x = pow(x, 2.5); x *= 255; if (commonAnode) { gammatable[i] = 255 - x; } else { gammatable[i] = x; } //Serial.println(gammatable[i]); } } void loop() { //this is the sensor read code uint16_t clear, red, green, blue; tcs.setInterrupt(false); // turn on LED delay(60); // takes 50ms to read tcs.getRawData(&red, &green, &blue, &clear); tcs.setInterrupt(true); // turn off LED if (clear >= 10000){ Serial.print("C:\t"); Serial.print(clear); Serial.print("\tR:\t"); Serial.print(red); Serial.print("\tG:\t"); Serial.print(green); Serial.print("\tB:\t"); Serial.print(blue); // Figure out some basic hex code for visualization uint32_t sum = clear; float r, g, b; r = red; r /= sum; g = green; g /= sum; b = blue; b /= sum; r *= 256; g *= 256; b *= 256; Serial.print("\t"); Serial.print((int)r, HEX); Serial.print((int)g, HEX); Serial.print((int)b, HEX); Serial.println(); //Serial.print((int)r ); Serial.print(" "); Serial.print((int)g);Serial.print(" "); Serial.println((int)b ); analogWrite(redpin, gammatable[(int)r]); analogWrite(greenpin, gammatable[(int)g]); analogWrite(bluepin, gammatable[(int)b]); } // close of if }