Festtagsmusik mit der Ping-Pong-Platine

von Otto Effinger

Elektronik-Labor  Labortagebuch  ELO  Mikrocontroller

 
Es können über die 2 Potis für 3 verschiedene Festtage jeweils 3 passende Lieder ausgewählt werden, die dann nach Münzeinwurf über einen von der Ping-Pong-Platine ferngesteuerten MP3-Player abgespielt werden. Zur Auswahl stehen Ostern (bzw. allgemein Frühling), Geburtstag sowie Weihnachten. Während die Musik läuft, wird im Display ein zum gewählten Festtag passendes Logo angezeigt.
Ein Video, auf dem das Geburtstagslied 1 abgespielt wird, kann hier angesehen werden:
http://www.youtube.com/watch?v=zFxA-tNJ9ws


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. Der Taster wird nur beim erstmaligen Einrichten benötigt und wird am besten intern im Ping-Pong Gehäuse so montiert, dass dieser durch Anheben des Deckels gut erreichbar ist.

b) MP3-Player, hier wurde das Modell DMP-200 verwendet, Hersteller Hama, Modellnummer 00055458).

c) Kopfhörer oder Mini-Aktivboxen zum Anschluss an den MP3-Player.

d) 2 Optokoppler mit 2 Vorwiderständen jeweils auf der Primärseite, um die Tasten "Play/Pause" und "Forward" des MP3-Players fernsteuern zu können. Die Tasten werden durch jeweils durch den Sekundärkreis der Optokoppler überbrückt. Die Taste Play/Pause wird über PORTC.4 und die Taste Forward über PORTC.5 des ATmega8 gesteuert.

Ein Schaltplan ist in der Datei festtagsmusik_schaltplan.png zu finden.



Einrichten des MP3-Players

Damit die Fernsteuerung korrekt funktioniert, muss der MP3-Player nach dem Einschalten immer mit Lied 1 beginnen.

Die Fernsteuerung führt folgende Schritte durch:
a) Power-On des MP3-Players durch langes Aktivieren der Play/Pause-Taste
b) Anwahl des gewählten Liedes durch mehrfaches Betätigen der Forward-Taste, bzw. beim ersten Lied durch Betätigen der Play/Pause-Taste
c) Nach Ablauf der Spieldauer Betätigen der Play/Pause-Taste
d) Power-Off des MP3-Players durch langes Aktivieren der Play/Pause-Taste

Einmaliges Einrichten des hier gewählten Modells DMP-200 (Hersteller Hama, Modellnummer 00055458):
a) SD-Karte mit FAT-Dateisystem formatieren
b) Einzeln (damit nachher die Abspielreihenfolge passt) die gewünschten Lieder im MP3-Format auf die SD-Karte kopieren: zuerst Lied 1-3 für Ostern (z.B. Alle Vögel sind schon da), dann Lied 4-6 für Geburtstag (z.B. Happy Birthday) und schließlich Lied 7-9 für Weihnachten (z.B. Stille Nacht). Es ist von Vorteil, wenn am Ende eines Liedes noch eine Pause von einigen Sekunden in der MP3-Datei vorhanden ist, da dann vermieden wird, dass später evtl. noch ein kurzes Stück des nachfolgenden Liedes abgespielt wird.
c) SD-Karte in MP3-Player einlegen und manuell einschalten durch langes Drücken der Play/Pause-Taste.
d) Gewünschte Lautstärke am MP3-Player manuell einstellen.
e) Während Lied 1 abgespielt wird, den MP3-Player manuell ausschalten durch langes Drücken der Play/Pause-Taste.
f) SD-Karte entnehmen, Lock-Schalter aktivieren und wieder in den MP3-Player einlegen. Normalerweise speichert der MP3-Player beim Ausschalten das zuletzt gespielte Lied sowie die Lautstärke in einer speziellen Datei auf der SD-Karte, durch den aktivierten Lock-Schalter führt er dies zukünftig jedoch nicht mehr durch. Somit wird nach Power-On immer mit dem vor dem Lock-Schalter zuletzt gewählten Lied 1 begonnen.




Abspeichern der Spieldauer der einzelnen Lieder

