PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQ+DQogICAgIChhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7DQogICAgICAgICAgZ29vZ2xlX2FkX2NsaWVudDogImNhLXB1Yi0xOTIwMTM0MzQxMjUxMDg0IiwNCiAgICAgICAgICBlbmFibGVfcGFnZV9sZXZlbF9hZHM6IHRydWUNCiAgICAgfSk7DQo8L3NjcmlwdD4=

Benötigte Bauteile:

OPTIONAL:    (Folgende Teile werden nur benötigt, wenn das Ambilight mit gebaut werden soll)

Gehäuse

Zuerst baut Ihr euer Gehäuse nach euren Vorstellungen auf. Da hier Monitor und der zur Verfügung stehende Platz eine große Rolle spielen, mache ich an dieser Stelle auch gar keine Vorgaben bzgl. Form, Größe oder ähnlichem.
Lasst euren Ideen freien Lauf. Ihr könnt euch aber natürlich gerne von dem Video zu meinem Aufbau inspirieren lassen.

Am besten malt Ihr euch eine Skizze mit Bemaßungen bevor Ihr los legt, und zeichnet auch alle Kabel, Stecker, Buchsen, Buttons, Lautsprecher, und den Joystick mit in die Skizze ein. So seid Ihr euch hinterher auch sicher, dass Ihr genug Platz für alle Bauteile habt und die Kabel schön versteckt im Innenraum liegen.

Baut das Gehäuse so weit möglich fertig und lackiert bzw foliert alle Teile bevor Ihr mit dem Einbau der Elektronik und anderen Bauteile beginnt. Es geht natürlich auch später, aber ist in den meisten Fällen wesentlich mühsamer.

Positionierung der Buttons

Für die richtige Positionierung der Buttons gibt es glaube ich keine universelle „richtige“ Lösung. Hier hat denke ich jeder so seine eigene Vorstellung und Vorlieben.
Hier  kann ich euch die Seite Slagcoin ans Herz legen. Dort gibt es mehrere Varianten mit Plänen inklusive notwendiger Maße.
http://www.slagcoin.com/joystick/layout.html

Sobald Ihr euch für ein Layout entschieden habt, übertragt den Plan auf eure Platte, in die die Buttons und der Joystick eingelassen werden sollen. Bohrt anschließend die Löcher mit einem Forstner-Bohrer in der passenden Größe in die Platte um möglichst saubere Löcher zu erhalten.  Bei dem Button-Set von XCSource benötigen die großen Buttons ein 30mm Loch und die kleineren Buttons eine 24mm Bohrung. Für den Joystick habe ich ein 20mm Loch gebohrt. Wenn der Stick wirklich mittig sitzt, reicht das vollkommen aus, und die runde Abdeckplatte verdeckt diese Bohrung problemlos vollständig.

Montage

Setzt nun alle Buttons, Joysticks, die Lautsprecher und den Monitor in das Gehäuse ein und überprüft noch einmal, dass auch beim Transport alle Teile an Ihrem Platz bleiben und nicht verrutschen oder abfallen können.

Verkabelung

Nachdem nun alle Teile an ihrem Platz fixiert wurden, könnt Ihr nun alle Teile miteinander verbinden.
Schließt dazu den Monitor mit Hilfe des HDMI-Kabels an den Raspberry Pi an.
Die Lautsprecher werden mit dem Klinke-Ausgang des Pi verbunden.
Der Joystick und die Buttons müssen an den zugehörigen USB-Controller angeschlossen und dieser anschließend per USB-Kabel mit einem der USB-Anschlüsse des Raspberry Pi verbunden werden. Wenn Ihr einen Controller für beide Spieler habt, achtet darauf, die Buttons von Spieler 1 und Spieler 2 in der selben Reihenfolge anzuschließen. Auch wenn Ihr jeden Controller später einzeln konfigurieren müsst, kam es bei mir hierbei zu vertauschten Buttons. Um das zu vermeiden, empfehle ich, die Buttons auf beiden Seiten in der gleichen Reihenfolge anzuschließen.

Sobald Ihr für jeden Spieler einen eigenen USB-Controller habt, ist die Reihenfolge ganz egal.

Einrichtung

RetroPie – SD Image

