Human Jukebox

by samklowe in Circuits > Arduino

1965 Views, 4 Favorites, 0 Comments

Human Jukebox

20141026_220536.jpg
Human Jukebox
20141026_220206.jpg
20141023_114933.jpg
122558_Jar_closed_1000-720x415[1].jpg

Co-Authored (and Modeled) by Tommy Kappenman

Become a wearable MP3 player with our project! This fully functional MP3 player will play actual music from an Android device when the project is done. To achieve this we used a chipKIT uC32 from Digilent and a 1Sheeld to talk to our Android.

For this project you will need,

An Android device with music on it and Bluetooth capabilities

1 chipKIT device, we used the chipKIT uC32 http://www.digilentinc.com/Products/Detail.cfm?Nav...

A 1sheeld http://www.1sheeld.com/

A Cardboard Box

Conductive paint (We used this stuff https://www.sparkfun.com/products/10994 )

El Wire (optional, but awesome! Takes two AA batteries)

AA Battery pack for chipKit (and 4 AA batteries)

Clear Packing Tape

A Breadboard

Wires x6 (Roughly 18", just long enough to reach each button from the breadboard)

Large resistors x6 (We used 2.74 MegaOhms, but you can get away with resistors as small as 100kOhms with some MPIDE coding skills)

6 shorter wires to connect the breadboard to the microcontroller

A pair of suspenders

Find a Box

20141023_114851.jpg

Find a box that fits your general body shape. The box does not need to be huge since our buttons wont end up being very large. We got this box from Walmart when they were restocking cereals. If you can find a box that is already a desired color like white, it might save you a lot of painting. We taped the flaps together to make it taller too.

Sketch Out Your Buttons

20141023_115204.jpg
20141023_115419.jpg
20141023_115618.jpg

Sketch out what buttons you want to be on your costume. We chose to include minus volume, plus volume, back, skip, play, and pause.

Etch Out Your Buttons (Optional)

20141023_121657.jpg
20141023_143425.jpg
20141023_143435.jpg

If you're planning on using El Wire to illuminate your buttons, you'll want to etch out grooves to put it in. We cut our sketch lines with a razor, then made the cuts wider with a Sim card holder.

Paint the Box

20141026_171309.jpg

The bulk of the time spent dressing up the box was painting it. This part was pretty self explanatory just throw a couple layers of paint on it until it looks nice.

When the body paint is dry, start painting the buttons with the conductive paint. You may have to dilute it a bit with some water because it is very thick. Paint only on the places you want to end up being buttons. We put 2 coats on each button to make sure they would work.

Insert the El Wire (optional)

20141023_143804.jpg
20141023_143509.jpg
20141023_143738.jpg
20141026_171317.jpg
IMG_1480.JPG

After the paint is all dry, make holes in the corners of the grooves you made earlier. Then feed in the end of the El Wire and feed it all the way through. Now feed it back through the same hole until you are left with a small loop of El Wire that can fill in the groove. Fill it in and continue to the next nearest button. In our pictures, we hadn't painted it yet, but we found out this was a mistake and had to redo it!

We also put a layer of tape over it to secure the El Wire, but make sure you don't put tape over the conductive paint.

Wire Up the Buttons

IMG_1488.jpg
54505d3d9d29c929680000bd.jpeg
IMG_1487.jpg
54505dc59d29c9015d000028.jpeg
IMG_1492.jpg

Now that the box is painted, it's time to wire it up. When wiring up the buttons, we ran a wire through the El wire holes and bent the tip of it so that it pierced the conductive paint. We then painted over it with a good blob of more conductive paint to glue it down. Tape it secure on the inside of the box so that it doesn't move around and disconnect from the front of the box.

For the pause button, we attached the two buttons with a short wire.

Be sure that the wires will all reach one corner of the box, where the breadboard will go.

Wire Up the Buttons (continued)

54504c729d29c954a0000164.jpeg
IMG_1491.jpg
IMG_1493.jpg
54505f6e9d29c929680000c3.jpeg

Because the 1Sheeld only has one row of pin connectors, we recommend using pins 3 through 8 like we did in our picture (instead of pins 26 through 31 in the Fritzing diagram, sorry for the mix-up!).

Then wire up your buttons on the breadboard in order! For this demo our layout was

Pin 3 : Minus Volume

Pin 4 : Back

Pin 5 : Play

Pin 6 : Pause

Pin 7 : Next

Pin 8 : Plus Volume

(Optional) If you're good at soldering and tech savvy: We made ourselves a shield (last picture) to secure the resistors better because you don't want the "microcontroller pin sides" of the resistors to touch!

Secure and Power It

IMG_1499.jpg
IMG_1496.jpg

At this point you've got wires everywhere, so figure out where you want them to go and tape them down. We also found a small box and used Velcro to secure it on the inside corner. We then placed the battery pack, breadboard, and uC32/1sheeld in there and secured them with Velcro as well.

If your battery pack doesn't have a barrel jack attachment, you can just run the ground wire to gnd on the 1Sheeld, and the positive wire to Vin.

Program Your Board

Screen Shot 2014-10-28 at 9.31.56 PM.png
IMG_1495.jpg

chipKIT uses MPIDE to program their boards. First, if you haven't, install MPIDE from chipkit.net

Also, download the necessary libraries and MPIDE project above.

Make sure you start up MPIDE and close it before you continue. Now, go into your Documents/mpide folder, and if there isn't a folder there already, create a folder called Libraries. Copy the contents of the libraries folder in the zip file into this folder. *You must restart MPIDE after copying in the library files for it to recognize them* This folder contains a capacitive sensor Arduino library (found at http://playground.arduino.cc/Main/CapacitiveSenso... that has been ported to work with a PIC32, as well as 1Sheeld's libraries ported to work with a PIC32.

Then copy the entire HumanJukebox folder from the zip file to the mpide folder and open the .pde sketch file in MPIDE.

From this point all you should have to do is upload the sketch file to your chipKIT device by plugging in the USB cable, selecting your board and serial port (under tools in MPIDE), and clicking upload.

*NOTE* If you used different resistor values, you'll probably have to adjust the sensitivity of the capacitive touch functions. You can do this by changing the "if (____val>700)" lines within the sketch file. Lowering the value makes it more sensitive (for lower resistor values). You can check what values are actually coming out by printing the values to the serial monitor. You'll have to do this while the OneSheeld is off.

It is also important that if you have an older 1Sheeld, that you switch the UART-switch to decoupled before programming, and then switching it on when it has finished.

Downloads

Get the 1Sheeld App

20141026_220831.jpg
51HUDKJnkDL._SL1000_.jpg

You can find the 1Sheeld app on Google Play (iOS not supported). From here, you can pair your Android device up with the 1Sheeld via bluetooth, add music to the Music app within 1Sheeld app, and control it with your painted buttons!

Throw some suspenders on it and you're a fashionable human MP3 player!

The music will play from your phone's speakers, but you can plug in your own portable speaker. We had a Rock-It 3.0 and stuck it to the inside of the box to turn the box into a speaker!

Have fun and feel free to comment if you've got any questions!