Mithotronic®

Home of the LEDmePlay®. Since 2013.

LEDmePlay®



Creative Commons Lizenzvertrag
Die Bauanleitung für den LEDmePlay® von Mithotronic® ist lizenziert unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Einführung

In den folgenden Abschnitten beschreiben wir den Bau des LEDmePlay®, wie er auf dieser Seite zu sehen ist. Natürlich kann man unser Design ändern und Eigenschaften hinzufügen, wie beispielsweise zusätzliche Knöpfe, ein ausgefalleneres Gehäuse oder eine anders dimensionierte LED Matrix. LEDmePlay® besteht aus dem Arduino Mega 2560, einer RGB LED Matrix und einem passenden Netzteil, sowie diversen Kabelverbindungen. Als Gehäuse lassen sich Bilderrahmen verwenden. Sämtliche zum Commodore 64 kompatible Joysticks sollten verwendbar sein. Alternativ kann man sich eigene LEDmePlay® Joypads bauen, die den Vorteil von Analogsteuerung und zwei Feuerknöpfen bieten. Die Kosten für die Bauteile für den LEDmePlay® betragen ca. 120 Euro.

Grundkomponenten

Arduino Mega 2560
RGB-LED-Matrix 32 * 32, z.B. von mechapro GmbH (www.mechapro.de, siehe Link zum Produkt), von Adafruit (www.adafruit.com, PRODUCT ID: 1484) oder eine kompatible Matrix mit der Pixel-Konfiguration SMD3528 1R1G1B (P6, d.h. mit einem Pixelabstand von 6mm mit den Abmessungen 192mm * 192mm)
2 C64/AMIGA-Joysticks (z.B. Competition Pro, Quickjoy, Quickshot) oder LEDmePlay® Joypads
Schaltnetzteil (5V, 4A) mit Überstromschutz (In der Regel sollte man auch mit einem 2A Netzteil auskommen, da die 4A nur dann benötigt werden, wenn alle LEDs auf weiß mit höchster Intensität gesetzt werden.)

Achtung: Der Arduino Mega 2560 benötigt laut Spezifikation zwischen 7 und 12 Volt Eingangsspannung. Im LEDmePlay® wird der Arduino mit nur 5V am Hohlstecker außerhalb seiner elektrischen Spezifikation betrieben. Dennoch haben wir bisher keinerlei Probleme festgestellt. Die RGB-LED Matrix darf KEINESFALLS mit mehr als 5V betrieben werden, da es sonst zu Schäden kommen wird.

Hinweis: Die mechapro GmbH verkauft ein Interface-Board, das den Bau eines LEDmePlay® vereinfacht und die Anzahl der zu lötenden Leitungen reduziert. Mehr Informationen gibt es hier.


Verbindungskabel und Knöpfe

Potentiometer 4.7KΩ (bevorzugt linear zur Lautstärkeregelung)
Drehknopf für Potentiometer
2 Drucktaster (Reset, Pause)
Kippschalter (An/Aus)
2 9-polige D-Sub Einbaustecker (für die Joysticks)
5,5mm Einbau-Hohlsteckerbuchse (Stromverbindung zum Netzteil)
5,5mm Hohlstecker (interne Verbindung zum Arduino)
Lautsprecher (z.B. LSM-50A-8 mit 8Ω)


Kleinteile

Kupferlitze (wir verwenden einen Kabelquerschnitt von 0,22mm2)
Flachbandkabel (16-polig)
Pfostenbuchse mit Zugentlastung für das Flachbandkabel
Stiftleiste (2,54mm Rastermaß, insgesamt 30 Pins)
Schrumpfschlauch
4 10mm Abstandshülsen (um den Arduino auf der Rückwand zu befestigen)
M3 Schrauben (10mm für Lautsprecher und Einbaubuchsen, 20mm und den Arduino)
M3 Muttern
M3 Federringe


Gehäuse

