direct uplink to fratmusic.com coming soon
No, not this strobe: http://www.youtube.com/watch?v=kP_HbvxveoE
This strobe! http://www.youtube.com/watch?v=SfkdDLymhOU
Collection of links and project resources:
Nathan Hall-Snyder - Final Project Plan
Nathan Hall-Snyder - Final Project Paper Prototypes
Nathan Hall-Snyder - Final Project Verplank Diagram
Nathan Hall-Snyder - Final Project State Diagram
Nathan Hall-Snyder - Final Project Source Code
Nathan Hall-Snyder - Final Project Pictures and Movies
This device fulfills a need that chef Alton Brown would call a "one-tasker" - playing music at parties. The concept is simple:
1. For a spontaneous party, simply turn off the lights, turn up the volume, and hit the large red (irresistible) red button on the center of the device.
2. The device turns on its own strobe light and plays dance music. The party continues till dawn.
3. Profit
I will design and build an mp3 player with three major subsystems:
1. mp3 Player - the user should be able to select a song, change volume, play, pause, etc
(1.2) Wall mount - in order to allow the strobe light to function, the device should have an easy way to attach it to the wall
2. Strobe light - the device should be able to strobe white light fast enough for a dance party
3. Giant Red Button - taking advantage of humans' oddly inexplicable attraction to large red buttons, this interface device simplifies playing and pausing music
See Project Plan for more challenges - Nathan Hall-Snyder - Final Project Plan
Unsolved (and solved!) Technological Challenges:
Interface/Graphic LCD
Reading SD card contents
Solved with an array of strings as the character list.
Unfortunately, this limited the number of songs the device can deal with due to limitations on program memory.
Scrolling
Implementing reasonable scrolling on a 2 line display took several iterations of interface design, but I eventually arrived at something that worked.
Choosing/playing songs
Display/Visualizer
Analyzing Analog Audio data to generate info for visualizer
Developing SPI database for LED controller
Doing all this fast enough to keep up with music
Power Supply (5v regulator with filter caps, 12v supply)
The steps in the order that I took them
1. Verify basic mp3 player functionality on breadboard
Difficulties: switched MOSI and MISO pins caused a headache
2. Begin soldering items to perfboard
Difficulties: fitting parts not designed for perfboard on perfboards, making intelligent layout decisions
3. Order button and acrylic
4. Design enclosure on Solidworks
Difficulties: switch from .125" acrylic to .0625" acyrlic at the last moment
5. Lasercut enclosure
Difficulties: laser height set wrong, didn't get very clean cuts
6. Finish soldering components
Difficulties: Shorts and solder whiskers
7. Begin adding functionality/coding
Difficulties: Getting the mp3 player to play specific songs instead of running through the directory.
8. Attach/wire LEDs
Difficulties: Lots of soldering, getting the LEDs to stick down
9. Finish functionality/coding
Difficulties: Getting the encoders to work. They really really need hardware debouncing, for those of you thinking about using the encoders.
9.5 Load music
10. Build power supply
Difficulties: unclean 5v lines cause the arduino and other accessories to crash. Filter caps used to smooth power. Also, SERIAL CALLS MUST BE REMOVED WHEN NOT USING USB POWER!!!!
11. Final assembly
Difficulties: getting all the LED wires to fit nicely.
11. Present!
Q: Does it accomplish the need it sought to fulfill?
A: Judging by the successful small dance party I had in my room last night, I would say yes. The strobe action is a big hit, the mp3 playing action is intuitive and impulsive (hit to play), making parties on short notice a reality.
Q: Just how irresistible is the large red button
A: I challenge you to not push it. Everyone I've shown it to just wants to hit the button. I feel like I've successfully capitalized on a small quirk of the human psyche.
Q: What sorts of things didn't quite live up to your expectation?
A: There are several items that didn't work out quite right. First, I really wanted to have more control over the LEDs. However, by the time that I realized that my serially-interfaced display driver wasn't going to show up on time, I had already used all the pins on the Arduino, making if very difficult to multiplex additional output. Also, I ordered a 20x4 blue-on-white LCD display, but it was large than I expect and didn't fit in my enclosure. I would have liked to used it because it's a great color and would have been easy to read, but alas. Furthermore, I made a couple mistakes on the laser-cutting side, making the tabs the wrong size, necessitating hot glue in the assembly of the finished device.
Q: What's your favorite feature?:
A. My favorite feature is that the button sticks through all the way, meaning that if someone forcefully slams the button, the force simply goes through the player and into the wall. This way, even clumsy, mildly inebriated partygoers can play or pause music without endangering the device.
Q: Will you actually be using it in the future?
A: My intention with this device was to build something that I might actually use. If I had tried to copy an ipod, i know that my final product would have been inferior. Therefore, I chose not to compete and instead go for something completely out of left field. This player will have a home on my wall for years to come.