Monday, May 5, 2008
final.videos.002
setup.photos.002
set.up.photos
final.videos.001
Friday, May 2, 2008
movment variations
Sunday, April 27, 2008
flexinol [more movement]
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: charles, led, rob, soundinput
Tuesday, April 1, 2008
midterm_boards
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: charles, flexinol, led, random, relay, rob, switch
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: charles, fabric, flexinol, rob, skin
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: charles, flexinol, relay, rob
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: aperiodic, charles, led, rob
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);
}
}
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);
}
}
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: charles, flexinol, relay, rob
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
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: arduino prototype 004, charles, flexinol, relay, rob
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.
//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: arduino prototype 003, charles, rob
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: arduino prototype 002, charles, flexinol, rob
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: arduino prototype 001, charles, photoresister, rob, switch
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: arduino prototype 001, charles, led, rob






















