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: , , ,


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: , , , , , ,


Thursday, March 27, 2008

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: , ,


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: , , ,


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