Neopixel Motion Dress
For my electronics art class, we are making wearables for the Pensacola Maker Faire. I was inspired to make this dress to be able to work with conductive thread and sewable neopixels. This is a decorative/fashion piece using an Arduino and Doppler Radar Motion Sensor to keep the dress blinking with lights. Laura Dempsey made a motion-sensitive dress for Make Fashion. Her craft to the dress is well executed and is part of my inspiration. I'm also excited by Dutch fashion designer Iris Van Herpen for her unique forms she creates using many materials on her pieces. These fashion icons are references to what I researched. I've decided to laser cut glittery fabric to attach to the dress to unify the neopixels in the round. The neopixels will be under a sheer lining the dress has. The housing of the Arduino will be a pouch and belt attached under the dress of the wearer. It will run off 9V battery and twinkle away with many colors.
I hope to show a unique use of soldering + sewing for electronics.
Supplies List
- Doppler Radar Motion Sensor
- Flora RGB Smart Neopixel (using 7)
- Stainless Medium Conductive Thread - 3 ply
- Arduino Uno
- Electronics housing for under dress
- Black Dress with sheer overlay
- Glittery fabric for artist touch
- Design made in illustrator to use for fabric with the laser cutter
- Scissors
- 9V battery with 2.1mm X 5.5mm Male DC Plug
- Multimeter
- Solder
- Stranded core wire
- Sewing needles with large opening for the conductive thread
- Clear nail polish
- Embroidery hoop to sew secure connections
- Fabric marker for neopixel placement
Fritzing Schematic
Although this is not what my circuit will actually look like, since the connections between each neopixel will be much further away on the dress, but this helps simplify and lay it out so I know where all the connections will go.
Breadboard
I tested all neopixels with the breadboard. It turns out after doing more research I don't need the resistor or capacitor components because all the neopixels will be sewn with the conductive thread. I think it is because the conductive thread gives off resistance and I believe the neopixels have components on them to keep them protected from shorts.
Downloads
Prototype
I used numerous alligator clips to test all my neopixels together in a circuit with the Arduino and doppler radar sensor. The test was my prototype and to guarantee all would work together without the resistor or capacitor. They all worked but the only problem was alligator clips being in the way and causing loose connections. If able to download the video shows the sensor in action with the neopixels and alligator clips.
Downloads
The Code
I tried uploading the code but Instructables kept giving me an error message I haven't had this issue with previous Instructables.
Here is a link to my google drive where you could download the code.
https://drive.google.com/open?id=1MMuEpoK9Ty_A0k5Giwloyp_PlwtkdqqE
* Rachel's hack for flora neopixel and doppler motion sensor * */ byte neopix_gamma[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 24, 24, 25, 25, 26, 27, 27, 28, 29, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36, 37, 38, 39, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 72, 73, 74, 75, 77, 78, 79, 81, 82, 83, 85, 86, 87, 89, 90, 92, 93, 95, 96, 98, 99,101,102,104,105,107,109,110,112,114, 115,117,119,120,122,124,126,127,129,131,133,135,137,138,140,142, 144,146,148,150,152,154,156,158,160,162,164,167,169,171,173,175, 177,180,182,184,186,189,191,193,196,198,200,203,205,208,210,213, 215,218,220,223,225,228,231,233,236,239,241,244,247,249,252,255 };
#include #ifdef __AVR__ #include #endif
#define PIN 6
#define NUMPIXELS 7
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 10; // delay for half a second
int Sensor = 2; //Input Pin int LED = 6; // Led pin for Indication
int flg = 0; //Change detection flag void setup() { Serial.begin(9600); strip.begin(); // This initializes the NeoPixel library. strip.setBrightness(50); pinMode (Sensor, INPUT); //Define Pin as input pinMode (LED, OUTPUT); //Led as OUTPUT Serial.println("Waiting for motion"); }
void loop() { int val = digitalRead(Sensor); //Read Pin as input if((val > 0) && (flg==0)) { digitalWrite(LED, HIGH); Serial.println("Motion Detected"); flg = 3; rainbowFade2White(25,25,25); } else { colorWipe(strip.Color(0, 0, 0), 5); // none }
if(val == 0) { digitalWrite(LED, LOW); flg = 0; colorWipe(strip.Color(0, 0, 0), 5); // none } delay(10); Serial.print("val is "); Serial.println(val); Serial.print("flg is "); Serial.println(flg); }
void rainbowFade2White(uint8_t wait, int rainbowLoops, int whiteLoops) { float fadeMax = 100.0; int fadeVal = 0; uint32_t wheelVal; int redVal, greenVal, blueVal;
for(int k = 0 ; k < rainbowLoops ; k ++){ for(int j=0; j<256; j++) { // 5 cycles of all colors on wheel
for(int i=0; i< strip.numPixels(); i++) {
wheelVal = Wheel(((i * 256 / strip.numPixels()) + j) & 255);
redVal = red(wheelVal) * float(fadeVal/fadeMax); greenVal = green(wheelVal) * float(fadeVal/fadeMax); blueVal = blue(wheelVal) * float(fadeVal/fadeMax);
strip.setPixelColor( i, strip.Color( redVal, greenVal, blueVal ) );
}
//First loop, fade in! if(k == 0 && fadeVal < fadeMax-1) { fadeVal++; }
//Last loop, fade out! else if(k == rainbowLoops - 1 && j > 255 - fadeMax ){ fadeVal--; }
strip.show(); delay(10); } }
delay(10);
for(int k = 0 ; k < whiteLoops ; k ++){
for(int j = 0; j < 256 ; j++){
for(uint16_t i=0; i < strip.numPixels(); i++) { strip.setPixelColor(i, strip.Color(0,0,0, neopix_gamma[j] ) ); } strip.show(); }
delay(0); for(int j = 255; j >= 0 ; j--){
for(uint16_t i=0; i < strip.numPixels(); i++) { strip.setPixelColor(i, strip.Color(0,0,0, neopix_gamma[j] ) ); } strip.show(); } }
delay(10); } void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i> 16); } uint8_t green(uint32_t c) { return (c >> 8); } uint8_t blue(uint32_t c) { return (c); }
The Shield/Wire Loops
The only soldering I had to do was making my shield for the Arduino and the wires that go out from the sensor and neopixel connections. The sensor connections ran straight to the Arduino, but the wires that run to the neopixels I had to create loops to be able to sew the wire onto the dress. It was quite easy and most of the work goes into the sewing aspect. Especially since I didn't have to add any extra components, making the shield was simple.
After ruining one neopixel later from trying to solder and leave room to sew onto the neopixel which was impossible. I thought of creating a loop from the wire to be able to sew onto the dress. It was quite simple and only need stranded core wire, wire cutters, wire strippers, and small jewelry pliers to twist the wire onto itself. First, you cut the wire length needed, make sure you think about how much length you'll need to make the loop. Then you will strip the part of wire that will be made into the loop. Next, you take the pliers and twist from the end into the wire to create a circle and can loop the end onto the top to make sure the wire is touching each other. Finally, you secure using the solder on the wire loop.
Downloads
Laser Cutter
The laser cutter was really fun and fast to use. It takes under a minute to cut out the design I made. It took some revisions and understanding how the laser cutter reads the design. You have to cut off the design into shapes and think about closing off the ends you want separate. Overall I enjoyed using it and found it pretty simple. One link is a video and the other is a PDF of my drawing from illustrator.
Sewing the Neopixels and Fabric
Overall sewing the neopixels wasn't too bad. I used the running stitch method throughout. I kind of winged it when creating curves while sewing and it came out really nice. I was happy that all connections worked and impressed the conductive thread was able to flow the connections around the dress. I mostly tried to run the needle threw the fabric as close as I could a few times then would pull it threw. This would help save some time since the stitches have to be very close together. I definitely recommend an embroidery hoop when sewing because it helps keep the fabric and thread tight. It just takes a lot of patience and focus so you don't start sewing the wrong way or connection. I started sewing the wrong way after a connection but was easily fixable.
When sewing the fabric onto the dress I found it helpful to have pins to keep the fabric in place on the dress while sewing, but I didn't use an embroidery hoop for this part. I bought around a full yard of fabric from the store, I went through some of the fabric when messing up with the laser cutter but ended up with some left still.
The only downside is I will never be able to wash the dress because I have wires attached to the dress since it doesn't all run with conductive thread. This is because I'm using an Arduino as the microcontroller. So if I wanted to wash it I'd have to cut off where I sewed the wires (first photo) then wash the dress and then re-sew the wires onto the dress. Either way, it's not a big deal considering it's only a special occasion dress, but over time may become an issue if I decide to wear to a festival or outdoor event where washing would be more necessary. I could consider switching microcontrollers and sensors but I'll have to spend the extra cost, we'll see I feel like adding more neopixels would be fun too.
Final Product
Here is the final wearable. I really enjoyed this project and making it into my own. This was my first wearable as well as the first time mixing soldering and sewing together. It really opens my eyes to the possibilities electronics have.
The first two photos are the dress with me wearing it. The next two are the front and back to the dress on the outside and then the last two photos are of the underneath part of the dress where the neopixels are sewn onto.
Please let me know if you have any questions or suggestions.
Thank you for taking the time to check out my project!!