Programmable t-shirt

    

 

Description

This is a programmable t-shirt that reproduces a light sequence in a form of a heart. User can program what sequence he/she wants and after a short amount of time the t-shirt will reproduce the saved sequence. This means that there are two different moments of interaction that combine together to produce an effect. Also, there is no limit of possible sequences, which means that there is no pre-programmed sequences. User has to “teach” the t-shirt how the light sequence will be displayed using a small button on the bottom of the t-shirt. If there is no interaction the t-shirt won’t reproduce anything in order to save power.

Process

Working on clothes with this kind of technology is really hard. First of all I had to come with an idea to friendly embed wires, arduino, external power source, battery, etc. Then I started thinking about the circuit and tried to figure out what materials I would need. After the tests using the breadboard, it comes the hardest part for me – soldering everything in a reasonable manner. The last thing I did was “the consolidation”, which means trying to embed a lot of stuff in the t-shirt, using a reformulation of the first idea.

Materials

The materials I used were: 2v external power source, battery, regular wire, luminescent wire, a button, resistors, a relay, the arduino and a t-shirt.

The circuit

The external power and the arduino are connected to the relay, in order to control when to power on the luminescent wire. Also, there is a button connected to a digital pin that works as an input in the system. 

Code

 

/*

Nuno Laginha

Making things interactive

Fall 2008

*/

 

int ledPin = 8;                // LED connected to digital pin 8

int button = 0;                // Button connected to analog pin 0

int val = 0;                   

int counter = 0;               // Variable to count the number of button clicks

boolean buttonDown = false;    // Button state

boolean isLightOn = false;     // Light state

int time = 1000;               // Time for programming

int myArray[20];               // List of delays

int crono = 0;                 // Variable for recent delay

int i = 0;                     // Control variable used in the Array

 

void setup()                    // run once, when the sketch starts

{

  pinMode(ledPin, OUTPUT);      // sets the digital pin as output

  pinMode(button, INPUT);       // sets the digital pin as input

  Serial.begin(9600);  

}

 

void loop(){                     // run over and over again

 

 while(time>0){                  // While time bigger than 0 keep reading inputs

 

    val = analogRead(button);

    val = val/4;

 

    if(val == 0){

 

 

      while(val == 0){

 

      val = analogRead(button);

      val = val/4;

 

      crono++;

 

      }

 

    myArray[i] = crono;          // Add recent delay to one of the items in the array list

    Serial.println(myArray[i]);

 

    crono=0;

    i++;                         

    counter++;                   // Increment one more click in the button

    }

 

    delay(10);                   // Regulates time

    time–;

 

  }

 

//When programming time is over and if there the button was clicked at least once, start reproducing sequence

    if(counter>0){

    Serial.println(“Executing”);

      for(i=0;i<20;i++){          // For each item in the Array

         if(myArray[i]>0){        // If the delay stored is higher than 0

 

         digitalWrite(ledPin, HIGH);

         delay(myArray[i]/10);    // Use the delay previously stored in one item of the Array list

         digitalWrite(ledPin, LOW);

         delay(myArray[i]/10);

 

        }

      }

    }

 

int f=0;                           

 

for(f=0;f<20;f++){                 // Clean up the Array

   myArray[f]= 0;  

}

 

i=0;                               // Start over the Array

counter=0;                         // Set button clicks to 0

time=1000;                         // Restart timer

 

}

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s