Friday, December 16, 2011

509_Smartsurface_Great Presentation!!

Final Presentation is here, click to see


Wire circuit_make it yourself

The left one is the digital thermometer, and the right one is the relay part to control the heater. Left part talk to right part through xbee. PIR sensor, temperature sensor, rotary encoder, LCD, learning code have all been integrated into the left unit. Works successfully!Great!

During the last three weeks, we upgrade our model three times from regular LEDs to RGB LEDs then finally to LCD. We get everything works well just right before 12:00, the presentation day~ Great Jobs!

Love to work with Ted & Alex. Every sleepless night is happy and fruitful because of all you guys! So so so much love to you guys. So so so much love to SmartSurface Studio. On the way to be a hi-tech girl~

Tuesday, December 6, 2011

508_Smartsurface_Scale it up?!

I prefer to use small RGB leds but because of the budgets and delivery time limitation, our group compromised to use "giant" RGB leds (they are free).

Top piece (suppose it is a piece of wall)

Widgets (to have better light effect)


Light effect

Monday, December 5, 2011

507_3_Smartsurface_Video show



For the interface design, I use potentiometer (convenient to integrated with relay part) to control LEDs in order to show the gradient. Potentiometer converts voltage (0-5V) to a digital number between 0-1024. Therefor, if we want to control a serial of LEDs to turn on and remain turn on, we should assign each of them to specific number range.So if one condition (certain number range input from potentiometer) reached, the led will be turn on untill the condition disappear (poterntiometer move away from one range). 

Below is the code I wrote:

int sensorPin = 0;    
int ledPin1 = 1;     
int ledPin2 = 2;
int ledPin3 = 3;     
int ledPin4 = 4;
int ledPin5 = 5;     
int ledPin6 = 6;
int ledPin7 = 7;
int ledPin8 = 8;     
int ledPin9 = 9;     
int ledPin10 = 10;
int ledPin11 = 11;     
int ledPin12 = 12;
int sensorValue = 0;

void setup() {
   pinMode(ledPin1, OUTPUT);  
   pinMode(ledPin2, OUTPUT);  
   pinMode(ledPin3, OUTPUT); 
   pinMode(ledPin4, OUTPUT); 
   pinMode(ledPin5, OUTPUT);  
   pinMode(ledPin6, OUTPUT);  
   pinMode(ledPin7, OUTPUT); 
   pinMode(ledPin8, OUTPUT); 
   pinMode(ledPin9, OUTPUT);  
   pinMode(ledPin10, OUTPUT);  
   pinMode(ledPin11, OUTPUT); 
   pinMode(ledPin12, OUTPUT); 
void loop() {
   int threshold1 = 1020;
  if(analogRead(sensorPin) < threshold1){
    digitalWrite(ledPin1, HIGH);}
    else{ digitalWrite(ledPin1, LOW);}
    int threshold2 = 938;
  if(analogRead(sensorPin) < threshold2){
    digitalWrite(ledPin2, HIGH);}
    else{ digitalWrite(ledPin2, LOW);}
        int threshold3 = 853;
  if(analogRead(sensorPin) < threshold3){
    digitalWrite(ledPin3, HIGH);}
    else{ digitalWrite(ledPin3, LOW);}
            int threshold4 = 768;
  if(analogRead(sensorPin) < threshold4){
    digitalWrite(ledPin4, HIGH);}
    else{ digitalWrite(ledPin4, LOW);}
  int threshold5 = 683;
  if(analogRead(sensorPin) < threshold5){
    digitalWrite(ledPin5, HIGH);}
    else{ digitalWrite(ledPin5, LOW);}
    int threshold6 = 598;
  if(analogRead(sensorPin) < threshold6){
    digitalWrite(ledPin6, HIGH);}
    else{ digitalWrite(ledPin6, LOW);}
        int threshold7 = 512;
  if(analogRead(sensorPin) < threshold7){
    digitalWrite(ledPin7, HIGH);}
    else{ digitalWrite(ledPin7, LOW);}
         int threshold8 = 427;
  if(analogRead(sensorPin) < threshold8){
    digitalWrite(ledPin8, HIGH);}
    else{ digitalWrite(ledPin8, LOW);}
         int threshold9 = 342;
  if(analogRead(sensorPin) < threshold9){
    digitalWrite(ledPin9, HIGH);}
    else{ digitalWrite(ledPin9, LOW);}
    int threshold10 = 257;
  if(analogRead(sensorPin) < threshold10){
    digitalWrite(ledPin10, HIGH);}
    else{ digitalWrite(ledPin10, LOW);}
        int threshold11 = 172;
  if(analogRead(sensorPin) < threshold11){
    digitalWrite(ledPin11, HIGH);}
    else{ digitalWrite(ledPin11, LOW);}
            int threshold12 = 87;
  if(analogRead(sensorPin) < threshold12){
    digitalWrite(ledPin12, HIGH);}
    else{ digitalWrite(ledPin12, LOW);}

E-circuit of LEDs

Put revised model in, just fit! (the support piece last week is smaller for LED to embedded in, I redo them~)

Light it up!!

Light effect


507_1_Smartsurface_Learning_Heated up


RGB control

Tuesday, November 22, 2011

506_2_Smartsurface_Assembly process

On the way for the final push~
This week, we finished "read" part and 1st version of the final product.For now, 70% of the technique part has been finished. But the rest 30% is the most tough part--integration. 

For the interface design, I am thinking about combine all parts together into one. No exposed messy wires and breadboard. Mini arduino will be used and the smaller, the better. For the model this week, some elements are not easy to match.Like the LED is not easy to fit into the piece. Make it look elegant of course for the 2nd version~ 

506_1_Smartsurface_Interface design

Cut sheet

Align RGB LED piece *16

 Embed rotary encoder

Final effect