MusicTree Parts List ==================== Baltic birch plywood 2 feet by 4 feet by 3/16inch thick. - Used for three tree trunk/branch parts. - Green spray paint (small can) - Brown spray paint (small can) Cedar wood burl with legs (from HomeSense) for base. Various holes drilled: one inch through the center to hold tree, others through bottom of enclosures for wire runs. Various beads from craft store for ornaments. Water soluble generic paint kit with various colours. Two small enclosures: - one metal for controls (w/blue paint and decorations). —- Four temporary contact push buttons. --- Five 6 inch, female-to-female wire header connector wires. —- One potentiometer (linear - log would be better for volume) 50K. —- one SPDT on-on sub-miniature PC mount toggle switch. —- resistor 470 ohm, 3mm red LED for power indication. —- White plastic rod, 1/4 inch diameter, 2 inches long, 1.5 inches after bending (for candy cane w/red paint). Bent in vice, slowly, using heat gun. Bottom carefully drilled out for insertion of toggle switch lever. Used smallest drill bit first and then went up in size by 1/64 inch approx. until it fit loosely. Used HandiTak to tighten its fit. —- wood screw. - one plastic enclosure for arduino, music shield and mini-breadboard. —- panel mount 2.1mm jack. —- wood screw. Power supply - wall power adapter 5VDC, 5A, 5.5x2.1mm barrel jack, center positive (neopixels require a lot of amps). Adafruit Arduino UNO rev 3. Adafruit Music Maker Shield w/3W stereo amp. - http://adafru.it/1788 - Stacking headers - http://adafru.it/85 - generic prototype board male headers. — Pair of 4 ohm, 3W mini speakers (http://adafru.it/1669). - SD card, 8GB Adafruit NeoPixel Ring 12 x SK6812 - D - http://adafru.it/1643 — Glitter paper for enhancing neopixel ring (back and center hole), required use of HandiTak reusable yellow adhesive putty. Adafruit 2M (120 pixel) RGB Neopixel strip (white backing). - http://adafru.it/1138 —- Electrolytic 1000 microF capacitor —- Resistor 470 ohm —- SPDT switch for breadboard Various lengths of wire. Shrink wrap, multi colours. Two four-wire male/female plug connectors for neopixel to control and neopixel strip to ring. Tools Required ============== Drill and various bit sizes Paint brushes (small) (In lieu of laser cutter) - Table mounted router - Circular saw - Jigsaw - Dremel rotor tool - saw horses Wire cutters, strippers Soldering iron Third hand soldering aid Heat gun Rosin core solder Small pliers for bending wires at 90 degrees and pinching small wire hooks for soldering. Table/counter mountable vice Various screwdrivers Computer for programming (USB cable) Instructions ============ Read these instructions through to the end. You might miss some notes about when to put on the heat shrink wrap if you don't (easy to forget this stuff). Arduino/Shield -------------- Solder the stacking headers on the music shield. Solder the GPIO male headers on the music shield. Solder the speaker headers on the music shield. Solder the 12dB jumper closed on the music shield. Stack the shield on the arduino. Plastic Enclosure ----------------- Drill an opening in the plastic enclosure for the panel mount power jack. Start with a hole using a 3/8 inch bit and then use the dremel's router bit to custom fit the piece. Solder 3 inches of wire, one red and two black to the poles on the power jack. Use heat shrink wrap as appropriate. Place and fasten the jack in the enclosure. Drill a pilot hole for the wood mounting screw and mount the enclosure to the burl stand. Don't overtighten. Fit the arduino and shield in the enclosure, leave it loose so that is can be lifted to allow for SD card removal, USB connections for reprogramming and speaker connection, as needed. Place the mini bread board on top of the music shield. It will eventually be held reasonably solidly by the various wire connections. Illustration is not to scale, but close. Note that the top of the arduino is the music shield, once it has been stacked using the stacking headers, no further access to the arduino (except to plug in the USB for programming) is required. Hence, the descriptions below assume the top of the music shield is where wires are plugged into. (rear, near back edge of burl) +-------------------P/J--+ + O1 + + + (right) + + + +==============+ + + |L SP R SD | + + | 12dB | + + | | + + | BB | + + | | + + | | + + GND | + + VIN/5V D + + | | + + A | + + | GPIO | + + | 2 3 4 5 | + + | 1 x x x x | + + | | O3 + + +==============+ + + + + O2 + +------------------------+ (front, near trunk of tree) P/J = power jack (has three wires, red and two black) O1 = 3/8 inch hole for speaker wires (out, two pair red/black) O2 = 3/8 inch hole for 5 push button wires (in, female header connectors) O3 = 3/8 inch hole for 5 total power switch/volume control wires (in) x = not used GPIO # = pin for push buttons 1 = commom 3.3V for push buttons A = analog pin 2 for volume D = digital pin 9 for neopixel serial comm. SD = SD card slot BB = mini breadboard VIN/5V = red power supply from power rail on breadboard GND = ground from ground rail on breadboard L SP R = left and right speaker wire connectors (+-)(-+) 12dB = micro jumper to solder for better volume. Metal Control Box ----------------- Top view: (rear, near trunk of tree) +------------------------+ + + + P/S LED + + + (right) + + + S P P/P N VOL + + + +------------------------+ (front, near front edge of burl) P/S = power switch (pull forward is on) S = stop push button (pb) P = Prev pb P/P = play/pause pb N = next pb VOL = volume control w/knob LED = 3mm red LED power ind. Measure the size of the 4 push button cylinders and drill four holes in the metal box for their mounting. Measure the volume potentiometer cylinder and drill a hole for mounting it. Also drill a small hole for the alignment tab on the pot. Measure the on/off PC mount switch cylinder and drill a hole for mounting it. Also drill a small hole for the alignment tab on the switch's washer. Measure and drill a small hole for the 3mm LED. Solder 10 inches of wire, one red (plus 5V), one black (ground) and one green (signal) to the poles on the potentiometer. Solder together one 470 ohm resistor with the 3mm LED. Attach the LED to the red and black power poles of the potentiometer using the proper polarity. This is our power LED for the front, metal control box. Use enough wire to allow enough play to mount the LED and pot in their respective holes. Don't forget to wrap the LED and resistor wires in heat shrink wrap before attaching. Solder 6 inches of colour coded wire to one pole of each of the push buttons (these will eventually be attached to the GPIO pins). Solder a common red (for 3.3V power) to each of the other poles on all four buttons, i.e. only one wire is needed to bring a signal to each button that is sent when one is pressed--this means a total of five wires is only needed for the push buttons, rather than eight. Strip 1/4 inch from the non-soldered end for insertion into a female-to-female header connector wire. Colours and pins used: -stop (blue) GPIO pin 3 (front most, towards the SD card), -prev (grey) pin 5 (as above), -play/pause (purple) pin 4 (as above), -next (green/white) pin 2 (as above), -common power (red) pin 1 (rear most, away from the SD card). Connect five (5) 6 inch, female-to-female header connectors to each push button wire. These will be used for connecting to the GPIO pins on the music shield and one of the 3.3V pins beside any GPIO pin (pin 1 will do for common red power). Connect two (2) 10 inch wires, one red, one orange, to the power switch toggle poles. Use the rear most pole on the toggle to allow for a forward pull as the on position. This is the master power line, one end is connected to the power jack's red terminal and the other is connected to the breadboard's positive power rail. Other power connections (including the vol. pot.) will get connected to this positive power rail. Cables will be run through one or two large 3/8 inch holes drilled through the bottom of the metal box and the burl stand. Make sure to mount the metal box using small wood screws (drill pilot holes for the screws first) to the burl stand before drilling the cable holes. Paint the metal box whatever colour you like (I used blue). Mount the switch, 4 push buttons, volume control and LED to the metal box. Bundle the wires in groups and wrap them with shrink wrap as needed. Run the wires down through the cable holes. You'll need to run them up through the plastic enclosure that holds the arduino. Breadboard (BB) --------------- Each + indicates a pin hole. Columns are interconnected. Letters and numbers indicate a code for a pin hole with a wire connected. An extra switch is used for turning off the neopixels if needed. For example, if there is not a strong enough power supply, the neopixels can be turned off. This is useful when using the USB connection for programming and you don't want a horrible amperage draw happening through the arduino. Top view: (rear, near speaker connectors back edge of enclosure) 1 2 3 4 5 6 7 8 9 ... 15 16 17 (columns) - + (indicates power rail columns) ---------------------------------------------- + + + + + RC BC + + + + + + + G1 + + 1 + + + + + NP NG NS Ra + + + + + G2 + + 2 + + + S1 S2 S3 + + + + + + + + NG1 + + 3 + + + + + + + + + + + + + + + NP1 + 4 + + + + NP2 + NG2 Rb ND + + + + + + + + 5 =====================================|===|==== centre of BB (right side) + + P1 + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + P3 + 7 + + + + + + + + + + + + + + AG AP + 8 + + P2 + + + + + + + + + + + + + + 9 + + + + + + + + + + + + + + VG VP + 10 ---------------------------------------------- - + (indicates power rail columns) (front, near GPIO pins) RC = to 1000 microF capacitor positive (red) BC = to 1000 microF capacitor negative (black) S1 = DTSP switch contact 1 (not used) S2 = DTSP switch contact 2 (common power NP2) S3 = DTSP switch contact 3 (power to neopixel strip NP & RC) NP1 = power rail to NP2 for S2 use (red wire). NP2 = from power rail to NP1. NG1 = ground rail to NG2 (black wire). NG2 = from ground rail to NG1. G1 = black wire to power jack (ground) G2 = second black wire to power jack (ground) P1 = red positive 5V wire from power jack P2 = orange wire to power switch P3 = red wire returned from power switch (5V) | = connected across centre 15 = positive 5V power rail 16 = ground rail NP = Neopixel power red wire to strip (out) NG = Neopixel ground black wire to strip (out), uses NG2 NS = Neopixel signal data white wire to strip (out) Ra = one end of 470 ohm resistor Rb = other end of 470 ohn resistor ND = neopixel green wire to digital pin 9 AP = red wire to shield VIN pin (power for the arduino) AG = black wire to shield ground (GND) pin VP = red wire to volume control/LED positive terminal VG = black wire to volume control/LED ground terminal Not shown: Green wire from volume control to analog PIN 2 GPIO pins (shown in other diagram). The 3 wires (NP, NG, NS) coming off the breadboard and down and out of the enclosure for the neopixels should use the 1 inch trunk hole to reappear for connection with the neowpixels. This wire set should initially be about 10 inches long (red, black, white). Place a couple of tubes of yellow shrink wrap around these wires for ease of handling. Note the tree must be inserted before you can run these wires through the trunk hole. Speakers -------- Solder a pair of male header pins to the speaker wires to use for easy connection to the speaker headers on the music shield. Optionally place a couple of 10cm tubes of green shrink wrap on the speaker wires to better hide the parts that must be exposed under the tree. TODO use a 3D printer to make a set of holders/enclosures for the speakers. The speaker wire should be run up through the 1 inch hole that was drilled for the trunk of the tree, after the tree has been inserted in the trunk hole. Underneath the burl base ------------------------ Clean up and fasten the wires under the base using some wire/cable clips as necessary. Neopixel Ring ------------- Solder four wires (red = 5V, black = ground, blue = data in and any other colour to the data out, which isn't used), to the neopixal ring. Connect the red and black to the far end of the neopixel strip. Connect the Data Out wire from the neopixel strip (likely white) to the blue data in wire of the neopixel ring. This simply makes the strip 12 pixels longer and the ring can be indexed by addresses 120 through 131 (assuming the strip uses 0 through 119). Cut a circle of glitter paper the size of the outside of the ring and another the size of the inside of the ring. Form a circle of HandiTak the size of the outside of the ring about 1.5mm thick. Squish it onto the ring to cover the wires completely. Now attach the large glitter circle on the back, with the glitter side facing out the back. Put the smaller glitter circle on the inside of the ring facing forward. It should also stick to the HandiTak. I don't know how well the HandiTak will do this job.