Inhaltsverzeichnis:

Lapcade Arcade-Controller - Gunook
Lapcade Arcade-Controller - Gunook

Video: Lapcade Arcade-Controller - Gunook

Video: Lapcade Arcade-Controller - Gunook
Video: 07 29 81 2024, Juni
Anonim
Lapcade Arcade-Controller
Lapcade Arcade-Controller

Ich bin kein großer Spieler. Als ich ein Kind war, war ich mehr daran interessiert zu sehen, wie sie funktionieren, als sie zu spielen. Ich kann an einer Hand abzählen, wie viele Arcade-Spiele ich regelmäßig gespielt habe. Davon abgesehen wäre es für jemanden leicht, es seltsam zu finden, dass ich mir die Zeit nehme, einen Arcade-Controller zu bauen. Allerdings ist es bis heute eines meiner Lieblingsprojekte. Es ist nicht nur eine Herausforderung in Design, Programmierung und Bau, sondern erinnert auch an eine vergangene Ära robuster mechanischer Tasten und Joysticks.

Die Tage der Arcade sind vorbei, aber Sie können immer noch das Gefühl eines klassischen Arcade-Spiels direkt in Ihrem eigenen Wohnzimmer haben. Hier präsentiere ich euch also den Lapcade. Wenn Sie wie ich sind und mehr Spaß am Bauen als am Spielen haben, wird Ihnen dieser Build vielleicht gefallen. Wenn Sie Fragen oder Anregungen haben, die nicht im Abschnitt "Ideen für Version 2" unten enthalten sind, hinterlassen Sie bitte einen Kommentar.

Schritt 1: Übersicht

Überblick
Überblick
Überblick
Überblick

Was ist dieses Ding?

Beachten Sie zunächst, was der Lapcade nicht ist:

  • Es ist keine Spielekonsole.
  • Es hat weder Spiele noch die Möglichkeit, Spiele zu laden und zu spielen.
  • Es verbindet sich nicht mit einem Fernseher oder Monitor.

Die Lapcade ist eine Bluetooth-Tastatur. Nicht mehr, nicht weniger.

Ich erwähne dies, weil es in diesem Punkt einige Verwirrung gegeben hat. Ich hatte viele Fragen darüber, welche Spiele darauf geladen werden können und welche Art von Videoschnittstelle es verwendet - es kann und tut es nicht! Es hängt vollständig von dem PC ab, an den Sie es anschließen, und in dieser Hinsicht sind keine Grenzen gesetzt. Wenn Ihr Gerät eine Bluetooth-Tastatur akzeptieren kann, sollte der Lapcade damit funktionieren. Ich habe es nicht ausprobiert, aber ich habe andere Projekte gesehen, die den EZ-Key (unten beschrieben) verwendet haben, der mit Handheld-Geräten verbunden ist. Theoretisch können Sie dieses Gerät also an jeden Computer anschließen, auf dem Windows, Linux, ChromeOS, MAC usw. ausgeführt wird, sowie Raspberry Pi, Android, iOS und andere, die Bluetooth v2.1 unterstützen. Möglicherweise müssen jedoch die Tastencodes geändert werden.

Vorversion 1

Ursprünglich fand ich ein Produkt namens Adafruit Bluefruit EZ-Key Bluetooth HID (Human Interface Device - Think Keyboard), mit dem ich vertraute Klicktasten anschließen und Tastenanschläge wie eine Tastatur senden konnte. Als ich zum ersten Mal einen Controller basierend auf dem EZ-Key baute, folgte ich einer Reihe von Anweisungen, um einen einfachen und unkomplizierten Controller zu bauen, und es funktionierte großartig. Ich habe den Controller einige Monate in einem schweren Holzrahmen ohne Probleme verwendet. Sie sind jedoch auf 12 Eingänge beschränkt und es gibt keine Möglichkeit, den vom Gerät übertragenen Tastencode zu ändern, ohne die EZ-Key-Eingangspins neu zu programmieren.

Da ich mein Kodi Media Center verwendet habe, um installierte Spiele anzuzeigen, wollte ich zwischen der Steuerung des Media Centers und dem Spiel wechseln, ohne mehrere Controller / Fernbedienungen verwenden zu müssen. Ich wollte auch, dass das Gerät so eingestellt wird, dass mein linkshändiger Sohn es nach Belieben verwenden kann.

Ich habe auch 4 AA-Batterien verwendet, um das Gerät mit Strom zu versorgen, und nach dem Auspacken schien es keinen Energiesparmodus zu haben. Batterien würden in ein oder zwei Tagen trocken gesaugt werden, selbst wenn sie nicht verwendet wurden.

Auf Drängen eines Freundes von mir beschloss ich, eine programmierbare Version des gleichen Controllers zu bauen, die schnelle Modusänderungen hatte, die es mir ermöglichte, dasselbe Gerät zur Steuerung mehrerer Anwendungen zu verwenden, die auch für die linke Hand "umgedreht" werden konnte verwenden und war in einer Laptoptasche, die weit weniger war als meine aktuelle 10-Pfund-Lösung.

Es war Zeit für ein Upgrade.

Version 1 DesignProjektziele:

  • Flexibel
  • Wiederaufladbar
  • Für Linkshänder und Rechtshänder
  • Keine Kabel
  • Leicht

Ich wollte, dass dieses neue Design flexibel ist. Die Steuerungen müssen im laufenden Betrieb geändert werden können, ohne dass die Komponenten jedes Mal neu programmiert werden müssen, wenn ein Test oder eine Änderung durchgeführt werden muss. Dies bedeutete, dass es auf der Steuerung eine Schnittstelle geben musste, um "Betriebsmodi" auszuwählen. Jeder Knopf- und Joystickposition müssten unterschiedliche Tastencodes zugeordnet sein. Dieselben Bedienelemente müssten auch verwendet werden, um die verschiedenen Modi auszuwählen.

Der EZ-Key war nicht direkt in Echtzeit programmierbar, daher wäre die nächste Lösung, einen Controller wie einen Arduino zu verwenden, um die Funktionalität zu verwalten. Der EZ-Key würde ausschließlich verwendet werden, um die Schlüsselcodes über Bluetooth an den PC zu übertragen. Ich habe mich für den Arduino Pro Mini wegen seiner direkten Kompatibilität mit der UNO (mit der ich bereits Erfahrung hatte) und wegen seiner kompakten Größe entschieden.

Ich wollte mit dieser neuen Box nicht wie beim Vorgänger des Lapcade mit Batterien umgehen, also habe ich mich für einen Lithium-Polymer-Akku und ein Ladegerät / eine Versorgungsplatine entschieden. Dies bedeutete, dass ich nur ein Standard-USB-Ladegerät verwenden konnte. Es bedeutete auch, dass ich das Gehäuse nicht jedes Mal öffnen musste, wenn die Batterien leer waren. Sowohl der EZ-Key als auch der PowerBoost 500C verfügen über Anzeigen, die für den Kopplungsstatus und die Anzeige eines niedrigen Batteriestands auf die Oberseite des Controllers übertragen werden mussten. Ich habe dem Design einige LEDs hinzugefügt, damit ich diese praktischen Statusanzeigen dem Benutzer während des Betriebs anzeigen kann.

Als das Testen meines Designs gereift war, stellte ich fest, dass einige meiner ursprünglichen Ideen nicht so waren, wie ich es erwartet hatte. Beispielsweise funktioniert die LBO-Anzeige am PowerBoost nicht wie erwartet, wenn sie an einen Mikrocontroller gebunden ist. Dadurch kann Strom von der Batterie durch die gemeinsame Masse fließen, während das Gerät "aus" oder deaktiviert ist, die LBO-Leuchte leuchtet und leuchtet weiter. Andere im Adafruit-Forum waren ebenfalls auf dieses Problem gestoßen und boten eine bessere Lösung, die Batteriespannung direkt an einem analogen Eingang abzutasten. Sobald die Spannung auf ein bestimmtes Niveau abfällt, ist es an der Zeit, den Benutzer darüber zu informieren, dass die Batterie kurz vor dem Abschalten steht.

Schritt 2: Was Sie brauchen

Elektronische Teileliste

