Holgi's MP3 Player mit VS1001 und MMC/SD
========================================

07.09.2006

Mein erster Versuch MP3's mit VS1001K und meinen FAT Routinen abzuspielen.
Ich wollte eigentlich nur wissen ob Fread() schnell genug ist um MP3's abzuspielen.
Ab 6MHz CPU-Takt ging es bis 320kbps. Bei 4MHz nur bis 224kbps.

Ein FAT Buffer ist nicht erforderlich !

Dies ist ein schnes Beispiel wie man Findfirst() und Findnext() benutzt.

Dieses Programm wurde bisher nur mit MMC/SD und ATMega32,161,168,8 getestet.
Vergiss die Eintrge mit ATMega128 und CompactFlash. Die sind zur Zeit nur so da.

Im Root Verzeichnis mu ein Verzeichnis MP3 existieren.
Das Testprogramm spielt alle MP3 Dateien im MP3 Verzeichnis ab.
Dort sollten nur MP3 Dateien liegen ! Siehe unten.
Das wird solange wiederholt bis STOP gedrckt wird.
Also ideal als endlose Hintergrundmusik, z.B. fr die Telefonanlage,
weil es keine beweglichen Teile gibt die verschleien knnen.

Die Dateien werden in der Reihenfolge abgespielt wie sie im Verzeichnis
liegen. Das mu NICHT heien das sie in alphabetischer Reihenfolge
abgespielt werden !

Eine RC5 Infrarot Fernbedienung ist vorgesehen ! Einfach einen TSOP1736,
TSOP1836 oder SFH505 oder hnlich am INT0 Eingang anschlieen.

Da ich ein 40x2 LCD benutzt habe wurde die Ausgabe von langen Dateinamen
in find_x.h auf 40 Zeichen gekappt. Also kein scrolling des Titels.
Die LCD Ausgabe funktioniert hier nur mit 40x2 Displays. Nicht grer,
nicht kleiner. Da mu das Programm gendert werden.

Probleme/Bugs
=============

Es sollten keine Dateien auer MP3's im Verzeichnis liegen.
Sonst funktioniert die PREV Funktion mglicherweise nicht mehr !

Mit Next kann man vom letzten Song auf den ersten Song springen.
Man kann aber nicht wenn der erste Song gespielt wird mit Prev auf den
letzten Song springen ! Also kein vollstndiger Kreis fr Next,Prev.

Beim einschalten des Players gibt es einen unangenehmen Knacks.
Der ist immer zu hren wenn der Hardware Reset durchgefhrt wird.
Beim Software Reset zwischen den Songs gibt es keine Knackser.
Das ist ein Designfehler vom VS1001. Bei VLSI wird empfohlen die
Ausgnge beim einschalten irgendwie vom Ausgang wegzuschalten :(

Volume up/down, Next song, Prev song funktioniert nur wenn ein Song
gespielt wird !

Die Nummerntasten auf der Fernbedienung knnen noch nicht zur
direkten Anwahl eines Songs benutzt werden.

Tipps
=====
Fr bestes Str/Nutzverhltnis sollte man bei Line-In Eingngen
die Lautstrke vom Line-In Eingang erst runterdrehen und den Player
voll aufdrehen. Dann die gewnschte Lautstrke mit dem Regler vom
Line-In Eingang einstellen.

Macht man es umgekehrt, also Player sehr leise und Line-In voll aufgedreht
kann man leise Strgerusche aus dem Player hren.

Mit einem Kopfhrer direkt am Player konnte ich keine Strgerusche aus
dem Player wahrnehmen. Das erste Layout scheint ganz gut gelungen zu sein :)

Wozu das ganze ?
================
Man kann sich natrlich fr ein paar Krten einen fertigen Player kaufen.
Es macht aber viel mehr Spa sich selbst einen zu bauen und mit Funktionen
auszustatten die diese Gerte einfach nicht haben. 

Viel Spa mit dem Player ;)
Holger Klabunde