For the pcomp midterm, I agreed to help my friend Ilana make a jukebox for her boyfriend’s birthday. The jukebox would feature her boyfriend’s original music, each activated by a specific, sentimentally associated photograph. Each photograph would close their song’s switch via copper tape applied to its back. This project seemed like a challenging learning experience, so I was happy to work with her.
Because of time limitations, we ran over to Tinkersphere to buy an mp3 shield. This turned out to be an immediately regrettable decision, because there was very little documentation, the provided link to the datasheet was broken, and the library—incredibly—didn’t work.
Luckily, Aaron (our miracle-worker of a resident) was able to hack the Adafruit mp3 shield library (sorry Adafruit) to work with our questionable Tinkersphere purchase. Unfortunately, that only opened the floodgates of pain and suffering, as there was still a lot of crazy mp3 shield logic deal with (delays, booleans for each song, the concept of interrupts and how they apply to serial communication…). Eventually, many office hours (thanks Yuli and Chino) and even more if statements got the job done. However, we weren’t able to figure out how to get combinations of switch states to allow for more songs.
preview of the madness
So we hooked this up to push buttons to test the code, then threw together a rough prototype to test the technical concept:
With the circuit working, it was time to work on the enclosure. We bought a utensil tray from The Container Store (shout out to this video), and laser cut an interface, first with cardboard:
Then with acrylic:
To create a product independent from the computer, we hooked the circuit up to a battery, which was hooked up to an on/off switch. We had some trouble with the switch—we bought a strange 3-state one from Tinkersphere—and ended up borrowing one of Barak’s after completely ruining it (ie Ilana burning herself and melting the plastic after a short circuit!).
Transferring the circuit to the box was a struggle, and for the next iteration we have to switch to the multi-stranded wire, because as it is with the solid-core wiring, the box doesn’t close. But at least the circuit works:
Now for some sleep…