I’ve been trying to get this board to work properly and play tracks I want on demand… The Arduino examples provided for Arduino 0022 works, but it plays all of the tracks sequentially on boot up.
The only thing remotely close is the Library & Examples written by Bill Porter. The only thing is that it locks up after playing one or two tracks…
While it states that it is for the Sparkfun MP3 board, it directly supports the SeeedStudio Music Board since it states so in the skectch & documents as both boards are based on the same chipset.
Getting set up: (assuming we are using an Arduino Uno)
Step 1: Install Arduino IDE 1.0.5
Step 2: Download the SFEMP3Shield Library from Bills link above
Step 3: Copy the SDFat Library directory to the Arduino/libraries directory (these are bundled with Bill’s files)
Step 4: Download the necessary libraries into the Arudino/libraies/subdirectories, you will need: TimerOne, SimpleTimer
Step 5: Mod the sketch for the SeeedStudio Music Board (Arduino IDE Menu, go to File/Examples/SEMP3/MP3Shield_Library_Demo)
Step 6: Mod the SFEMP3ShieldConfig.h file to work with the SeeedStudio Music Board
Step 7: Format the SD Card to Fat16 or Fat32 (must be 2Gb or smaller in size)
Step 8: Copy over the plugin files (all of the files ending in .053 and bundled with Bill’s files in the plugins directory) & mp3 tracks to the root of SD Card (No subdirectories)
Step 6: Upload the sketch to the Arduino Uno
Step 7: Open up the Serial monitor to see the following:
Free RAM = 2292 Should be a base line of 1040, on ATmega328 when using INTx
Arduino SFEMP3Shield Library Example:
courtesy of Bill Porter & Michael P. Flaga
COMMANDS:
[1-9] to play a track
[f] play track001.mp3 by filename example
[F] same as [f] but with initial skip of 2 second
[s] to stop playing
[d] display directory of SdCard
[+ or -] to change volume
[> or <] to increment or decrement play speed by 1 factor
[i] retrieve current audio information (partial list)
[e] increment Spatial EarSpeaker, default is 0, wraps after 4
[p] to pause.
[r] resumes play from 2s from begin of file
[R] Resets and initializes VS10xx chip.
[t] to toggle sine wave test
[m] perform memory test. reset is needed after to recover.
[M] Toggle between Mono and Stereo Output.
[g] Skip to a predetermined offset of ms in current track.
[k] Skip a predetermined number of ms in current track.
[O} turns OFF the VS10xx into low power reset.
[o} turns ON the VS10xx out of low power reset.
[D] to toggle SM_DIFF between inphase and differential output
[S] Show State of Device.
[V] Enable VU meter Test.
[h] this help
At this point if I type 1 (and then hit enter) then it plays track001.mp3, if I type 2 (and then hit enter) then it plays track002.mp3
[b]Here is where my issues & problems start:
The Arduino is freezing up after playing just one or two tracks and there is no error codes to tell me what is going on.
If SeeedStudios could help us with this code or supply their own set of codes to do the similar stuff on a much more modern Arduino IDE like 1.0.5 (and not 0022) it would be extremely appreciated and would help promote the use of these boards since there would be actual WORKING code.
Is the SeeedStudio V2 Music Board any better or easier to work with?[/b]