Zuerst müsst Ihr das RetroPie SD Image auf eure SD-Karte flashen.
Ladet dazu das Image vom folgenden Link herunter und schreibt es z.B. mit Win32DiskImager auf eure SD.
https://retropie.org.uk/download/

Nachdem das Image erfolgreich auf die SD-Karte gespielt wurde, könnt Ihr diese in den Pi stecken und booten.
Der erste Start dauert etwas länger. Das Dateisystem wird automatisch auf die volle SD-Größe erweitert. Dies müsst Ihr also nicht mehr über raspi-config erledigen. Ebenfalls werden relevante Ordner wie der für die Roms direkt über Netzwerkfreigabe freigegeben. So könnt Ihr später ganz bequem über Netzwerk die Roms auf den Pi kopieren.

Controller einrichten

Als erstes solltet Ihr eure Controller einrichten. Beim ersten Start werdet Ihr direkt aufgefordert, einen Button gedrückt zu halten, um den Controller zu konfigurieren.
Falls Ihr wie ich einen USB-Controller für zwei Spieler verwendet, müsst Ihr vorher aber noch dem System klar machen, dass es sich hierbei um zwei Controller handelt. Das erkennt Ihr auch daran, dass das System euch sagt „1 Gamepad detected“ obwohl Ihr ja 2 Joysticks und 2x 10 Buttons angeschlossen habt.

Damit das System diesen Controller nun als 2 Gamepads identifizieren kann drückt Ihr einmal „F4“ um Retropie zu beenden. So gelangt Ihr in die Console und lasst euch mit folgendem Befehl alle USB-Geräte auflisten:

DQo8Y2VudGVyPjxpZnJhbWUgc3JjPSJodHRwczovL3JjbS1ldS5hbWF6b24tYWRzeXN0ZW0uY29tL2UvY20/bz0zJnA9NDgmbD11cjEmY2F0ZWdvcnk9YW1hem9uX2J1c2luZXNzJmJhbm5lcj0wMDcwRVlTNFY3WFBETTNUWDcwMiZmPWlmciZsaW5rSUQ9MzE1ZGUwNGE1OGY1NjQ4YmIyMTU3OTViOGExYmY1ZTImdD1kYW5pZXNjaGVpLTIxJnRyYWNraW5nX2lkPWRhbmllc2NoZWktMjEiIHdpZHRoPSI3MjgiIGhlaWdodD0iOTAiIHNjcm9sbGluZz0ibm8iIGJvcmRlcj0iMCIgbWFyZ2lud2lkdGg9IjAiIHN0eWxlPSJib3JkZXI6bm9uZTsiIGZyYW1lYm9yZGVyPSIwIj48L2lmcmFtZT4NCjxpIHN0eWxlPSJmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OjEwcHg7dGV4dC10cmFuc2Zvcm06IG5vbmU7Ij4oKiA9IEFmZmlsaWF0ZS1MaW5rIC8gQmlsZHF1ZWxsZTogQW1hem9uLVBhcnRuZXJwcm9ncmFtbSk8L2k+PGJyLz4NCjwvY2VudGVyPg0K
lsusb

Sucht nun den Eintrag für euren Gamepad-Controller. Falls Ihr euch nicht sicher seid, ruft den Befehl einmal mit angeschlossenem Controller auf, zieht den Controller ab und führt den Befehl dann noch einmal aus. Die Zeile die verschwindet ist dann euer Gamepad. Die Ausgabe sieht dann z.B. so aus:

Bus 001 Device 002: ID <strong>0810</strong>:<strong>e001</strong> Personal Communication Systems, Inc.

Was uns hierbei interessiert ist die ID des Gerätes. Nachdem wir die ID herausgefunden haben, bearbeiten wir nun die Datei /boot/cmdline.txt.
Zum bearbeiten gebt einfach in der Konsole folgenden Befehl ein:

sudo nano /boot/cmdline.txt

Die Datei besteht aus nur einer Zeile. Hier geht Ihr nun ganz ans Ende und gebt folgendes ein.
(Zwischen den bestehenden Anweisungen und der neuen muss ein Leerzeichen stehen!)

usbhid.quirks=0x<strong>0810</strong>:0x<strong>e001</strong>:0x040