2 Bilderrahmen der Größe 252mm * 252mm * 45mm (gibt es beim schwedischen Möbelhändler)
Kleine Holzschrauben
4 selbstklebende Gummifüße


Übersicht aller Bauteile:

LEDmePlay<sup>®</sup>


Vorbereitung des Arduino

Vor Beginn der Bastelarbeit sollte die Arduino-Software auf dem Computer installiert werden. Diese wird benötigt um Spiele aufzuspielen oder eigene Spiele zu entwickeln. Die Arduino-Software und eine passende Anleitung insbesondere zum Aufspielen von Programmen findet man auf http://www.arduino.cc. Außerdem benötigt man zwei Bibliotheken für die RGB Matrix. Diesen finden sich auf der Adafruit-Webseite: http://learn.adafruit.com/32x16-32x32-rgb-led-matrix/downloads. Die Bibliotheken können auch direkt aus folgenden zwei GitHub Projekten heruntergeladen werden: AdafruitGFXLibraryMaster und RGBMatrixPanelMaster. Die Bibliothek müssen in das Arduino-Unterverzeichnis libraries kopiert werden (z.B. C:\Program Files (x86)\Arduino\libraries). Es ist sinnvoll den Arduino danach mit dem LEDmePlay® Selbsttest zu bespielen. Mit diesem Programm kann man alle Funktionen eines LEDmePlay® testen, d.h. überprüfen, ob alle Farbkanäle korrekt verkabelt sind, der Sound funktioniert und die Joysticks wie erwartet reagieren.

Verbindung des Arduino Mega mit der RGB-LED-Matrix und dem Netzteil

Als nächstes kümmern wir uns um die Verbindung zwischen Arduino und der RGB-LED-Matrix. Je nach Variante kann die Matrix aus einem Segment bestehen oder aus zwei Segmenten zusammengesetzt sein. In letzterem Fall müssen beide Segmente mit Strom versorgt werden. Dies erfolgt über ein Kabel, mit dem die Segmente verbunden werden. Es sollte der Matrix beiliegen. Im Bild unten rechts ist zu sehen, wie die oberen Pins, welche den Pluspol darstellen, mit dem roten Kabel verbunden werden. Die unteren Pins werden über das schwarze Kabel verbunden.

Arduino und RGB-LED-Matrix


Rückansicht der Matrix



Als nächstes ist das Verbindungskabel zu löten. Dazu wird zunächst das 16-polige Flachbandkabel durch die Zugentlastung der Pfostenbuchse gezogen und danach zwischen die Crimpkontakte geschoben. Danach wird die Buchse mit einer speziellen Crimpzange oder kräftig von Hand zusammengedrückt (siehe Bild unten links). Dieses Ende wird mit der Matrix verbunden. Das andere Ende des Kabels für die Verbindung zum Arduino erfordert noch etwas Arbeit. Zunächst müssen die Litze des Flachbandkabels abisoliert werden. Danach werden an die Drahtenden die Pins der Stiftleiste angelötet.

Flachbandkabel mit Verbinder


Flachbandkabel mit Stiftleistenstücken



Arduino und Matrix werden entsprechend dem unten dargestellten Schema verbunden. Dazu sollte die Stiftleiste in Stücke folgender Größe geschnitten werden: 4x Länge 2, 1x Länge 4, 1x einzelner Pin. Es empfiehlt sich, Schrumpfschlauch über die Litze zu stülpen, bevor man die Pins an die Litze anlötet. Nach dem Anlöten kann dann der Schlauch über die Lötstellen gezogen werden und z.B. mit einem Haartrockner erwärmt werden. Das fertige Kabelende ist auf dem Bild oben rechts zu sehen. Anmerkung zum unteren Verbindungsschema: Bei einige Arduino-Nachbauten ist die Beschriftung an der zweireihigen Buchsenleiste irreführend. Pin 24 und 25 befinden sich in der dritten Reihe der Leiste auf der rechten Seite. Oberhalb bleiben 2*2 Pins frei.

Verbindungsschema zwischen der LED-Matrix und dem Arduino Mega

