VPedia:Beitrag/Pop'n Music ASC / Dekoleuchte
Da wir gerne unseren eigenen Pop'n Music ASC basteln wollten, haben wir uns ein paar Gedanken über mögliche Umsetzungen gemacht... Einfach ein Gamepad in eine Kiste zu packen, war keine technische Herausvorderung und daher nicht die erste Wahl. Ein PNM ASC ist nicht gerade klein, also wohin damit nach dem Spielen? Mit beleuchteten Buttons wäre das Teil ja schon fast als Raumbeleuchtung zu gebrauchen - aber mit diesen Farben? Die schönere Variante wären sicher eine RGB-Belechtung mit variablen Farben. So kamen wir dann letztendlich zu unserer Pop'n Music ASC-Dekoleuchten-Idee. Da wir keine große Erfahrung mit Holz-/Lackierarbeiten, Schaltungsentwurf und C-Programmierung hatten, stand unserem Projekt also nichts mehr im Wege ;-). Am Ende hat alles ganz gut hingehauen, aber die Schaltung hat zum Glück ein netter Bekannter übernommen.

Das kann der fertige Controller:
- ASC-Modus
- HID USB-Gamepad mit 11 Tasten + Zusatztaste
- Buttons leuchten in den PNM Farben
- Farbwechsel bei Tastendruck
- Beleuchtungsauswahl: 9-Buttons / 5-Buttons / 2-Player / 9-Buttons (invertiert)
- Dekoleuchten-Modus
- fließender Farbwechsel zwischen den Spektralfarben
- Geschwindigkeitsauswahl
- Auswahl zwischen wellenförmigem / gleichmäßigem Farbwechsel
- Testmodus
So, dann mal viel Spaß beim Nachbauen! Eine PS2 Variante wäre sicher auch interessant...
Material
Platine
Die Bauteile für die Platine haben wir bei reichelt elektronik bestellt. Der Einfachheit halber gibt es hier unseren gesammten Warenkorb (inkl. Reserven).
Artikelnummer Bezeichnung Anzahl ____________________________________________________________ H25PR150 Lochrasterplatine, Hartpapier, 150x10 1 SL 1X40G 2,54 40pol. Stiftleiste, gerade, RM 2,54 2 GS 40 IC-Sockel, 40-polig, doppelter Federk 1 µA 7805 Spannungsregler 1A positiv, TO-220 1 ZF 3,6 Zener-Diode 0,5W 3,6V 6 12,0000-HC49U-S Standardquarz, Grundton, 12,0 MHz 3 ATMEGA 16-16 DIP ATMega AVR-RISC-Controller, DIL-40 1 UDN 2981 Driver, DIL-18 = TD 62783AP 4 74HC 595 IC-SCHALTUNG 4 X7R-2,5 100N Vielschicht-Keramikkondensator 100N, 12 RAD 10/35 Elektrolytkondensator, 5x11mm, RM 2,0 2 KERKO 22P Keramik-Kondensator 22P 2 METALL 68,0 Metallschichtwiderstand 68,0 Ohm 4 METALL 10,0K Metallschichtwiderstand 10,0 K-Ohm 4 METALL 1,00M Metallschichtwiderstand 1,00 M-Ohm 2 METALL 1,50K Metallschichtwiderstand 1,50 K-Ohm 2 METALL 470 Metallschichtwiderstand 470 Ohm 12 METALL 430 Metallschichtwiderstand 430 Ohm 15 METALL 510 Metallschichtwiderstand 510 Ohm 12 METALL 4,70K Metallschichtwiderstand 4,70 K-Ohm 2
Gehäuse
Für das Gehäuse haben wir uns MDF-Platten mit den folgenden Maßen zuschneiden lassen. Der Rahmen für die Bodenplatte besteht aus einem ca. 2 m langen und 1 cm breiten Kantholz.
- 1x 72,5 cm x 30,5 cm x 1,5 cm
- 2x 28,5 cm x 8,0 cm x 1,0 cm
- 2x 72,5 cm x 8,0 cm x 1,0 cm
- 1x 72,5 cm x 30,5 cm x 0,5 cm
- 1x 70,5 cm x 28,5 cm x 0,5 cm
Pushbuttons
- 9x Jumbotaste, 98 mm, weiß
- 3x Leuchttaster, 26 mm x 45 mm, blau
- 9x LED 5 mm 4 Pin RGB "5000mcd" gemeinsamer Minuspol - diffus
- 3x LED 5 mm weiß Flachkopf / Strawhat 60° 5000 mcd +R
Sonstiges
- Schaltnetzteil AD2830-12 (Pollin Electronic)
- ISP6-Programmer
- USB-Einbaubuchse
- Mini-Wippenschalter
- Hohlstecker-Buchse
- USB-Kabel
- Buchsenleiste
- Flachsteckerhülsen
- Litze
- Schrumpfschlauch
- Kabelbinder
- Schrauben
- Nägel
- Leim
- Lack
- Werkzeug
- ...
Platine

