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
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
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: 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);
}
}
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