Passt die Werte der ID an die von euch ermittelten an, falls die ID bei euch abweicht. Nach dem Ihr die Änderungen mit STRG+O gespeichert habt, könnt Ihr den Editor mit STRG+X wieder verlassen und den pi neu starten.
Einen Neustart leitet Ihr mit folgendem Befehl ein:

sudo reboot

Nach dem Neustart sollte euer System auch korrekt „2 Gamepads detected“ anzeigen und Ihr könnt der Controller-Konfiguration wie in den Dialogen beschrieben folgen. Alle Knöpfe die Ihr nicht an eurem Aufbau vorhanden habt könnt Ihr durch langes drücken eines beliebigen (am besten bereits zugewiesenen) Knopfes überspringen. Als letztes werdet Ihr noch nach einem Hotkey gefragt. Solltet Ihr hier keinen weiteren Button für angeschlossen haben, überspringt Ihr den Hotkey einfach. Das System weist euch dann darauf hin, dass Ihr keinen Hotkey definiert habt, und ob Ihr den Standard (Select) verwenden möchtet. Bestätigt diese abfrage mit „Ja“. Dann könnt Ihr durch drücken von Select+Start gleichzeitig immer das aktuelle Spiel verlassen und zurück ins Hauptmenü des RetroPie wechseln.

Nachdem Ihr den ersten Controller fertig eingerichtet habt, wechselt Ihr mit dem Start-Button noch mal in das Menü wählt den Eintrag zum Einstellen des Controllers, und macht das gleiche Setup noch mal für den zweiten Spieler.

WiFi verbinden

Um das WLAN des Gerätes zu konfigurieren geht ins RetroPie Menü und wählt den Punkt „Connect to WiFi network“. Wählt euer WLAN aus und gebt das Passwort ein. Einen kurzen Moment später seid Ihr auch schon verbunden.

Roms

Jetzt fehlen nur noch die Spiele, damit es losgehen kann. Wie Ihr an die Roms kommt, gehe ich nicht weiter drauf ein. Aber Google wird euch sicher helfen 😉
Um eure Spiele dann auf die Arcade-Station zu bekommen gebt Ihr einfach im Arbeitsplatz „\\IP_DES_RETROPI\“ in die Adresszeile ein. Nun solltet Ihr dort unter anderem einen Ordner „roms“ sehen. In diesem sind alle unterstützten Emulatoren aufgelistet. Kopiert nun einfach eure Roms in das entsprechende Unterverzeichnis. Die Roms können ruhig als .7z Datei gepackt bleiben.

Wer kein Windows nutzt, kann SSH am Pi aktivieren und anschließend per SFTP oder SCP die Dateien in das Verzeichnis kopieren.

Optionale Erweiterungen

Zusätzliche Buttons anschließen (optional)

Wer noch weitere Buttons ans System anschließen möchte, aber die beim Controller beiliegenden 8 nur fürs Spielen verwenden will, kann die zusätzlichen Buttons auch direkt an die GPIO-Pins des PI anschließen.

Die 12 Pins die in der folgenden Grafik grün markiert sind, sollten beim PI 2 und 3 meines Wissens nach frei zur Verfügung stehen, und können nach euren Wünschen für das Vorhaben verwendet werden. Jeder Button muss immer mit einem Kontakt an einen freien GPIO-Pin und mit dem anderen Kontakt an GND angeschlossen werden.

Zusätzliche Buttons einrichten (optional)

Solltet Ihr noch zusätzliche Buttons direkt an die GPIO Pins angeschlossen haben, müsst Ihr auch noch Retrogame von Adafruit installieren.

gebt dazu folgende Befehle in die Shell am Pi ein:

cd
curl -O https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/retrogame.sh
sudo bash retrogame.sh

Nach ausführen dieser Befehle wird die notwendige Konfiguration „/boot/retrogame.cfg“ erstellt und beim start automatisch geladen.
Das sorgt dann dafür, dass die an die GPIO-Pins angeschlossenen Buttons auch entsprechend als Eingaben verwendet werden können.

Wer nur einen zusätzlichen Button zum verlassen des gestarteten Spiels haben möchte, wählt im Scriptaufruf oben am besten das Standard-Layout PGRRL 2.
Anschließend muss man nur noch den Button mit Pin 17 und GND verbinden.