Bei der ersten Inbetriebnahme müssen einmalig die Spieldauern der einzelnen Lieder erfasst und gespeichert werden. Dies wird folgendermaßen durchgeführt:
a) Versorgungsspannung der Ping-Pong-Platine ausschalten.
b) Bei gedrücktem Taster die Versorgungsspannung einschalten, dadurch wird der Setup-Modus aktiviert.
c) Im Display erscheint nun der Festtag (O für Ostern, G für Geburtstag, W für Weihnachten) sowie die Liednummer (1, 2 oder 3). Mit dem linken Poti oberhalb des Münzschlitzes kann der Festtag ausgewählt werden und mit dem rechten Poti die Liednummer 1-3 des Festtags.
d) Durch Drücken des Tasters wird der MP3-Player ferngesteuert eingeschaltet, das gewählte Lied abgespielt sowie die Zeitmessung im Controller der Ping-Pong-Platine gestartet. Die abgelaufene Zeit wird als ungefährer Wert in Sekunden auf dem Display angezeigt.
e) Sobald der letzte Ton des Liedes verklungen ist, muss erneut der Taster gedrückt werden. Die gemessene Zeit wird dann im internen EEPROM des Atmega8 abgespeichert und der MP3-Player ferngesteuert abgeschaltet.
f) Im Display erscheint wieder die Anzeige des Festtags und die Liednummer. Nun kann das nächste Lied angewählt werden und so die Zeitmessung für jedes der 9 Lieder durchgeführt werden wie ab Punkt c) beschrieben.
g) Nachdem alle Spieldauern erfasst wurden, wird die Versorgungsspannung kurz aus- und dann wieder eingeschaltet, dieses mal ohne gedrückten Taster. Das je nach Stellung der beiden Potis gewählte Lied wird abgespielt und dann anschließend der Standby-Modus aktiviert. Zukünftig kann nun die Bedienung wie unter 5) beschrieben erfolgen.



Anzeige und Bedienung

Zuerst werden die Potis in die gewünschte Stellung gebracht:

Mit dem linken Poti oberhalb des Münzschlitzes kann der Festtag ausgewählt werden. Der Einstellbereich des Potis ist hierzu in 3 Teile unterteilt:
- Bereich am linken Anschlag: Ostern (bzw. allgemein Frühling)
- Mittelstellung: Geburtstag
- Bereich am rechten Anschlag: Weihnachten

Mit dem rechten Poti wird die gewünschte Liednummer 1-3 des Festtags ausgewählt. Der Einstellbereich des Potis ist hierzu ebenfalls in 3 Teile unterteilt.

Durch Einwurf einer Münze werden die gewählten Einstellungen bestätigt. Im Display erscheint kurz eine Kennung des Festtags (O für Ostern, G für Geburtstag, W für Weihnachten) sowie die Liednummer (1, 2 oder 3), anschließend wird das zum Festtag passende Logo blinkend angezeigt (Osterhase, Geburtstagsgeschenk oder Weihnachtsbaum). Der MP3-Player wird ferngesteuert eingeschaltet und das gewünschte Lied angewählt. Das Logo leuchtet nun dauerhaft und das Lied wird abgespielt. Nachdem die Spieldauer abgelaufen ist, blinkt das Logo wieder und der MP3-Player wird ferngesteuert ausgeschaltet. Anschließend wird die Ping-Pong-Platine in den stromsparenden Standby-Modus versetzt, bis erneut eine Münze eingeworfen wird.

Ein abgespieltes Lied kann durch Drücken des Tasters vorzeitig abgebrochen werden, der MP3-Player wird dann ferngesteuert ausgeschaltet. Dies ist für den Testbetrieb nützlich.



Quellcode

Der Code wurde mit dem C-Compiler CodeVision AVR (Version 2.04.6 Evaluation) erstellt. Diese Evaluation-Version kann für den privaten nicht-kommerziellen Gebrauch kostenlos verwendet werden und ist auf eine Codegröße von 3 kB beschränkt, was für diese Anwendung ausreicht. Das komplette Projekt ist in der ZIP-Datei enthalten (Projektdatei für CodeVison AVR ist fest.prj).


Quellen/Links:
Video: http://www.youtube.com/watch?v=zFxA-tNJ9ws
C-Compiler CodeVision AVR: http://www.hpinfotech.ro/html/download.htm


Download:  1004FestMusik.zip


Elektronik-Labor  Labortagebuch  ELO  Mikrocontroller