Pol 1: R1 Digital 24 (1. Pin des 1. Stiftleistenstücks der Länge 2)
Pol 2: G1 Digital 25 (2. Pin des 1. Stiftleistenstücks der Länge 2)
Pol 3: B1 Digital 26 (1. Pin des 2. Stiftleistenstücks der Länge 2)
Pol 4: GND wird nicht benötigt
Pol 5: R2 Digital 27 (2. Pin des 2. Stiftleistenstücks der Länge 2)
Pol 6: G2 Digital 28 (1. Pin des 3. Stiftleistenstücks der Länge 2)
Pol 7: B2 Digital 29 (2. Pin des 3. Stiftleistenstücks der Länge 2)
Pol 8: GND wird nicht benötigt
Pol 9: A Analog 0 (1. Pin des Stiftleistenstücks der Länge 4)
Pol 10: B Analog 1 (2. Pin des Stiftleistenstücks der Länge 4)
Pol 11: C Analog 2 (3. Pin des Stiftleistenstücks der Länge 4)
Pol 12: D Analog 3 (4. Pin des Stiftleistenstücks der Länge 4)
Pol 13: CLK Digital 50 (1. Pin des 4. Stiftleistenstücks der Länge 2)
Pol 14: LAT (STB) Digital 10 (einzelner Pin)
Pol 15: OE Digital 51 (2. Pin des 4. Stiftleistenstücks der Länge 2)
Pol 16: GND wird nicht benötigt


Als nächstes wird das Y-Kabel gelötet, über das die Stromversorgung erfolgt (siehe linkes Bild). Man benötigt eine zum verwendeten Netzteilstecker passende Einbau-Hochsteckerbuchse. Die Polarität sollte vor dem Löten überprüft werden. Das dicke rote Kabel an der LED-Matrix verbindet die Pluspole. Der Arduino wird mit einem weiteren Hohlstecker verbunden, der in die Stromanschlussbuchse passt. Der innere Pin muss dabei mit dem Pluspol belegt werden. Optional kann ein An/Aus-Schalter eingelötet werden (direkt hinter den Pluspol an der Einbaubuchse). Nun ist der Aufbau bereit für einen ersten Test. Dazu sollte sichergestellt werden, dass das Netzteil auf 5V eingestellt ist und die Polarität korrekt ist (Pluspol am inneren Pin des Hohlsteckers).

Power adapter


Preparation for the first test



Nachdem Matrix und Arduino auch mit dem Flachbandkabel verbunden wurden, kann der Strom eingeschaltet werden. Nach einigen Sekunden sollte der Arduino mit der Programmausführung beginnen. Zu diesem Zeitpunkt sollte auf der LED-Matrix etwas zu sehen sein (sofern vorher der LEDmePlay® Selbsttest oder ein anderes Programm aufgespielt wurde). Glückwunsch, dies war der schwierigste Teil!

LEDmePlay<sup>®</sup>



Löten der übrigen Komponenten

Zum Anschluss der Joysticks oder LEDmePlay® Joypads dienen 9-poligen D-Sub-Stecker (siehe Übersichtstafel unten für die beiden Joysticks). Darüberhinaus müssen noch über Kabel mit einzelnen Pins die Drucktaster für Reset und Pause angeschlossen werden. Der Audio-Pin wird direkt an den Lautsprecher angeschlossen. Schleift man das Potentiometer dazwischen ein, kann man die Lautstärke regeln. Es ist zu beachten, dass alle Bauteile mit dem Groundanschluss (GND) des Arduinos verbunden werden müssen: der zweite Pin des Lautsprechers, die zweiten Pins der Drucktaster und jeweils Pin 8 der D-Sub-Stecker. Es folgt eine Übersicht der Anschlussbelegungen für die Joysticks, die Drucktaster und den Lautsprecher:

Anschlussbelegungen von Joysticks, Drucktastern und Lautsprecher

