Introduction: Fiber Optic Fabric Body Structure

This is about making your own garment from Fiber Optic Fabric that reacts to sound. It's not an exact science, more guidelines to get you to a design that you like.

Step 1: Materials

To start, here are the materials:

Fiber Optic Fabric (http://www.kr4.us/Fiber-Optic-Fabric-Black-40x75-c... )

3 Watt High Power LED with Heat Sink (http://tinkersphere.com/standard-leds/1375-3-watt-... )

(how many depends on how many pieces you decide to split the fabric into, I used 4)

Heat Shrink Tubing

Arduino Pro Micro

Microphone

Wires

5 Volt Rechargeable Battery

Cable to Connect Battery to Micro Controller

~ .5 yards non stretch fabric (I used faux leather)

Thread

2 Buckles

1 zipper

2 Part Epoxy

.75 inch Black Duct Tape or Electrical Tape


Step 2: Prepping the Fabric

This fabric frays like crazy! The best way to deal with it is to serge or pearl stitch all the exposed edges.

I cut my Fiber Optic Fabric into 3 equal pieces and then used two which I further cut into strips, but only down to where the fibers come out of the fabric and are bunch together. Once you cut the fabric apart, you'll have to re-bundle the fibers using heat shrink tubing. It's easiest to twist the fibers together, tape them, then slide the heat shrink on and remove the tape. I found a hairdryer worked just fine.

Step 3: Draping the Fabric

Now you can start draping on the dress form - be careful not to crease the fabric sharply on the cross grain because it could damage the fibers. When draping, keep in mind all the hardware you will be adding so keep the ends of the fabric near the waist or hips to allow you to later make a pouch to hold it all in.

Step 4: Sewing the Fabric

I sewed this piece together completely by hand - it's best sewn on the dressform I found because the fabric has a lot of body and is liable to shift out of position easily. It's also more precise and you don't have to worry about sewing through the wrong layers. Use a double thread in a neutral color (grey fades in to the fabric pretty nicely) and stitch or tack down everywhere that need to be attached.

Step 5: Adding the LEDs, Microphone, & Code

Now your piece is sewn together, it's time to add the LEDs. The LEDS need to be attached as directly as possible to the bundled ends of the fibers. Make sure all the fibers are cut to the same length. Then mix your epoxy and one at a time, add the LEDS to the fabric.

These LEDs used are very high wattage, but we don't need any resistors for them, because we have four of them! So just solder the two positive pads to wires, and the two negative pads to wires. Then connect them to a mini breadboard, and connect the positive pins of the micro to the digital input pins via the breadboard, from 12 - 4.

Then, connect the mic pins to the breadboard as well, and the input pin to the analog pin A4.

Then upload the Arduino code to the Micro, and it will all work.

Here's the Code:

#include
#include Timer t;

int inPin = A4; // pushbutton connected to digital pin 7 int val = 0; // variable to store the read value float tolerance = 79; int avgValHalf = 0; int avgVal; int lastVal = 0;

// the setup function runs once when you press reset or power the board void setup() { pinMode(inPin, INPUT); // sets the digital pin 7 as input pinMode(12, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT); pinMode(9, OUTPUT); pinMode(8, OUTPUT); pinMode(7, OUTPUT); pinMode(6, OUTPUT); pinMode(5, OUTPUT); t.every(500, takeAvgVal); t.every(1000, takeAvgVal2); t.every(4000, checkAvgVal); t.every(5000, resetAvgVal); }

// the loop function runs over and over again forever void loop() { t.update(); val = analogRead(inPin); // read the input pin }

void takeAvgVal() { lastVal = val; Serial.println(avgVal); Serial.println(tolerance); }

void takeAvgVal2() { avgValHalf += lastVal + avgValHalf / 2; }

void checkAvgVal () { avgVal = avgValHalf / 4; if (avgVal < tolerance) { tolerance = 79; digitalWrite(5, LOW); // turn the LED on (HIGH is the voltage level) digitalWrite(6, LOW); // turn the LED on (HIGH is the voltage level) digitalWrite(7, LOW); // turn the LED on (HIGH is the voltage level) digitalWrite(8, LOW); // turn the LED on (HIGH is the voltage level) digitalWrite(9, LOW); // turn the LED on (HIGH is the voltage level) digitalWrite(10, LOW); // turn the LED on (HIGH is the voltage level) digitalWrite(11, LOW); // turn the LED on (HIGH is the voltage level) digitalWrite(12, LOW); // turn the LED on (HIGH is the voltage level) return; } if (avgVal >= tolerance) { tolerance += .1; digitalWrite(5, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(6, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(7, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(8, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(9, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(10, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(11, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(12, HIGH); // turn the LED on (HIGH is the voltage level) Serial.println("SUCCESS"); return; } }

void resetAvgVal () { avgVal = 0; }

Step 6: Hardware Pouch

As there are a lot of pieces to the hardware, it's best to make a little super simple pouch to hold it all so the pieces isn't a huge inconvenience to wear. Measure approximately how much space your hardware takes up and cut out a rectangle that is doubled in length. You'll need a zipper that is the same length as the width of your pouch. Add 1/4" on the sides for sewing. Fold in half with the wrong side facing out & sew up the sides so the fold is on one end and the opening on the other. Cut the corners to your stitch line and fold right side out. Now place your zipper and sew! This can be attached to an existing belt or you can make one. Just measure the correct length, add at least 5 inches for adjustability, sew on your buckles, punch some holes, stitch on the pouch in the appropriate place, & you're done!

Step 7: