Introduction: Lightcatcher Dress

About: An engineer, seamstress, cook, coder, and overall maker. Spent a summer at Instructables; got a degree in E: Neural Engineering at Olin College; made a microcontroller (tessel.io); now thinking about climate c…
This dress is intended to light up as its surroundings grow dark. It does this in two ways: by glow-in-the-dark paint, and by a photoresistor-controlled Arduino circuit.

It is part of a light-up dance costume and goes with the dazzle jacket and fiber-optic laser fans. The costumes are intended to aid self-expression and augment the inherent drama and design of the dance costume.

The dress's circuit is dependent on analog input from a subtly placed photoresistor. Subtle placement of glow paint and LEDs make the nighttime components nearly invisible in the daytime.

NOTE: The main image displayed is an image of the dress in daytime, photoshopped to an idealized version of the dress. See the second image for what it looks like at night.

Step 1: Materials

Glow-in-the-dark paint (These ones are really good, but there is also cheaper good stuff: http://glowinc.com/SearchResult.aspx?CategoryID=2)
Lilypad Arduino
Solder/Soldering Iron
Protoboard or surface mount equipment
Circuit components (see steps 3, 4, and 5)
3 button cell batteries
A flowy, sparkly dance dress. This one is a see-through dress with a leotard attached under it.

Step 2: Paint With Glow-In-The-Dark Paint

I put dots outlining the neckline and waistline and a solid line around the handkerchief hem. There are also some semi-random dots around the skirt.

Step 3: Make a Photoresistor Circuit

My photoresistor goes between 40k (light) and 200k (dark). Hook up one side to power and the other side to a 200k resistor. The resistor goes to ground. Vout goes between the two resistors.

//the math behind this:
//V=IR; Vdd  =i(R1+Rphoto)
//Vdd/(R1+Rphoto) = Vout/Rphoto
//Vout = Rphoto/(R1+Rphoto) * Vdd
//so if it's light out (200k), the output voltage is (200/(200+200)) or 1/2
//and if it's dark, the output voltage is (40/(200+40)) or 1/6
//so the maximum range of output voltage is 1/6 - 1/2 times the input voltage.

Now hook it up

Step 4: Make a Flasher Circuit

Follow the circuit diagram above. If you can do this surface-mount, do it. It's much lighter and easier to put on the dress.
We didn't have the right components for surface mounting, so we soldered it onto some protoboard.

You need:
2 100k resistors
2 500 resistors
2 capacitors
2 transistors
2 LEDs

The LEDs will flash back and forth when power is attached.

Step 5: Program the Arduino

const int photopin = A0;
const int switchpin = 1;
const int lowestPin = 2;
const int highestPin = 4; //if you want to add extra flasher circuits or analog LEDs, you can add them between lowestPin and                   //highestPin.
int light = 0;
int brightness = 0;
int switchstate = 0;

void setup() {
  pinMode(switchpin, INPUT);
  pinMode(photopin, INPUT);
  for (int thisPin = lowestPin; thisPin <= highestPin; thisPin++){
    pinMode(thisPin, OUTPUT);
  }
}

//the commented-out code can be uncommented to turn the fade-on function of the dress to digital on-or-off dependent on outside //brightness.
void loop() {
  //switchstate = digitalRead(switchpin);
  switchstate = HIGH;
    if (switchstate == HIGH){
    light = analogRead(photopin);
    brightness = 255 - (light/4); //photoresistor: 40k-200k
    //if (light > 100){brightness = HIGH;}
    //else {brightness = LOW;}
    for (int thisPin = lowestPin; thisPin <= highestPin; thisPin++){
      analogWrite(thisPin, brightness);
    }
  }
}
 

Step 6: Sew to the Dress

The photoresistor should be on the outside; the leads should poke through.
Make sure everything is insulated- heat shrink tubing is the best!
I have a conveniently double-layered dress, so I sewed the circuit to the under layer.
It's right by the heart, for two reasons: the photoresistor is in a good, fixed location, and it's also a good symbolic placement to represent the dancer.

The circuitry is powered off of three taped-together button cell batteries.
Between + power and anything else is a slide switch to control the whole dress' power.
Connect the on side of power to the input side of the photoresistor (discussed in step 3) and to the + pin on the arduino.
Connect the - side of the batteries to the - side of the Arduino, the - part of the photoresistor circuit (see step 3), and the part of the flasher circuit that only touches one pin each of the transistors.
The output pin from the Arduino (controlled by the photoresistor) connects to the flasher circuit between the LEDs.

Step 7: Enjoy!

Make sure to leave it out in the sun for a while so that your glow in the dark paint has time to charge.