Audio-Pin Digital 2 (verbunden mit dem Potentiometer)
Joystick 1 hoch: D-Sub Stecker Pin 1 Digital 30
Joystick 1 runter: D-Sub Stecker Pin 2 Digital 32
Joystick 1 links: D-Sub Stecker Pin 3 Digital 34
Joystick 1 rechts: D-Sub Stecker Pin 4 Digital 36
Joystick 1 Analog X (nur notwendig für LEDmePlay® Joypads): D-Sub Stecker Pin 5 Analog 8
Joystick 1 Feuer: D-Sub Stecker Pin 6 Digital 38
Joystick 1 5V (nur notwendig für LEDmePlay® Joypads oder für Autofeuer): D-Sub Stecker Pin 7 5V
Joystick 1 Masse: D-Sub Stecker Pin 8 GND
Joystick 1 Analog Y (nur notwendig für LEDmePlay® Joypads): D-Sub Stecker Pin 9 Analog 9
Joystick 2 hoch: D-Sub Stecker Pin 1 Digital 31
Joystick 2 runter: D-Sub Stecker Pin 2 Digital 33
Joystick 2 links: D-Sub Stecker Pin 3 Digital 35
Joystick 2 rechts: D-Sub Stecker Pin 4 Digital 37
Joystick 2 Analog X (nur notwendig für LEDmePlay® Joypads): D-Sub Stecker Pin 5 Analog 10
Joystick 2 Feuer: D-Sub Stecker Pin 6 Digital 39
Joystick 2 5V (nur notwendig für LEDmePlay® Joypads oder für Autofeuer): D-Sub Stecker Pin 7 5V
Joystick 2 Masse: D-Sub Stecker Pin 8 GND
Joystick 2 Analog Y (nur notwendig für LEDmePlay® Joypads): D-Sub Stecker Pin 9 Analog 11
Reset Drucktaster Digital 42
Pause Drucktaster Digital 43


Die Bilder unten zeigen die Anordnung der Lötfahnen des D-Sub Steckers. Nach dem Verlöten kann gespielt werden! Unsere Spiele finden sich hier: Spiele.

D-Sub mit angelöteten Kabeln


D-Sub Nummerierung der Lötfahnen


Gehäuse

Sofern der Bau bisher korrekt verlaufen ist, kann jetzt ein Gehäuse konstruiert werden. Die Möglichkeiten sind fast grenzenlos. Wir verwenden zwei Bilderrahmen, die wir bei einem schwedischen Möbelhändler gekauft haben. Der erste davon beherbergt lediglich die LED-Matrix, die an der Rückseite des Rahmens befestigt ist. Wie auf dem Bild links unten zu sehen ist, muss dieser Rahmen mit einer Säge bearbeitet werden, um eine rechteckige Aussparung für die Kabel zu schaffen. Die Glasscheibe des zweiten Bilderrahmens wird nicht benötigt und kann entfernt werden. Die beiden Bilderrahmen werden an ihren Innenseiten mittels kleiner Metall- oder Holzplättchen verschraubt. Diese werden durch Holzschrauben an ihrem Platz gehalten (siehe Mitte des Bildes rechts unten). An die Rückwand des zweiten Bilderrahmens wird der Arduino angeschraubt und mit den Distanzhülsen auf Abstand gehalten. Lautsprecher und die Anschlussbuchsen in der Rückwand werden ebenfalls an der Rückwand des Rahmens angebracht. Die Rückwand selbst wird durch die geschlossenen Klammern des Rahmens fixiert. Der einfachste Weg, eine USB-Verbindung vom Arduino zum Computer herzustellen, ist es, eine passende Öffnung in die Rückwand des Rahmens zu schneiden und ein kurzes Kabel so hindurchzuführen, dass es gerade eben aus dem Gehäuse herausschaut (ein kurzes USB Kabel liegt dem Arduino üblicherweise bei). Dort kann dann ein Verlängerungskabel angebracht werden.

Bereit für einen ersten Test


Verschraubte Rahmen


LEDmePlay<sup>®</sup>


Rückansicht