Dies wurde zu einem ziemlich komplizierten Build. Sie müssen nicht die gleichen Teile wie ich verwenden, aber wenn Sie ein Ersatzteil verwenden, stellen Sie sicher, dass Sie verstehen, wie es mit den anderen Schaltkreisen und dem Code interagiert. Obwohl ich gerne Vorschläge unterbreite, kann ich nicht helfen, Code oder Probleme für verschiedene Konfigurationen zu beheben.

1 Arduino Pro Mini 5V - Ich mag den Pro, weil er kompakt ist. Sie können jedes Uno-Pin/Interrupt-kompatible Board mit dem bereitgestellten Code verwenden

1 Adafruit Bluefruit EZ-Key Bluetooth HID - Wie oben beschrieben, ist dies die Bluetooth HID, die die Übertragung von Schlüsselcodes an den Host-PC ermöglicht.

1 MCP23017 - i2c 16 Input / Output Port Expander - Dieser Chip wird verwendet, um dem Arduino über das I2C-Kommunikationsprotokoll 16 weitere Eingänge hinzuzufügen

1 Adafruit PowerBoost 500 + Ladegerät - Dies ist die Leistungssteuerplatine zum Betreiben des Lapcade und Laden des LiPo

1 Lithium-Polymer-Akku (ich habe 2500 mAh verwendet, aber Sie können eine höhere / niedrigere Kapazität verwenden)

1 8-Wege-Arcade-Joystick - Bitte lesen Sie den Abschnitt "Gedanken für Version 2" weiter unten bezüglich Joysticks

9 Arcade-Druckknöpfe - Verschiedene Farben und Siebdrucke

2 beleuchtete Taster - ich habe diese 2 Tasten für die Center 4 und 5 Tasten verwendet und sind von Adafruit: Rot (Center 4), Blau (Center 5)

1 Beleuchteter Rastdruckknopf Ich habe diesen für den Power-Button von Adafruit verwendet: Grün

2 LEDs Wird für die Referenzierung des Pairing-Signals und des niedrigen Batteriestands verwendet. Ich habe zwei RadioShack-Teile 2760270 und 2760271 verwendet

1 16 x 2 LCD-Bildschirm

1 I2C/SPI-LCD-Rucksack - Wird für die I2C-Kommunikation mit dem 16x2-Display verwendet.

1 USB-Verlängerungskabel für Schalttafelmontage - Wird verwendet, um den Micro-B-USB-Anschluss des PowerBoost an der Schrankwand zu verlängern.

1 Adafruit Perma-Proto Breadboard PCB in voller Größe - Nicht notwendig, macht aber die dauerhafte Montage so viel einfacher.

5 220 Ohm Widerstände

7 1K Ohm Widerstände

2 2,2K Ohm Widerstände

1 4,7K Ohm Widerstand

18 #10 Flachsteckverbinder - Zum Anschließen an die Arcade-Tastenkontakte. Empfohlen über Löten, da die Tasten irgendwann verschleißen.

22-Gauge-Anschlussdraht - Ich habe massiven Anschlussdraht anstelle von Litzen verwendet, um ein freistehendes Drahtmanagement zu machen. Dies diente rein zu Demonstrationszwecken und wird nicht empfohlen, da Massivdraht spröde und bruchanfällig ist.

Die folgenden Artikel sind nicht erforderlich, erleichtern jedoch die Montage und erleichtern den Austausch, falls Sie eine Komponente anrösten:

  • IC-Sockel - für 28-polige 0,3"-Chips
  • IC-Sockel - für 28-polige 0,6"-Chips
  • 0,1" Buchsenleiste (mindestens 1 36-poliger Header)

Schrankteile:

  • 3 12 x 24 1/8 Zoll Birkenplatten
  • 1 12 x 24 1/8 Zoll klare Acrylplatte

Dateien:

  • Lapcade V1.xlsx - Die unten erwähnte Tabelle mit den Schaltungsverbindungen.
  • LapcadeV1-code.zip - Zip-Datei mit dem für dieses Projekt geschriebenen Arduino-Code.
  • Lapcade_v1.zip - Zip-Datei mit den SVG-Zeichnungen für den Schrank.
  • LapcadeV1-Circuit_Diagram_Large.zip - Zip-Datei mit einer hochauflösenden Version des unten gezeigten Fritzing-Schaltplans.