Wie bereits erwähnt ist der Schaltungsentwurf nicht von uns. Hier mussten wir auf die Hilfe von einem befreundeten Fachmann zurückgreifen, welcher netterweise auch sofort alles für uns zusammengelötet hat (hier nochmal ein großes Dankeschön! an Peter :-) ). Ungeübte sollten für die Lötarbeiten mit mehreren Stunden rechnen. Mithilfe der Pläne sollte das Ganze aber auch hier gut zu schaffen sein. Für die Umsetzung der Software mussten wir uns noch in ein Paar Themengebiete einarbeiten. Diese haben wir für Interessierte mit (Wikipedia)-Links versehen. Um die Software auf die fertige Platine zu spielen benötigt ihr noch einen ISP6-Programmer (ca. 15€ bei Ebay).
Hardware
Das Herzstück der Schaltung ist ein ATMega16 Mikrocontroller der Firma Atmel, welcher mit einer Taktung von 12MHz betrieben wird. Die Anschlüsse für die Pushbuttons werden als Eingänge geschaltet. Die Ausgänge bedienen den USB-Anschluß und, mittels SPI, vier Schieberegister. Diese sind in Reihe geschaltet und können so die einzelnen LEDs ansprechen. Für eine schnelle Programmierung gibt es noch einen ISP6-Programmieranschluß.
Partlist Exported from GamePad.sch at 30.08.2010 14:40:57 EAGLE Version 4.16r2 Copyright (c) 1988-2006 CadSoft Part Value Device Package Library Sheet C1 100n C-EU025-025X050 C025-025X050 rcl 3 C2 10u CPOL-EUE2.5-5 E2,5-5 rcl 1 C3 100n C-EU025-025X050 C025-025X050 rcl 3 C4 100n C-EU025-025X050 C025-025X050 rcl 3 C5 330n C-EU025-025X050 C025-025X050 rcl 1 C6 100n C-EU025-025X050 C025-025X050 rcl 1 C7 22p C-EU025-030X050 C025-030X050 rcl 2 C8 22p C-EU025-030X050 C025-030X050 rcl 2 C9 100n C-EU025-025X050 C025-025X050 rcl 2 C10 100n C-EU025-025X050 C025-025X050 rcl 3 C11 100n C-EU025-025X050 C025-025X050 rcl 3 C12 100n C-EU025-025X050 C025-025X050 rcl 3 C13 100n C-EU025-025X050 C025-025X050 rcl 3 C14 100n C-EU025-025X050 C025-025X050 rcl 3 D1 1N4004 1N4004 DO41-10 diode 1 D3 3V6 ZENER-DIODEDO34-7 DO34Z7 diode 1 D4 3V6 ZENER-DIODEDO34-7 DO34Z7 diode 1 F1 FUSESH22,5 FUSESH22,5 SH22,5 fuse 1 IC1 UDN2981AN UDN2981AN DIL18 uln-udn 3 IC2 UDN2981AN UDN2981AN DIL18 uln-udn 3 IC3 7805T 7805T TO220H linear 1 IC4 MEGA16-P MEGA16-P DIL40 atmel 2 IC5 74HC595N 74HC595N DIL16 74xx-eu 3 IC6 74HC595N 74HC595N DIL16 74xx-eu 3 IC7 74HC595N 74HC595N DIL16 74xx-eu 3 IC8 74HC595N 74HC595N DIL16 74xx-eu 3 IC9 UDN2981AN UDN2981AN DIL18 uln-udn 3 IC10 UDN2981AN UDN2981AN DIL18 uln-udn 3 JP1 PINHD-1X8 1X08 pinhead 3 JP2 ISP PINHD-2X3 2X03 pinhead 2 JP3 ISP voltage JP1E JP1 jumper 2 JP4 PINHD-1X2 1X02 pinhead 2 JP5 PINHD-1X8 1X08 pinhead 3 JP6 PINHD-1X8 1X08 pinhead 3 JP7 PINHD-1X8 1X08 pinhead 3 JP8 Reset JP1E JP1 jumper 2 JP9 PINHD-1X2 1X02 pinhead 1 JP10 PINHD-1X1 1X01 pinhead 2 JP11 PINHD-1X4 1X04 pinhead 1 JP12 PINHD-1X3 1X03 pinhead 2 JP13 PINHD-1X8 1X08 pinhead 2 JP14 PINHD-1X8 1X08 pinhead 2 Q2 12MHz XTAL/S QS special 2 R1 R-EU_0204/2V 0204V rcl 3 R2 68 R-EU_0204/5 0204/5 rcl 1 R3 68 R-EU_0207/10 0207/10 rcl 1 R4 1k5 R-EU_0204/2V 0204V rcl 1 R5 1M R-EU_0207/10 0207/10 rcl 1 R6 4k7 R-EU_0207/10 0207/10 rcl 2 R7 R-EU_0204/2V 0204V rcl 3 R8 R-EU_0204/2V 0204V rcl 3 R9 R-EU_0204/2V 0204V rcl 3 R10 R-EU_0204/2V 0204V rcl 3 R11 R-EU_0204/2V 0204V rcl 3 R12 R-EU_0204/2V 0204V rcl 3 R13 R-EU_0204/2V 0204V rcl 3 R14 R-EU_0204/2V 0204V rcl 3 R15 R-EU_0204/2V 0204V rcl 3 R16 R-EU_0204/2V 0204V rcl 3 R17 R-EU_0204/2V 0204V rcl 3 R18 R-EU_0204/2V 0204V rcl 3 R19 R-EU_0204/2V 0204V rcl 3 R20 R-EU_0204/2V 0204V rcl 3 R21 R-EU_0204/2V 0204V rcl 3 R22 R-EU_0204/2V 0204V rcl 3 R23 R-EU_0204/2V 0204V rcl 3 R24 R-EU_0204/2V 0204V rcl 3 R25 R-EU_0204/2V 0204V rcl 3 R26 R-EU_0204/2V 0204V rcl 3 R27 R-EU_0204/2V 0204V rcl 3 R28 R-EU_0204/2V 0204V rcl 3 R29 R-EU_0204/2V 0204V rcl 3 R30 R-EU_0204/2V 0204V rcl 3 R31 R-EU_0204/2V 0204V rcl 3 R32 R-EU_0204/2V 0204V rcl 3 R33 R-EU_0204/2V 0204V rcl 3 R34 R-EU_0204/2V 0204V rcl 3 R35 R-EU_0204/2V 0204V rcl 3 R36 R-EU_0204/2V 0204V rcl 3 R37 R-EU_0204/2V 0204V rcl 3 R38 10k R-EU_0204/2V 0204V rcl 3 R41 10k R-EU_0204/5 0204/5 rcl 1
Software
Unsere Software verwendet den firmware-only USB Treiber V-USB. Daher steht der Sourcecode unter der GNU General Public License Version 2 (GPL) zu freien Verfügung. Die Gamepad-Implementierung wurde weitestgehend vom V-USB-Projekt SNES/NES Gamepad and Atari Joystick to USB Adapter übernommen. Für die Steuerung der LEDs mussten wir dann noch eine Software-PWM (zum Dimmen / Mischen der Farben) für die Schieberegister schreiben. Das Fading war auch noch ein wenig knifflig, da ohne Gammakorrektur nicht viel zu sehen war. Die restlichen Spielereien waren dann schnell erledigt. Der Code könnte sicherlich schöner sein, aber mehr haben unsere begrenzten C-Kentnisse leider nicht hergegeben. Aber das Wichtigste ist - es funtkioniert tatsächlich :-p...
Taster & LEDs

