Monday, May 5, 2008

final.videos.002





Labels: ,


setup.photos.002










Labels: ,


set.up.photos











Labels: ,


final.videos.001






Labels: ,


Friday, May 2, 2008

movment variations

showing different variations of movements.
[thanks chie for compiling the video]



Labels: ,


Sunday, April 27, 2008

flexinol [more movement]

more movement by extending the length of flexinol wire. 

Labels: ,


Saturday, April 5, 2008

arduino.prototype_008_001 = led + sound input controlling behaviour

using sound input to control periodic and aperiodic behaviour

code:

long t;

int ledPin13 = 13;
int ledPin12 = 12;
int ledPin11 = 11;
int ledPin10 = 10;

//int inPin = 7;
//int val = 0;
int inSound = 2;
int val = 0;
int analogVal = 0;

boolean flex13 = false;
boolean flex12 = false;
boolean flex11 = false;
boolean flex10 = false;

int t13 = 6000;
int t12 = 3000;
int t11 = 6000;
int t10 = 3000;

int rndMin = 4000;
int rndMax = 8000;

int base13 = 6000;
int base12 = 3000;
int base11 = 6000;
int base10 = 3000;

int flexTime = 500;

void setup(){ 
  pinMode(ledPin13, OUTPUT);
  pinMode(ledPin12, OUTPUT);
  pinMode(ledPin11, OUTPUT);
  pinMode(ledPin10, OUTPUT);
  //Serial.begin(4800);
}

void loop(){
  
  //val = digitalRead(inPin);
  analogVal = analogRead(inSound);
  if (analogVal <=2){
    val = HIGH;
  }
  else
  {
    val = LOW;
  }
  
  t = millis(); 
  //Serial.println(analogVal);
  //delay(1000);
  
  if (t % t13 == 0){
    flex13 = true;
  }
  if ((t - flexTime) % t13 == 0){
    flex13 = false;
    if (val == LOW){
      t13 = int( random(rndMin,rndMax));
    }
    if (val == HIGH){
      t13 = base13;
    }
  }  
  if (t % t12 == 0 && t % (t12*2) != 0){
    flex12 = true;
  }
  if ((t - flexTime) % t12 == 0 && (t - flexTime) % (t12*2) != 0){
    flex12 = false;
    if (val == LOW){
      t12 = int( random((rndMin/2),(rndMax/2)));
    }
    if (val == HIGH){
      t12 = base12;
    }
  }
  if (t % t11 == 0){
    flex11 = true;
  }
  if ((t - flexTime) % t11 == 0){
    flex11 = false;
    if (val == LOW){
      t11 = int( random(rndMin,rndMax));
    }
    if (val == HIGH){
      t11 = base11;
    }
  }
  if (t % t10 == 0 && t % (t10*2) != 0){
    flex10 = true;
  }
  if ((t - flexTime) % t10 == 0 && (t - flexTime) % (t10*2) != 0){
    flex10 = false;
    if (val == LOW){
      t10 = int( random((rndMin/2),(rndMax/2)));
    }
    if (val == HIGH){
      t10 = base10;
    }
  }
  
  if (flex13 == true){
    digitalWrite(ledPin13, HIGH);
  }else{
    digitalWrite(ledPin13, LOW);
  }
  if (flex12 == true){
    digitalWrite(ledPin12, HIGH);
  }else{
    digitalWrite(ledPin12, LOW);
  }
  if (flex11 == true){
    digitalWrite(ledPin11, HIGH);
  }else{
    digitalWrite(ledPin11, LOW);
  }
  if (flex10 == true){
    digitalWrite(ledPin10, HIGH);
  }else{
    digitalWrite(ledPin10, LOW);
  }

}

Labels: , , ,


Tuesday, April 1, 2008

midterm_boards







































Labels: ,


Saturday, March 29, 2008

arduino.prototype_007c_002 = flexinol + skin + switch controlling behaviour

video close ups and code
 



long t;

int ledPin13 = 13;
int ledPin12 = 12;
int ledPin11 = 11;
int ledPin10 = 10;

int inPin = 7;
int val = 0;

boolean flex13 = false;
boolean flex12 = false;
boolean flex11 = false;
boolean flex10 = false;

int t13 = 6000;
int t12 = 3000;
int t11 = 6000;
int t10 = 3000;

int rndMin = 4000;
int rndMax = 8000;

int base13 = 6000;
int base12 = 3000;
int base11 = 6000;
int base10 = 3000;