Links zu weiteren Ressourcen:

  • Adafruit Bluefruit EZ-Key-Dokumentation
  • Adafruit PowerBoost 500 + Dokumentation
  • I2C/SPI-LCD-Rucksack-Dokumentation
  • MCP23017 I2C Port Extender Dokumentation
  • Adafruit MCP23017 Arduino-Bibliothek

Schritt 3: Montage - Der Schrank

Montage - Das Kabinett
Montage - Das Kabinett
Montage - Das Kabinett
Montage - Das Kabinett
Montage - Das Kabinett
Montage - Das Kabinett
Montage - Das Kabinett
Montage - Das Kabinett

Ich wollte eine sehr leichte Box haben, die auch einiges aushält. Ohne mit Materialien zu exotisch zu werden, ist leicht gleich dünn und dünn gleich spröde. Der Hauptbenutzer des Lapcade wäre wahrscheinlich mein kleiner Sohn, der gerne mit extremer Begeisterung die Tasten "drückt" und den Joystick "navigiert". Obwohl er gut darin ist, keine Dinge fallen zu lassen, hat er es geschafft, die industriellen Mikroschalter in einem Joystick innerhalb weniger Monate zu verschleißen.

Um dieses Problem zu lösen und da der Lapcade 20 breit ist, fügte mein Design zwei vertikale Rippen hinzu, die die obere sowie die linke und rechte Seite sichern. Während der Trockenmontage konnte das Design 70 lbs von darauf platzierten Büchern standhalten. Die Box wurde noch haltbarer. Nach Erhalt der geschnittenen Materialien habe ich zunächst alle Platten locker zusammengefügt,um sicherzustellen, dass sie funktionieren. Ich habe sie dann leicht geschliffen und an der Luft abgestaubt. Ich habe Holzleim verwendet, um die Teile zusammenzufügen.

Die Bücher auf den Fotos unten wurden platziert, um Druck auf die frisch geklebten Teile auszuüben, bis sie fest wurden. Sobald der Kleber ausgehärtet ist, habe ich die Kanten glatt geschliffen. Mein Design versetzte die Platten absichtlich so, dass sie an den Ecken etwas herausragen. Dadurch kann ich beim Schleifen die Ecken abrunden, ohne zu sehr in die Fuge zu geraten.

Nach der Reinigung der Oberflächen habe ich dann mehrere Schichten Polyurethan aufgetragen - zwischen den Schichten aushärten lassen. Das Ergebnis war eine leichte Holzkiste mit einem Acrylbodendeckel. Ich wollte ursprünglich eine komplett durchsichtige Box, aber als er mir die Birken-"Test"-Teile schickte, änderte ich sofort meine Meinung. Es war nicht nur leichter, es war eine schöne Rückbesinnung auf die Idee des Cabinet-Gamings. Die SVG-Dateien sind unten.

Bitte beachten Sie: Dies ist eine mehrschichtige Zeichnung und jede Schicht repräsentiert einen Satz Schnitte auf einem Materialblatt. Stellen Sie beim Senden eines Drucks an Ihren Cutter sicher, dass alle anderen Ebenen vor dem Schneiden ausgeblendet sind.

Noch ein Hinweis: Als ich den Bereich für das LCD-Display erstellt habe, habe ich ein Display verwendet, das ich für Messungen zur Hand hatte. Zwischen der Erstellung der Zeichnung und dem späteren Einbau der Teile in das Gehäuse hatte ich das Original-LCD in einem anderen Projekt verwendet und einen Ersatz bestellt. Wie sich herausstellte, waren die Befestigungslöcher für das zweite etwas anders als beim Original und lagen nicht übereinander. Achten Sie also vor dem Schneiden Ihres Materials darauf, dass die Teile, die Sie haben, in die Löcher in der Zeichnung passen.