Die fertig verlöteten LEDs lassen sich mit etwas Heißkleber prima in der Glimmlampen-Halterung befestigen. Eine optimale Ausleuchtung der Buttons ergibt sich, wenn der LED-Boden 1,5 cm über die Glimmlampen-Halterung hinausragt. Die Litze haben wir links und rechts durch die Löcher der Glimmlampen-Kontakte geführt. Um Litze zu sparen können sich LEDs und Taster eine Masse teilen.
Gehäuse

In die beiden Platten für den Deckel werden die Löcher für die Pushbuttons geschnitten. Die Löcher der 1,5 cm dicken Platte sollten einen Durchmesser von mindestens 87 cm haben. Mangels passender Lochsäge musste bei uns eine Stichsäge herhalten. Das Ergebnis ist zwar nicht so schön, wird aber später durch die Ränder der Buttons verdeckt. Die 0,5 cm dicke Platte erhält Löcher mit einem Durchmesser von 26 mm. Im Anschluss können beide Platten verleimt werden. Für eine rundere Optik haben wir die Kanten noch mit einer Oberfräse bearbeitet.
Alternative: Statt der unteren Platte, kann man zur Befestigung der Pushbuttons auch einfach die beiliegenden Halterungen aus Kunststoff benutzen. So spart man einiges an Arbeit.
Die Löcher für die kleinen Buttons und Anschlüsse haben wir mit einer Laubsäge ausgeschnitten. Danach einfach alles nacheinander verleimen. Zum Schluss noch das Kantholz zuschneiden, mit 0,5 cm Randabstand an die Innenseiten nageln, Bodenplatte auflegen und Schrauben einsetzen. Fertig ist das Gehäuse.
Lackierung
Vor der eigentlichen Lackierung haben wir alle Fugen verspachtelt und einen Isoliergrund aufgetragen. Der grobe Anstrich wurde gerollt, der Übergang und die Motive gepinselt. Zum Abschluss wird noch ein Klarlack gesprüht.
Aufwand & Kosten
Ursprünglich hatten wir mit ca. 150€ geplant. Wie das bei solchen Plänen immer so ist, sind es am Ende ca. 275€ geworden. Allerdings gibt es hier auch noch großes Sparpotential. Die Kosten für die Test- / Ersatzteile würden bei einem Nachbau natürlich nicht mehr anfallen und eine weniger aufwändige Lackierung würde es in den meisten Fällen sicher auch tun. Auf den Isoliergrund sollte man bei MDF allerdings nicht verzichten, da es sonst sehr stark saugt und evtl. aufquillt. Wer noch einen ISP6-Programmer benötigt sollte nochmal ca. 15€ einplanen.
Wir haben für das Projekt jetzt fast ein ganzes Jahr gebraucht. Allerdings lag die Priorität nicht sehr hoch und es gab dabei viele größere Pausen. Ein Nachbau sollte an ein bis zwei Wochenenden zu schaffen sein.
- 95€ Buttons + LEDs
- 35€ Elektronik
- 25€ Holz
- 20€ Kleinkram
- 70€ Lackierung (Material, Isoliergrund, Buntlacke, Klarlack)
- 30€ Test- / Ersatzteile