Festtagsmusik mit der Ping-Pong-Platine
von Otto Effinger
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