Ein dritter Hinweis: Ich habe in der Originalzeichnung keinen Ausschnitt für das USB-Ladekabel eingefügt, einfach weil ich nicht sicher war, wo ich es platzieren wollte, damit es die Verwendung nicht störte. Später schneide ich die Löcher dafür auf der linken Seite ganz in der Nähe, wo Sie das Wort "Lapcade" in den Bildern unten sehen. Version 2 wird den Ladeanschluss an einer noch anderen Position haben.:)

Schritt 4: Montage - Elektronik

Montage - Elektronik
Montage - Elektronik
Montage - Elektronik
Montage - Elektronik
Montage - Elektronik
Montage - Elektronik
Montage - Elektronik
Montage - Elektronik

Schauen wir uns zunächst den oben gezeigten Schaltplan an.

Das erste, was hier zu beachten ist, sind die Strom- und Erdungsschienen des Steckbretts. Die Schienen mit der blauen Linie sind Masse (-) und die Schienen mit der roten Linie sind Strom (+). Dies ist Standard, aber ich notiere es, weil die gemeinsame Leitung des Joysticks (schwarzes Kabel) mit Strom und nicht mit Masse verbunden ist. In Fritzing habe ich die Kabelfarbe des Joysticks anstelle der Konventionsfarbe verwendet und dachte, das könnte zu Verwirrung führen - also am besten einfach aus dem Weg räumen.

Komponentenanschlüsse

Anstatt zu versuchen, hier jede Verbindung in Langform anzugeben (Arduino-Analog-Pin 0 geht durch einen 220-Ohm-Widerstand zum PowerBoost Bat-Pin), habe ich eine Tabelle erstellt, die alle Verbindungen aus Sicht der Komponente enthält. Auf der Registerkarte Arduino der Tabelle sehen Sie also APM A0 -> 2.2K OHM -> PB Bat und auf der Registerkarte PowerBoost sehen Sie PB BAT -> 2.2K OHM -> APM A0. Im Ressourcenabschnitt unten finden Sie alle Dateien, die mit diesem Projekt verbunden sind.

Ein weiterer Hinweis zur Tabellenkalkulation ist, dass einige Geräte zwei Verbindungsspalten anzeigen. Dies dient dazu, mehr als eine Verbindung zu einem Pin anzuzeigen. Beispielsweise verwendet jede der Joystick-Verbindungen mit Ausnahme des gemeinsamen Kabels einen Pull-Down-Widerstand, um sicherzustellen, dass der Port-Extender ein durchgehend hohes oder niedriges Signal empfängt. Um dies für Joystick 2 zu zeigen, sehen Sie zwei Spalten für die Verbindung, eine für den Joystick-Draht zum MCP 21-Pin und die andere für eine Verbindung von Pin 21 über einen Widerstand zur Masse. Ich bin sicher, es gibt bessere Möglichkeiten, dies zu dokumentieren, aber ich fürchte, Sie bleiben bei meiner Vorgehensweise bei diesem Thema hängen.:)

Jeder der Arcade-Taster hat einen gemeinsamen (com), einen Schließer (no) und einen Öffner (nc) Kontakt. Für jede dieser Tasten verwende ich Com- und NC-Verbindungen.

Schritt 5: Code

Code
Code

Zuallererst muss ich Kredit geben, wo es fällig ist. Ich habe mich stark auf den folgenden Artikel verlassen, um den Lapcade zu codieren:

learn.adafruit.com/convert-your-model-m-keyboard-to-bluetooth-with-bluefruit-ez-key-hid Besonderer Dank geht an Benjamin Gould für ein gut geschriebenes und dokumentiertes Projekt!

Das Herzstück dieses Projekts ist also eine Tastatur. Aus der Sicht des PCs ist der Lapcade einfach eine über Bluetooth verbundene Tastatur, was der EZ-Key so gut kann. Es nimmt die komplizierten Bluetooth-Protokolle, Timings und Codes und kapselt sie so, dass ich mit dem Arduino nur noch Keycodes senden muss. Dazu habe ich die Codemaps im obigen Projekt und meine eigenen Arrays verwendet, um Betriebsmodi zu erstellen. Jeder Modus ändert, was der gleiche Tastendruck auf dem Lapcade bewirkt und was an den PC gesendet wird. Es gibt drei "eingebaute" Betriebsmodi und alle Modi danach sind Anwendungsmodi.

