http://www.instructables.com/id/Cheap-and-Easy-MP3-Shield-for-Arduino/
The follow-on shows you how to design, etch and build a PCB shield to connect the MP3 to the Arduino. Replaces the analog switches with a 74HC244. SIngle layer board with large surface mount component design. Only 5 thru holes. Take a look.
Ebay abounds with sales for REALLY inexpensive MP3 "Clip" players. These players support MicroSD cards up to 8G, have a built in headphone amp, have built in volume control and Next and Previous control for stepping thru MP3 files. The Clip Players have their own battery and a mini USB port for battery charging and file exchange with the MicroSD card. (You have to supply your own MicroSD card.) And considering the low price, the sound quality is quite good.
For instance:
http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=330654403698&ssPageName=ADME:L:OU:US:1123
I had originally bought mine for $5, now up to $6.75! Better buy a few now...
If you need to add a little music or voice to your next Arduino project, this simple hack will get you there. So here is how this works. We remove the guts to one of these inexpensive little MP3 players, solder on a couple of wires to the MP3 circuit board and attach then two an Arduino protoshield (if you are using a full size Arduino, I will show wiring to an Arduino Mini also.) The circuit also requires two analog switches to completely control all the front panel buttons. The Arduino code to control the MP3 player is really simple and an example is provided. You load your sound files on to a MicroSd card and name them in a way so that they can be sequenced in the way you want. When you are done, your Arduino will be able to step to and play specific sound files, adjust volume up or down, pause, etc.
I plan on following up with an EagleCad shield design. But for right now, its wires and solder and a little programming, so Arduinites can get going.
And of course, after I wrote this, I found this one also:
http://www.instructables.com/id/Adding-MP3-to-your-project-for-300/
Hopefully whatever I have left out, you can find in the above.
Remove these ads by
Signing UpStep 1Disassembly of the MP3 Player
So, first get a really small jeweler's Philips head screwdriver and remove the two screw on the white plastic side panel. The panel will pop off when the screws are off. (A small flat blade in the microsd slot. Be gentle!)
With the side off, you will be able to push out the other side. It is U-shaped.
With the other side out, you will be able to push out the PCB and battery. Again, be slow and gentle.
Now everything is out. Cool! Lets take a look at the circuit.
| « Previous Step | Download PDFView All Steps | Next Step » |




















































A: Yes, but it wouldn't be as nearly as fun! (Those look like iPod Nanos...)
=B5@=5B <03078= -;5:B@>=8:8 ?> F5=5 ?@>872>48B5;O
My next version is going to use a single 74HC244 kept in high impedance mode until the switching takes place. I will post it if it works. Should be simple and cheap. And easier to find than the wonderful TS5A3159.
(If someone can find the data sheet for the LC2093-B, that would really help.)
You say that you can't press the buttons at "microprocessor speeds" and from the code it looks like you use 100ms presses. My guess is that you could reduce this to 20-30ms, or maybe nearly down to 10 but no lower. I think it's waiting to see if it gets one of your short high pulses.
What I think happens is that when you ground red or purple, the chip waits for at least 10ms to see if it gets one of the short pulses that would indicate connection to the common orange line. If it gets no high pulse in that time then it assumes connection to ground. If it gets a 2.5 us high pulse in the first 10ms then it assumes next or prev is pressed. Not too sure how that squares with 3.5 us pulse on red, but of course there is a connection that can't be made with that keypad - red to purple - so it could be for detecting that (I wonder what that would do).
Have you tried applying a 2.5 us pulse to vol up or vol down during the first 10 ms of holding it low? I would try a repeat of LOW for 5ms, HIGH for 2.5um, LOW for 5Ms etc for a few reps and see what happens. If you are lucky, you will be able to dispense with the switch chip and with those two control lines and just use vol + & - to control track step also. The issue might be whether you could easily generate a 3.3V "high" without messing up the signals. A level converter might be easier to source than the analogue switch chip thou'.
Anyway, just an idea - I will watch this project with interest as I wait for my shipment from HK!
http://www.sztgmic.com/res/sztgmic/pdres/201107/20110721172252817.pdf
I did do some control of the NEXT and PREV using the pins on the Arduino. What I did was watch the 2.5us signal on the one side and then relay it to the other pin. Actually made a pretty good imitation. That did work, but because the Arduino was running at 5V and the MP3 was running at 3.3V, I did a two resistor voltage divider to knock the Arduino voltage down and that resistor to ground made the MP3 automatically change the volume. I gave up after a while, each time increasing the resistance of the divider.
Man if we could use the I2C, that would be just so cool.
Even if we just knew it's 7-bit address we could mess about with the interface & might work out some functions, but without that I don't see any way in. I e-mailed them and asked for an English datasheet. Probably won't hear anything, but you never know - they might. I'll let you know if I get anything.
I guess you would connect this pin to several Ardu' pins through appropriate resistors and set all but one to INPUT. Then set the pin you need to OUTPUT and pull down though the appropriate resistor. It seems to be working as a voltage divider against the 24K to 3V3 so whether you could fool it with one PWM pin and a capacitor I don't know!
These MP3 players are incredible value! £2.40 delivered from e-bay if you are prepared to wait for it to come from HK (I have plenty of projects on so no hurry here). I'd pay that just for the battery, and you get a free mp3 player & ear-buds thrown in!
In about 6-weeks when it arrives, I will be trying this!
Having the arduino generate tones using the internal pwm or a timer interrupt would be orders of magnitude faster. Thanks and good luck with your project.
how do you take one like that apart?
http://www.youtube.com/watch?v=67j1OebOsRI