Forum: Mikrocontroller und Digitale Elektronik Arduino mp3 Shield Dateien gezielt anspielen


von Andreas G. (angri)


Lesenswert?

Hallo.
Ich habe gerade ein VS1053 mp3 Shield in Betrieb genommen und möchte 
damit einen mp3 Player für die Kids bauen. Dabei möchte ich folgende 
Funktionalität abbilden:

Druck auf Knopf 1:
Gehe in Ordner "1" auf der SD Karte und spiele dort die erste Datei ab, 
dann die zweite usw...

Druck auf Knopf 2:
Gehe in den Ordner "2" auf der SD Karte und spiele dort die erste Datei 
ab, dann die zweite usw...

In meinem Sketch habe ich es schon  geschafft, die Ordner zu wechseln 
und gezielt Tracks abzuspielen mit z.B.
1
MP3player.playMP3("track004.mp3");

Allerdings bedingt das, das die mp3s dort strukturiert abgelegt werden 
müssen.
Gibt es eine Möglichkeit, in Ordner X zu wechseln und von dort die 
erste, zweite, dritte Datei usw. abzuspielen?

Mit
1
MP3player.playTrack(3)
wird das ganze ja so wie ich das nachvollzogen habe global auf der SD 
Karte gehandhabt.
Ich hoffe, ich konnte mich einigermaßen verständlich ausdrücken ;-)

Hier mein aktueller Code zum besseren Verständnis:
1
#include <SPI.h>      // libraries
2
#include <SdFat.h>
3
// #include <SdFatUtil.h>
4
#include <SFEMP3Shield.h>
5
6
SdFat sd;       //SD Karte benennen
7
SFEMP3Shield MP3player;   //MP3 Shield als „MP3Player benennen
8
9
int t=6000;       //Der Wert für „t“ gibt im Code den zeitlichen Abstand zwischen dem Abspielen der Datei an.
10
11
12
void setup() {
13
Serial.begin (9600);
14
  if(!sd.begin(9, SPI_HALF_SPEED)) sd.initErrorHalt();  //SD Karte mit MP3 Dateien auslesen
15
  if (!sd.chdir("/")) sd.errorHalt("sd.chdir");
16
17
  MP3player.begin();    //MP3 Shield starten
18
  MP3player.setVolume(10,10); //Die Lautstärke einstellen 
19
  
20
}
21
22
void loop() {
23
24
  MP3player.available();
25
26
  sd.chdir("/a02/",true);
27
  MP3player.playMP3("track003.mp3");
28
29
  delay(3000);
30
  sd.chdir("/a03/",true);
31
  MP3player.playMP3("track004.mp3");
32
   
33
  delay(3000);
34
    
35
}

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.