Betriebsmodi

Im Folgenden sind die Betriebsmodi des Lapcade zusammengefasst:

  1. Startup – Dieser Modus prüft die Verbindung mit dem PC und legt Startup-Variablen fest. Wenn der EZ-Key nicht mit einem PC gekoppelt ist, wechselt er in den Kopplungsmodus
  2. Pairing – In diesem Modus wartet der EZ-Key darauf, mit einem PC gekoppelt zu werden.
  3. Modusauswahl - In diesem Modus kann der Benutzer den zu verwendenden Anwendungsmodus auswählen. In diesem Modus werden keine Tastencodes an den PC gesendet. Es gibt auch eine Schnellmodusauswahl basierend auf dem vorherigen Anwendungsmodus. Zum Beispiel, wenn Sie im Mame Player 1-Modus den Modus und dann die Player 2-Taste drücken, wird einfach der Modus umgeschaltet, ohne dass Sie Mame Player 2 suchen und auf dem Display auswählen müssen.

Anwendungsmodi

Anwendungsmodi werden verwendet, um basierend auf der Anwendung, in der sich der Benutzer befindet, geeignete Tastencodes an den PC zu senden. Zum Beispiel sendet die Aktionstaste 2 im Kodi-Modus "P", was eine Pause bedeutet. In Mame sendet dieselbe Taste die linke Alt-Taste. Wollte man mit dem Controller Minecraft für den PC spielen, müsste man lediglich die entsprechenden Array-Maps hinzufügen.

Jede Anwendung muss in 4 Datenfeldern definiert werden.

  • mode - Dieses Array enthält den Text, der für jeden Modus auf dem Bildschirm angezeigt wird. Um die zweite Zeile der Anzeige zu verwenden, fügen Sie einfach ein ~ als Zeilenumbruch in das Array ein.
  • keyModes[14] - Dieses Matrix-Array enthält die an den PC gesendeten Tastencodes. Jede Zeile mit 14 Elementen stellt einzelne Schaltflächen für Tastencode-Zuordnungen dar.
  • keyModifiers[14] - Dieses Matrix-Array enthält die Tastencode-Modifikatoren für jeden Tastenanschlag, z. B. das Gedrückthalten der Umschalttaste.
  • quickMode[3] - Dieses Matrix-Array enthält das Schnellmodus-Auswahlmuster für den aktuellen Modus.

Grundbetrieb

Wenn das System eingeschaltet wird, geht es in den Startmodus, in dem der Status der Bluetooth-Verbindung überprüft und dem Benutzer angezeigt wird. Der Arduino erhält den Status des EZ-Key durch das Zählen und Timing der Impulse vom L1-Pin des EZ-Key. Es gibt vier Unterstatus für den Startmodus:

  • Pairing – Der EZ-Key befindet sich im aktiven Pairing-Modus und wartet darauf, mit einem Gerät verbunden zu werden.
  • Gepaart, aber nicht verbunden – Der EZ-Key wurde zuvor gekoppelt, ist jedoch derzeit nicht mit dem Hostgerät verbunden.
  • Gepaart und verbunden – Der EZ-Key ist gepaart und die Verbindung mit dem Host wurde hergestellt. An diesem Punkt geht das System zur Modusauswahl über.
  • Unbekannter Status – Der EZ-Key gibt einen unbekannten Code zurück oder es liegt eine Signalstörung vor, die ein unbekanntes Signalmuster erzeugt. Das System hält und benachrichtigt den Benutzer. Muss in diesem Fall neu gestartet werden.

Wenn das System mit dem PC gekoppelt ist, aber keine Verbindung herstellen kann, bleibt das System im Startmodus im Verbindungsstatus. Wenn der Benutzer beim Einschalten des Geräts die Escape-Taste gedrückt hält, überspringt es die Bluetooth-Verbindungsprüfung und fährt mit der Modusauswahl fort.

Wenn das System noch nicht gekoppelt wurde, wird der Startmodus vom Kopplungsmodus abgelöst. In diesem Zustand sendet das System, dass es zum Pairing verfügbar ist. Sobald es von einem Host erkannt und angehängt wurde, wechselt es zur Modusauswahl. Das Gerät kann in der Modusauswahl durch Drücken der Taste Aktion 1 entkoppelt werden.