Die entsprechende Zeile in der Konfiguration sollte dazu wie folgt aussehen:

ESC 17 # Exit ROM; PiTFT Button 1

Weitere Details zum Retrogame Script findet Ihr auf der Adafruit Seite unter folgendem Link:
https://learn.adafruit.com/retro-gaming-with-raspberry-pi/adding-controls-hardware?view=all

Ambilight (Hyperion)

Wer möchte, kann dem ganzen noch einen besonderen Effekt durch die Installation eines Ambilights verpassen (RGB-LEDs auf der Rückseite, die sich an den Bildschirminhalt anpassen).
Wie das prinzipiell umzusetzen ist, könnt Ihr in der nachfolgend verlinkten Anleitung nachlesen.

Im unterschied zum Ambilight für ein externes TV-Gerät müsst Ihr hier allerdings keine externen Geräte wie den HDMI-Splitter, Grabber oder sonstiges anschaffen. Hier reichen die addressierbaren 5V-RGB-LEDs. Diese werden wie in der Anleitung beschrieben direkt an den PI angeschlossen und über ein separates Netzteil zusätzlich mit Strom versorgt.
Dann installiert Ihr wie in der Anleitung beschrieben das Hyperion System auf dem Pi. Konfiguriert nun das System entsprechend der verwendeten LED-Anzahl und wählt als Bildquelle den internen grabber, da in diesem Fall der Pi selbst das Bild liefert, und dieses nicht von einem Receiver oder ähnlichen stammt.

Ansonsten ist das System genau so einzurichten, wie in der Anleitung für das Ambilight fürs TV.

Diese findet Ihr hier:
https://smarthomeyourself.de/anleitung-zum-selber-bauen/unabhaengige-projekte/ambilight-mit-raspberry-pi-und-hyperion

Sollte ich etwas vergessen haben oder noch Fragen auftauchen, wendet euch gerne per Email an mich unter support@smarthomeyourself.de.

Ansonsten wünsche ich Euch nun viel Spaß beim nachbauen und anschließenden zocken 😉



Abschließend gibt es die Anleitung hier auch noch mal als Video:





Bei Links auf Amazon-Artikel handelt es sich um Affiliate-Links. In diesen Links wird meine Amazon-Partner-Id mit übergeben, wodurch ich eine kleine Provision für eure Käufe erhalte. Ihr zahlt natürlich das gleiche wie sonst auch.
Ich würde mich freuen, wenn Ihr bei eurer Bestellung die Links verwendet und mich so einfach und für euch kostenlos unterstützt, um weiterhin neue Projekte mit euch teilen zu können.

Vielen Dank für euer Verständnis und eure Unterstützung!


DQo8Y2VudGVyPg0KPGlmcmFtZSBzcmM9Imh0dHBzOi8vcmNtLWV1LmFtYXpvbi1hZHN5c3RlbS5jb20vZS9jbT9vPTMmcD00OCZsPXVyMSZjYXRlZ29yeT1hdWRpYmxlJmJhbm5lcj0wNVJaN0NBQVBHWEpLWEhWWlg4MiZmPWlmciZsaW5rSUQ9MjNjMmMxMzAyNWMwNDA5OTgxMTQ0NjI0ZjEzZWU4ZjQmdD1kYW5pZXNjaGVpLTIxJnRyYWNraW5nX2lkPWRhbmllc2NoZWktMjEiIHdpZHRoPSI3MjgiIGhlaWdodD0iOTAiIHNjcm9sbGluZz0ibm8iIGJvcmRlcj0iMCIgbWFyZ2lud2lkdGg9IjAiIHN0eWxlPSJib3JkZXI6bm9uZTsiIGZyYW1lYm9yZGVyPSIwIj48L2lmcmFtZT4NCjxpIHN0eWxlPSJmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OjEwcHg7dGV4dC10cmFuc2Zvcm06IG5vbmU7Ij4oKiA9IEFmZmlsaWF0ZS1MaW5rIC8gQmlsZHF1ZWxsZTogQW1hem9uLVBhcnRuZXJwcm9ncmFtbSk8L2k+PGJyLz4NCjwvY2VudGVyPg0K