mp3-Player mit einem mp3-Shield



Seite als PDF

Die Hardware

Ein Shield ist ein Bau­teil, das auf einen Ardui­no UNO auf­ge­steckt wird. Das mp3-Shield VS1053 ver­fügt über u. a. über einen Deco­der für mp3 und einen Steck­platz für Mini-SD-Kar­ten. Es wer­den zwar alle digi­ta­len und ana­lo­gen Anschlüs­se her­aus­ge­führt, sie sind aber nur sehr ein­ge­schränkt nutz­bar.

Das Shield ver­wen­det den ⇒SPI-Bus und auch noch ande­re digi­ta­le Pins, die für die Ansteue­rung des Shields benö­tigt wer­den. Daher sind nur die 🔗digi­ta­len Pins 5 und 10 unein­ge­schränkt nutz­bar.

Ziel des Projekts

mp3-Datei­en sol­len von einer SD-Kar­te abge­spielt wer­den. Du benö­tigst eine Micro-SD-Kar­te, die mit FAT32 for­ma­tiert wur­de.
Kopie­re meh­re­re mp3-Datei­en auf die SD-Kar­te.
Du musst die Namen nach fol­gen­dem Mus­ter ändern und num­me­rie­ren:
track001.mp3, track002.mp3, track003.mp3 …

Der Play­er soll mit einem Tas­ten­feld mit vier Tas­ten oder mit einer Fern­be­die­nung gesteu­ert wer­den.

Benötigte Bibliotheken

Funktionen der Bibliothek VS1053

Schlüs­sel­wortAkti­on
begin()Play­er star­ten
get­Sta­te()Sta­tus des Play­ers abfra­gen
0 = der Play­er wur­de nicht gestar­tet
1 = der Start des Play­ers war erfolg­reich
playTrack(Nummer)
track001.mp3 → playTrack(1)
track002.mp3 → playTrack(2)
spielt den Track (Num­mer)
Track darf eine wav oder mp3-Datei sein
playMP3(Dateiname)
track001.mp3 → playMP3(track001.mp3)
track002.mp3 → playMP3(track002.mp3)
im Unter­schied zu play­Track()
dür­fen Datei­na­men ange­ge­ben wer­den
stop­Track()stoppt den gera­de lau­fen­den Track
pau­se­Mu­sic()pau­siert den gera­de lau­fen­den Track
resu­me­Mu­sic()setzt die Wie­der­ga­be nach der Pau­se fort
isPlay­ing()stellt fest, ob gera­de die Wie­der­ga­be läuft
0 = es wird nichts abge­spielt
1 = es wird eine Track abge­spielt
setVolume(links, rechts)Laut­stär­ke set­zen -> links, rechts
1, 1 sehr laut
je grö­ßer der Wert, des­to lei­ser
setVolume(beide_Kanäle)setzt die Laut­stär­ke für links/rechts auf den glei­chen Wert
setBassAmplitude(Wert);Bäs­se ein­stel­len: erlaub­te Wer­te: 0 bis 15
setTrebleAmplitude(Wert)Höhen ein­stel­len: erlaub­te Wer­te: -8 bis 7
Send­Sin­gleM­I­DI­no­te()spielt ein „Beep“

Player im Seriellen Monitor

Bei­spiel: ein­fa­cher mp3-Play­er mit Steue­rung über den Seri­el­len Moni­tor

Player mit Tastenfeld

Die Bele­gung der Tas­ten:

  • 1: ein Titel vor­wärts
  • 2: ein Titel zurück
  • 3: Titel nach einer Pau­se wei­ter spie­len
  • 4: Titel pau­sie­ren

Das Tastenfeld

Der Schaltplan

Bibliotheken und Variable

Im Kopf des Pro­gramms wer­den die benö­tig­ten Biblio­the­ken ein­ge­bun­den und die Varia­blen defi­niert.

Der setup-Teil

Der loop-Teil

Funktionen

im loop-Teil wer­den meh­re­re ⇒Funk­tio­nen auf­ge­ru­fen:

Player mit Fernbedienung

Die Ver­wen­dung einer ⇒Fern­be­die­nung (Keyes-Fern­be­die­nung) bie­tet mehr Mög­lich­kei­ten, den Play­er zu steu­ern:

  • Pfeil links: vor­he­ri­ger Titel
  • Pfeil rechts: nächs­ter Titel
  • Pfeil unten: Laut­stär­ke um 5 ver­rin­gern
  • Pfeil oben: Laut­stär­ke um 5 erhö­hen
  • OK: Zufalls­ge­nera­tor aus­schal­ten

Testprogramm Keyes-Fernbedienung

Die Fern­be­die­nung sen­det beim Druck auf die Tas­ten einen Zah­len­code.

Pfeil oben
70 (0x46)
Pfeil linksTas­te OKPfeil rechts
68 (0x44)64 (0x40)67 (0x43)
Pfeil unten
21 (0x15)
Tas­te 1Tas­te 2Tas­te 3
22 (0x16)25 (0x19)13 (0xD)
Tas­te 4Tas­te 5Tas­te 6
12 (0xC)24 (0x18)94 (0x5E)
Tas­te 7Tas­te 8Tas­te 9
8 (0xB)28 (0x1C)90 (0x5A)
Tas­te *Tas­te 0Tas­te #
66 (0x42)82 (0x52)74 (0x4A)

Testprogramm beliebige Fernbedienung

Der Zufalls­ge­nera­tor ist lei­der nur ein „Pseudo“-Zufallsgenerator. Nach jedem Neu­start des Pro­gramms star­tet der Play­er immer mit dem glei­chen Titel. Er prüft auch nicht, ob der nach­fol­gen­de Titel nicht erst kur­zem abge­spielt wur­de. Ich den­ke aber, dass die zufäl­li­ge Rei­hen­fol­ge umso brauch­ba­rer wird, je mehr Titel auf der SD-Kar­te vor­han­den sind.

Mit der Tas­te „OK“ auf der Fern­be­die­nung wird der Zufalls­ge­nera­tor ein- oder aus­ge­schal­tet.

Der Schaltplan

Das Programm

Quellen


Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Ähnliche Projekte:


Letzte Aktualisierung: Jan. 2, 2026 @ 10:11

Inhalt