In der Modusauswahl bewegen Sie die Joystick-Aktionen nach oben und unten durch die verfügbaren Anwendungsmodi auf dem LCD-Display. Um einen der Modi auszuwählen, drücken Sie die Eingabetaste (Mitte 5).

Sobald Sie sich in einem Anwendungsmodus befinden, senden jede der Tasten und der Joystick Tastencodes gemäß den in den vier Arrays angegebenen Tastenbelegungen, wie oben beschrieben.

Schnellmodi

Sobald ein Anwendungsmodus ausgewählt wurde, wird seine Schnellmodusdefinition festgelegt. Einfach ausgedrückt sind Quick Modes die Anwendungsmodi, die mit den ersten drei mittleren Tasten (Center 1-3) ausgewählt werden können. Diese drei Schaltflächen entsprechen dem Array-Element in der Matrix.

Wenn Sie beispielsweise in der aktuellen Konfiguration Mame im Player 1-Modus verwenden (Modus 4 oder der fünfte Modus definiert), dann drücken Sie die Modus-Taste und dann die Player 2-Taste lädt das Quickmode [4][1]-Array-Element (Arduino verwendet 0 Basis-Array-Indizierung), was 5 ist. Das System wechselt dann in den Anwendungsmodus 5, der Mame, Spieler 2 ist.

Schritt 6: Ideen für Version 2

Tastenanzeige - Ich denke, man kann nicht alles planen, aber es gibt eine Designidee, die ich mir für die erste Version wünschte - individuelle Tasten-LCD-Panels. Nach dem Erstellen wurde sehr schnell klar, dass nur zu wissen, in welchem Modus man sich befindet, nicht bedeutet, dass man sich daran erinnert, was jede Taste tut - besonders nachdem man sich ein paar Tage oder Monate davon entfernt hat. Ich wünschte wirklich, ich hätte auf oder über jeder Schaltfläche eine kleine Anzeige hinzugefügt, die ihre aktuelle Aktion anzeigt. Dieser steht ganz oben auf meiner Liste für Version 2.

4-Wege vs 8-Wege-Joystick - Eine andere Sache, die mir klar wurde, als ich anfing, den Joystick zu verwenden, war, dass ältere Spiele nicht dafür gedacht waren, 8-Wege-Joysticks zu verwenden. Ein typisches Beispiel ist Pac-Man. Seit ich diesen Controller gebaut habe, habe ich festgestellt, dass es Joysticks gibt, die mechanisch von 4-Wege auf 8-Wege umgeschaltet werden können. Ja, das steht auf der Liste, und wenn Sie klassische Arcade-Spiele spielen möchten, springen Sie einfach zu einem, das sich ändern lässt. Achten Sie natürlich darauf, dass Sie die Änderungen in der Verkabelung und Programmierung basierend auf dem Joystick berücksichtigen, mit dem Sie landen. Hier einige Anbieter klassischer Arcade-Steuerungen:

  • https://www.ultimarc.com/controls.html
  • https://groovygamegear.com/webstore/index.php?main…

Rechte und linke "Flipper"-Tasten - Version 2 fügt definitiv je eine Taste an der linken und rechten Seite des Schranks hinzu. Eine mögliche Verwendung sind Flipper-Flossen.

Andere Steuerelemente - Ich überlege, ob es möglich ist, der nächsten Version andere gängige Steuerelemente wie einen Trackball und / oder einen Spinner hinzuzufügen. Da der EZ-Key in der Lage ist, Mauskoordinaten zu übertragen, sollte dies nicht allzu schwierig sein.

On-Board-Programmierung - Die nächste Version muss in der Lage sein, neue Konfigurationen hinzuzufügen, ohne das Gehäuse zu öffnen. Ich wollte dies zu Version 1 hinzufügen, aber es erforderte mehr Zeit und Ressourcen als ich hatte.

Wireless-Wettbewerb
Wireless-Wettbewerb
Wireless-Wettbewerb
Wireless-Wettbewerb

Zweiter Preis im Wireless-Wettbewerb

Empfohlen: