To bring Fitbit data out of the internet and into our living rooms, we created an Arduino-controlled chandelier with an individually-addressable RGB LED strip whose light output is controlled by the user's current Fitbit step count. A ruby script is used to poll the Fitbit API, quantify your progress towards achieving your daily step goal, and transmit the current state to the Arduino over USB.
If your chandelier is flashing red, you'd better get off the couch and go for a walk. This project was created at Science Hack Day SF 2013 by Bonnie Barrilleaux, Gabe Martin-Dempesy, and Michelle Peters.
The design and construction of the chandeliers began long before Science Hack Day, so we'd also like to thank Toby Schachman and Monique DeSalvo for laser cutting skills, as well as patience and fortitude in the face of what turned out to be a very long day of laser cutting; Matt Ganucheau for Arduino training, interactivity consultation, and pretending there's no such thing as a stupid question; and False Profit LLC for an art grant that supported creation of the chandeliers.
Step 1: What You'll Need
- Jigsaw and drill
- Glue gun
- Soldering iron and heat gun
- Laser cutter with at least 18"x19" bed
- Large sheets of 1/4" frosted acrylic, enough for at least five 18"x18" squares
- 8" neckless white acrylic diffuser globe, like this: http://1000bulbs.com/product/7545/PLAS-199500.html
- Chandelier strands and crystals, purchased or repurposed from old chandeliers
- Clear packing tape
- Jump rings to attach chandelier strands to the acrylic arms, at least 10-12 mm in diameter
- Parachute cord to hang the chandelier
- One large washer (we used a 1.5" nylon washer)
- 2" clear polycarbonate tubing, like this: http://www.amazon.com/dp/B000OMHJJO/ref=biss_dp_t_asn
- 1 meter LED strip, WS2811 aka "Neopixel", 60 LEDs/meter, like this: http://www.adafruit.com/products/1138
- Soldering supplies, rainbow cable, break-away header pins, heat shrink tubing
- Arduino Uno and USB cable
- Fitbit (any model)
Step 2: Cut Chandelier Arms
From scrap acrylic, cut a 4" circle with a 2" hole in the center, and a 1/2" hole in the center of that inner circle. This will yield two rings (a large 4" ring and a smaller 2" ring). The larger 4" ring should be sized so that it fits around the 2" polycarbonate tube, and fits snugly on top of the acrylic globe. The smaller 2" ring should fit atop the polycarbonate tube.
Laser cutters are hazardous and cutting acrylic generates noxious fumes, so be sure you're properly trained and your laser cutter is fitted with appropriate ventilation for cutting acrylic.
Consider cutting extra spacers as backups, because it's easy to break them. To strengthen the spacers, wrap each one in clear taping tape several times. Cut away the extra packing tape.
Step 3: Solder and Attach LED Strip
Cut the polycarbonate tube to 10" long with a jigsaw, and drill a 1/2" hole near the top end (about 1" from the top). Wrap the LED strip around the bottom 8" of the tube and secure it in place with packing tape. Run the wires through the hole into the interior of the tube so they can come out of the top end.
Step 4: Prepare Globe
Step 5: Assemble Globe
Everything should now be firmly held together so that the globe can be suspended from the rope without pulling on the wires.
Step 6: Assemble Chandelier
To attach the arms to the globe, thread a large ziptie through the top holes of all five arms and use it to secure the arms onto the top spacer, leaving the ziptie slightly slack. Then repeat the process on the bottom to attach the bottom ziptie and bottom spacer. Finally, tighten both zipties until they are snug.
To attach chandelier strands and crystals, hang the chandelier (using the rope) at a convenient working height -- we used an 8' aluminum ladder to hang it about 3' from the ground. Use jump rings to attach the strands and crystals to the laser-cut arms in whatever attractive fashion you desire. The hanging strands/crystals can be in any configuration based on what materials you have available, and they can be attached before or after assembling the arms, but it's probably easiest to assemble the arms onto the globe first, and then attach the strands and crystals.
Step 7: Load Code and Start Reaching Your Activity Goals
Plug the wires from the LED strip into the Arduino as follows:
- DIN to digital pin 5
- +5V to Arduino +5V
- Gnd to Arduino Gnd