Introduction: LilyPad Arduino Blinking Bike Safety Patch
I made this embroidered patch in a different instructable, but here I'll show you how to add flashing LEDs to your backpack for fun and safety. I used a LilyPad Arduino with a rechargeable lithium-polymer battery for flatness and re-usability. The LEDs blink in a marquee pattern, two at a time, in patriotic red, white and blue.
To keep up with what I'm working on, follow me on YouTube, Instagram, Twitter, Pinterest, and subscribe to my newsletter.
Step 1: Materials and Tools
-scissors
-needlenose pliers
-sewing needle
-LilyPad Arduino with programmer and USB cable - Maker Shed
Power:
-LiPower board - Sparkfun
-lithium-polymer battery (and charger) - Sparkfun
OR
-LilyPad AAA battery holder (comes with the Maker Shed kit linked above)
-conductive thread - Lame Lifesaver
-conductive velcro - Less EMF
-sticky-back velcro (I got mine at Michael's)
-bag or backpack
-fabric patch to mount circuit
-small scrap of fabric for switch
-thread
-source code and schematic
Coil the leads of each LED: make the longer lead (positive) into a square spiral, and the shorter lead (negative) into a round spiral.
Step 2: Sew the LED Grounds
Step 3: Sew the Power Supply and LilyPad
Sew the other conductive velcro tab down next to (but not touching) the previously-sewn tab. Stitch a line to the + on the LilyPad Arduino. I reinforced these two power leads a few times to reduce the resistance of this switchable area.
Stitch the ground of the power supply to the line of grounds around the edge. Same goes for the LilyPad Arduino. Look at that schematic for help placing the traces.
Step 4: Sew the LilyPad Pins to the LED Positive Leads
At this point you can plug the battery into the LiPower and turn the thing on. Use the other piece of conductive velcro to bridge the two patch tabs and see if your LilyPad boots up. Press the reset button a few times and watch that little green LED on board blink a little. Now you know it's working!
Step 5: Program the Board
Here's the Arduino code! Load it on your LilyPad by hooking up your programmer and USB cable (or FTDI cable if you have a newer LilyPad). For more info about getting the code onto the Lilypad, check out this page at the Arduino website: http://web.media.mit.edu/~leah/LilyPad/04_lights.html
--begin code
int timer = 100; // The higher the number, the slower the timing.
int pins[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; // an array of pin numbers
int num_pins = 12; // the number of pins (i.e. the length of the array)
void setup()
{
int i;
for (i = 0; i < num_pins; i++) // the array elements are numbered from 0 to num_pins - 1
pinMode(pins[i], OUTPUT); // set each pin as an output
}
void loop()
{
int i;
for (i = 0; i < num_pins/2; i++) { // loop through each pin state (there are six)
digitalWrite(pins[i], HIGH); // turn one LED on,
digitalWrite(pins[i+num_pins/2], HIGH); //then turn its opposite LED on (six positions away)
//now turn the previous LEDs off:
if (i == 0){ //turn the last LED off from the previous go 'round
digitalWrite(pins[num_pins-1], LOW); //
} else{
digitalWrite(pins[i-1], LOW); // turn off each previous LED
}
digitalWrite(pins[(i+num_pins/2)-1], LOW);
delay(timer); // pausing
}
}
Step 6: Affix With Velcro
Sticky-back velcro is easier, but any kind will do!