Zusätzlich benötigte Hardware
a) Ein zusätzlicher Taster (1-poliger Schließer), der zwischen PortD.3 (also Lötpad D3) und GND angeschlossen wird. Der benötigte Pullup-Widerstand wird im Controller intern hinzugeschaltet.
b) Bauteile für "Simple SD Audio Player": ATTiny85, SD-Kartenhalter, vier Kondensatoren, Lautsprecher, Spannungsregler ADP3303-3.0
Da die SD-Karte mit Spannungspegeln von 2,7 ... 3,3 V arbeitet, wurde ein 3,0 V LowDrop Linearspannungsregler ADP3303-3.0 verwendet, der zusätzlich über einen Shutdown-Pin verfügt. Wenn Shutdown auf GND gezogen wird, dann werden die 3V abgeschaltet und der Spannungsregler verbraucht im Standbymodus nur wenige µA. Der Shutdown-Pin wird am Portpin D.1 der Ping Pong Platine angeschlossen, sodass der Atmega8 die Spannungsversorgung für den Simple SD Audio Player ein- und ausschalten kann.
Da mit einer minimalen Anzahl von Bauelementen ausgekommen werden soll, wurde auf den eigentlich erforderlichen Tiefpass am PWM-Ausgang des ATtiny85 verzichtet. Stattdessen wird über einen Elko direkt ein kleiner Lautsprecher angeschlossen. Zu beachten ist, dass hier kein Verstärker und keine Aktivboxen angeschlossen werden dürfen, da diese ohne Tiefpass zerstört werden könnten.
Simple SD Audio Player
Der Attiny85 liest die Daten einer WAV-Datei von der SD-Karte ein und erzeugt über eine integrierte PWM-Einheit eine Soundausgabe. Unterstützt werden Dateien im RIFF-WAVE format/LPCM, 8/16-bit, mono/stereo und bis zu 48 kHz Samplingrate. Trotz des geringen Hardwareaufwands wird eine erstaunliche gute Soundqualität erreicht, wenn die WAV-Dateien eine entsprechend gute Qualität haben, z.B. 44 kHz Samplingrate.
Das Originalprojekt mit Beschreibung stammt von einem Japaner und ist hier zu finden: http://elm-chan.org/works/sd8p/report.html
Download: 1003SingSong.zip