Step 1: Parts and Tools
Arduino UNO - R3 SMD SparkFun, $30
Arduino Proto Shield Arduino Store, $18 or Radioshack Retail Store
RGB LEDs - Diffused Common Cathode (5) SparkFun, $2 each
330 Ohm Resistor - 1/6W (5) Sparkfun, $0.25 each
Waterproof LED Lighted Pushbutton Adafruit, $6
9V Battery SparkFun, $2
9V Battery Holder - Barrel Jack Connector SparkFun, $3
Jumper Wires (4)
Wire - Solid Core (a ton of it!)
1/8" Rod of Balsa Wood
1/8" Thick Recycled Large Plastic Piece, able to cut with Dremel
USB A to B Cable for Arduino Programming SparkFun, $4
1/4" Drill Bit
Hot Glue Gun
Step 2: Soldering the Circuit
First off, you will want to solder long wires (5" to 6") to each of the pins on the RGB LED. Then you will want to solder Jumper Wires to the pins of the LED pushbutton shown above.
This is how I soldered all of the pins to my Proto Shield:
S1 is where the GND pins of all of the RGB LEDs end up, and they are connected with a resistor to GND, in S2. S3 is where I would group up all of the red, green, and blue pins to connect each color individually to eachother (3 pins together, then 2 in the next two holes soldered with a jumper). And finally, S4 is where the Female Headers go for the LED pushbutton. You decide what pins go to what holes in the S4 area, but make sure to hook them up in conjunction with the schematic to make sure it all works.
Now that you have planned out the spacing on your Arduino Proto Shield, time to solder!!! Make sure to wear safety goggles and a mask to prevent you from breathing in the solder.
After the melted solder has cooled off, put the Arduino Proto Shield on the Arduino UNO.
Step 3: Preparing the Hangar and Plastic
Start out by shaping the hanger with your pliers into a star shape. Try to use all of the wire hanger except for the hook part. When you are finished, use your diagonal cutters to snip off the hook that is left over.
Take your giant piece of plastic, and trace the inside of the wire hanger. Dremel away! The edges don't have to be completely smooth because this plastic will not show, it will just be used to mount the RGB LEDs.
Take out a 1/4" drill bit and put into your drill. Drill out 5 1/4" holes about 3/4" away from each of the 5 points on the star.
Trace your vellum paper with the outside of the hanger. Make sure, after you cut it, that it mostly covers the hanger outline.
Step 4: Hot Gluing
Push each of the RGB LEDs into one of the holes in the plastic piece. Point them inwards a little, and make sure that the wires aren't shorting out together. Hot glue on the top, where the wires are (not on the actual LED enclosure, but on the wire legs that are popping through).
Definitely make SURE that you don't have any wires shorting or else you will have to peel off the hot glue by hand and then hot glue it again!!!
Repeat to all of the points with a drilled out hole and an LED poking through it.
Flip the plastic (and now the Arduino and Arduino Protoshield) over and spread out all of the wires for the RGB LEDs. Make sure they all go in different directions so there are no shorts. Put a dot of hot glue on the hole that you drilled out, so the LED is securely mounted.
Repeat this process to all of the rest of the points with a drilled out hole and an LED poking through it.
Cut your balsa wood into 5 pieces 1 1/2" long, and fairly thin.
Hot glue one end of a balsa wood segment to the plastic piece at an angle, and quickly, before the hot glue becomes cool, put more hot glue on the other end, and stick it to the corresponding point on the hanger. Repeat the process to the other points of the star.
Step 5: Coding
We will be using the Arduino IDE (because we are using an Arduino UNO in our project) for coding. As of making this Instructable, the current release is 1.0.3.
Basically, what we do in the code is:
- Setup variables
- Turn the RGB LED off
- If the button is pressed, turn on the color cycle with the RGB LED
Here's the code:
Step 6: Finished!
It might be a little tough to get onto your Christmas tree, but once it's up, it will look fantastic.
If you have any questions or comments, please reply in the comments section below.
Thanks for reading my Instructable!