int flexTime = 500;

void setup(){ 
  pinMode(ledPin13, OUTPUT);
  pinMode(ledPin12, OUTPUT);
  pinMode(ledPin11, OUTPUT);
  pinMode(ledPin10, OUTPUT);
}

void loop(){
  
  val = digitalRead(inPin);
  t = millis(); 
  
  if (t % t13 == 0){
    flex13 = true;
  }
  if ((t - flexTime) % t13 == 0){
    flex13 = false;
    if (val == LOW){
      t13 = int( random(rndMin,rndMax));
    }
    if (val == HIGH){
      t13 = base13;
    }
  }  
  if (t % t12 == 0 && t % (t12*2) != 0){
    flex12 = true;
  }
  if ((t - flexTime) % t12 == 0 && (t - flexTime) % (t12*2) != 0){
    flex12 = false;
    if (val == LOW){
      t12 = int( random((rndMin/2),(rndMax/2)));
    }
    if (val == HIGH){
      t12 = base12;
    }
  }
  if (t % t11 == 0){
    flex11 = true;
  }
  if ((t - flexTime) % t11 == 0){
    flex11 = false;
    if (val == LOW){
      t11 = int( random(rndMin,rndMax));
    }
    if (val == HIGH){
      t11 = base11;
    }
  }
  if (t % t10 == 0 && t % (t10*2) != 0){
    flex10 = true;
  }
  if ((t - flexTime) % t10 == 0 && (t - flexTime) % (t10*2) != 0){
    flex10 = false;
    if (val == LOW){
      t10 = int( random((rndMin/2),(rndMax/2)));
    }
    if (val == HIGH){
      t10 = base10;
    }
  }
  
  if (flex13 == true){
    digitalWrite(ledPin13, HIGH);
  }else{
    digitalWrite(ledPin13, LOW);
  }
  if (flex12 == true){
    digitalWrite(ledPin12, HIGH);
  }else{
    digitalWrite(ledPin12, LOW);
  }
  if (flex11 == true){
    digitalWrite(ledPin11, HIGH);
  }else{
    digitalWrite(ledPin11, LOW);
  }
  if (flex10 == true){
    digitalWrite(ledPin10, HIGH);
  }else{
    digitalWrite(ledPin10, LOW);
  }

}

Labels: , , , , , ,


Friday, March 28, 2008

arduino.prototype_007 = skin

arduino.prototype_007a = skin try_001
this is our first try at attaching a skin onto the wires



arduino.prototype_007b = LEDs with a switch controlling periodic and aperiodic behaviour



arduino.prototype_007c = flexinol + skin + switch controlling periodic and aperiodic behaviour 


Labels: , , , ,


Thursday, March 27, 2008

arduino.prototype_006 = multiple flexinol wires

prototype_006a = multiple flexinol wires at periodic movement



prototype_006b = multiple flexinol wires at aperiodic movement
(one of our flexinol wire broke)

Labels: , , ,


arduino.prototype_005b = LEDs in aperiodic sequence


long t;

int ledPin13 = 13;
int ledPin12 = 12;
int ledPin11 = 11;
int ledPin10 = 10;

boolean flex13 = false;
boolean flex12 = false;
boolean flex11 = false;
boolean flex10 = false;

int t13;
int t12;
int t11;
int t10;

int flexTime = 1500;

boolean turbulence = true;

void setup(){ 
  pinMode(ledPin13, OUTPUT);
  pinMode(ledPin12, OUTPUT);
  pinMode(ledPin11, OUTPUT);
  pinMode(ledPin10, OUTPUT);
}

void loop(){
  t = millis(); 

  if (turbulence == true){
    t13 = 4000;
    t12 = 2250;
    t11 = 4500;
    t10 = 2750;
  }else{
    t13 = 4000;
    t12 = 2000;
    t11 = 4000;
    t10 = 2000;
  }
  
// set pacing value for each pin 
  
  if (t % t13 == 0){
    flex13 = true;
  }
  if ((t - flexTime) % t13 == 0){
    flex13 = false;
  }  
  if (t % t12 == 0 && t % (t12*2) != 0){
    flex12 = true;
  }
  if ((t - flexTime) % t12 == 0 && (t - flexTime) % (t12*2) != 0){
    flex12 = false;
  }
  if (t % t11 == 0){
    flex11 = true;
  }
  if ((t - flexTime) % t11 == 0){
    flex11 = false;
  }
  if (t % t10 == 0 && t % (t10*2) != 0){
    flex10 = true;
  }
  if ((t - flexTime) % t10 == 0 && (t - flexTime) % (t10*2) != 0){
    flex10 = false;
  }
  
// set value for each pin  
  
  if (flex13 == true){
    digitalWrite(ledPin13, HIGH);
  }else{
    digitalWrite(ledPin13, LOW);
  }
  if (flex12 == true){
    digitalWrite(ledPin12, HIGH);
  }else{
    digitalWrite(ledPin12, LOW);
  }
  if (flex11 == true){
    digitalWrite(ledPin11, HIGH);
  }else{
    digitalWrite(ledPin11, LOW);
  }
  if (flex10 == true){
    digitalWrite(ledPin10, HIGH);
  }else{
    digitalWrite(ledPin10, LOW);
  }

}

Labels: , , ,


Tuesday, March 25, 2008

arduino.prototype_005 = LEDs in separate time

We still have not received the Flexinol yet, so we have focused on the code for this particular prototype with LED lights. 

We were attempting to have the LED lights to go on and off at different rates, allowing for outputs going from synchronized to a more chaotic pattern.

Once the Flexinol is arrived, we will swap the circuit with the one from Prototype 4, where we have connected a series of relays with individual outputs and the LEDs to flexinol wire.




int ledPin13 = 13;
int ledPin12 = 12;
int ledPin11 = 11;

long t;

void setup()
{pinMode(ledPin13, OUTPUT);
pinMode(ledPin12, OUTPUT);
pinMode(ledPin11, OUTPUT);
}

void loop()
{
  t = millis();
  
  if (t % 1000 == 0){
  digitalWrite(ledPin13, HIGH);
  }else{
  digitalWrite(ledPin13, LOW);
  }
  if (t % 2000 == 0){
  digitalWrite(ledPin12, HIGH);
  }else{
  digitalWrite(ledPin12, LOW);
  }
  if (t % 3000 == 0){
  digitalWrite(ledPin11, HIGH);
  }else{
  digitalWrite(ledPin11, LOW);
  }
}


Labels: , ,


ardiuno.prototype_004 = flexinol wire + relay [DIAGRAM + VIDEO]

ardiuno.prototype_004 = flexinol wire + relay [DIAGRAM + VIDEO]
here is the diagram for 1 input + 1 output + 1 relay








here is the diagram for 3 input + 3 output + 3 relay
























here is the video for 1 input + 1 output + 1 relay


Labels: , , ,


Tuesday, March 11, 2008

arduino.prototype_004 = flexinol wire + relay

arduino.prototype_004_a = flexinol wire + 1 relay

our first prototype utilizing a relay to provide more power to flexinol wire, this first prototype uses only one relay to test out the circuit to make sure its working.

















arduino.prototype_004_b = 3 flexinol wires + 3 relay + 3 input
after successfully getting the relay to work, we have now added two more relay to drive two more flexinol wires. as of right now, all three flexinol wires have seperate input, later prototypes will incorporate these into one single input

















//Flexinol_with_relay 20080311_LivingArchitecture
int ledPin2 = 2;
int ledPin4 = 4;
int ledPin6 = 6;

void setup()
{pinMode(ledPin2, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin6, OUTPUT);}

void loop()
{
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin6, HIGH);
delay(3000);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin6, LOW);
delay(3000); }


note: video and a clearer circuit diagram to come, and it for the next series of prototypes we intend to combine these multiple inputs into one single input, possibily testing with a simple switch, then moving of to different types of inputs

Labels: , , , ,


Tuesday, February 26, 2008

ardiuno.prototype_003

The following prototypes are experiments in the idea of multiple inputs and multiple outputs.
For example,
Single input for multiple outputs
Multiple inputs for corresponding multiple outputs
These prototypes are an extension of the past prototype with the flexinol wire. It is our hope to be able to switch out these LEDs
and plug in the flexinol wire instead; therefore, these circuits are built in the same schematic as it would be for the flexinol wire.
We also intent to integrate switches and photoresisters to the next series of prototype, so the movement of the flexinol wire can be calibrated.
ardiuno.prototype_003a = single blinking LED
//LED001 20080226_LivingArchitecture
int ledPin = 13;
void setup()
{pinMode(ledPin, OUTPUT);
}
void loop()
{
  digitalWrite(ledPin, HIGH);
  delay(3000);
  digitalWrite(ledPin, LOW);
  delay(3000);
  
}
ardiuno.prototype_003b = 3 blinking LEDs
//LED002 20080226_LivingArchitecture
int ledPin13 = 13;
int ledPin12 = 12;
int ledPin11 = 11;
void setup()
{pinMode(ledPin13, OUTPUT);
pinMode(ledPin12, OUTPUT);
pinMode(ledPin11, OUTPUT);
}
void loop()
{
  digitalWrite(ledPin13, HIGH);
  delay(1000);
  digitalWrite(ledPin13, LOW);
  delay(1000);
    digitalWrite(ledPin12, HIGH);
  delay(1000);
  digitalWrite(ledPin12, LOW);
  delay(1000);
  
    digitalWrite(ledPin11, HIGH);
  delay(1000);
  digitalWrite(ledPin11, LOW);
  delay(1000);  
}


