Für alle, die sich schon mal mit dem Ding herumgeärgert haben, hier eine kleine Sammlung vereinfachter Funktionen, man benötigt dann nichtmal eine Lib:
//mp3 is a softserial with 9600 bit/s
void mp3_send(byte cmd, byte d1, byte d2)
{
byte n=0;
mp3.write(byte(126)); //start
mp3.write(byte(255)); //vers
mp3.write(byte(6)); //len
mp3.write(cmd); //command
mp3.write(byte(0)); //no feddback
mp3.write(d1); //data 1
mp3.write(d2); //data 2
mp3.write(byte(239)); //end
delay(10);
}
void mp3_init()
{
mp3_send(12,0,0); //reset
mp3_send(9,0,2); //sd card
}
void mp3_volume(byte v)
{
mp3_send(6,0,v);
//6=cmd, 0=not used, v=volume 0...30
}
void mp3_play(byte n)
{
mp3_send(15,1,n);
//15=cmd, 1=folder "01", n=index of title e.g. 1 ... 999 (is for 001xxx.mp3 ... 999xxx.mp3)
}