//LED003 20080226_LivingArchitecture
int ledPin13 = 13;
int ledPin12 = 12;
int ledPin11 = 11;
void setup()
{pinMode(ledPin13, OUTPUT);
pinMode(ledPin12, OUTPUT);
pinMode(ledPin11, OUTPUT);
}
void loop()
{
  digitalWrite(ledPin13, HIGH);
  digitalWrite(ledPin12, HIGH);
  digitalWrite(ledPin11, LOW);
  delay(1000);
  digitalWrite(ledPin13, LOW);
  digitalWrite(ledPin12, LOW);
  digitalWrite(ledPin11, HIGH);
  delay(1000);

Labels: , ,


Tuesday, February 19, 2008

ardiuno.prototype_002a = Flexinol Wire

ardiuno.prototype_002a = Flexinol Wire



int ledPin = 13;

void setup()
{pinMode(ledPin, OUTPUT);

}

void loop()
{
  digitalWrite(ledPin, HIGH);
  delay(3000);
  digitalWrite(ledPin, LOW);
  delay(3000);
  
}

Labels: , , ,


ardiuno.prototype_001d/e = blinking LEDs with switch / sensor

This first video shows LED with an on/off switch




//Blinking LED 20080217_LivingArchitecture with Button

int ledPin = 13;
int inPin = 7;

int val = 0; 


void setup(){
pinMode(ledPin, OUTPUT);
pinMode(inPin, INPUT);
 
}

void loop(){
   val = digitalRead(inPin);
   
   if (val == HIGH) {
     digitalWrite (ledPin, LOW);
   }
   else{
     digitalWrite (ledPin, HIGH);
     delay (200);
     digitalWrite(ledPin, LOW);
     delay (1000);
   }
}

This video shows the LED's on/off rate responding to the value from photo-resistor
//20080219_Light Sensitive LED

int val = 0;

void setup(){
  pinMode(13, OUTPUT);
}

void loop(){
val = analogRead(0);

digitalWrite(13,HIGH);
delay (val);

digitalWrite(13,LOW);
delay (val);

}

Labels: , , , ,


Saturday, February 16, 2008

ardiuno.prototype_001 = blinking LEDs

these are our first prototypes with ardiuno microcontroller.

a. single blinking LED
//Blinking LED 20080216_LivingArchitecture

int ledPin = 13;

void setup()
{pinMode(ledPin, OUTPUT);

}

void loop()
{
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
  
}

b. dual blinking LEDs


//Blinking LED 20080216_LivingArchitecture

int ledPin13 = 13;
int ledPin7 = 7;

void setup()
{pinMode(ledPin13, OUTPUT);
pinMode(ledPin7, OUTPUT);

}

void loop()
{
  digitalWrite(ledPin13, HIGH);
  delay(1000);
  digitalWrite(ledPin13, LOW);
  delay(1000);
  
  
  digitalWrite(ledPin7, HIGH);
  delay(1000);
  digitalWrite(ledPin7, LOW);
  delay(1000);
  
}

c. dual blinking LEDs in alternate sequence

//Blinking LED 20080216_LivingArchitecture

int ledPin13 = 13;
int ledPin7 = 7;

void setup()
{pinMode(ledPin13, OUTPUT);
pinMode(ledPin7, OUTPUT);

}

void loop()
{
  digitalWrite(ledPin13, HIGH);
  digitalWrite(ledPin7, LOW);
  delay(1000);
  digitalWrite(ledPin13, LOW);
  digitalWrite(ledPin7, HIGH);
  delay(1000);
}

Labels: , , ,


Tuesday, February 12, 2008

research.proposal.001

Labels: , ,


This page is powered by Blogger. Isn't yours?