Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Design
- Schritt 2: Drucken Sie Ihre Kreation
- Schritt 3: Vorbereiten Ihres Prototypenboards
- Schritt 4: Optional: Verschönern Sie Ihr Controller-Gehäuse
- Schritt 5: Endmontage
- Schritt 6: Programmieren Sie Ihr Arduino
- Schritt 7: Spielen Sie Ihre Spiele
- Schritt 8: Gelernte Lektionen
Video: Controller für unterwegs - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Spielen Sie gerne Spiele auf Ihrem Smartphone? Sind Sie es leid, mit klobigen Touchscreen-Steuerelementen zu spielen? Hassen Sie es zu vergessen, Ihren Bluetooth-Controller aufzuladen? Brauchen Sie eine Verwendung für das Kabel für unterwegs, das Sie gekauft, aber nie verwendet haben?
Warum machst du nicht deinen eigenen Controller für unterwegs?
Ich bin mir sicher, dass ich ziemlich spät zum Spiel komme (Wortspiel beabsichtigt), aber ich habe kürzlich entdeckt, dass mein altes Smartphone Retro-Spiele per Emulation spielen kann. Als ich aufwuchs, war ich ein großer Fan der Game Boy-Systeme und erinnere mich gerne daran, stundenlang zu spielen und meine Augen auf langen Autofahrten zu strapazieren, um verzweifelt nach einem Speicherpunkt zu suchen, bevor mein Akku leer war oder die Sonne zu weit hinter dem Horizont stand siehe meinen Bildschirm. Jetzt kann ich auf meinem Handy spielen und der Nostalgie nachgeben, aber mit einem schönen hintergrundbeleuchteten Bildschirm. Danke Technik!
Haftungsausschluss: Spiele-Emulation ist ein heikles Thema und geht in einigen Fällen an der Grenze der Piraterie vorbei. Bitte bildet euch weiter und spielt verantwortungsbewusst!
Hintergrund:
Ich beschloss, dieses Projekt zu verfolgen, nachdem ich eine Tastaturkürzel erstellt hatte. Während ich die Arduino-Tastaturbibliothek erlernte und Verknüpfungen entwickelte, habe ich einige der Testtasten an WASD gebunden. Es begann sofort mit meinen PC-Spielen zu arbeiten und das brachte die Räder zum Drehen. Ungefähr zur gleichen Zeit ging mir auf meinem Telefon der Platz für Hörbücher aus und ich suchte nach der Verwendung eines USB-Flash-Laufwerks mit meinem Telefon, da mein Modell keine microSD-Karten zulässt. Da erfuhr ich von OTG. OTG nutzt die Ladung des Akkus Ihres Telefons, um das daran angeschlossene Gerät mit Strom zu versorgen. Dazu gehören Tastaturen, Mäuse und Flash-Laufwerke, um nur einige zu nennen. Das Telefon kann 5-V-Geräte mit Strom versorgen und erraten, was das Arduino-Mikro zum Betrieb benötigt? Es war ein Spiel im Himmel.
Lieferungen
Arduino Micro
Prototypenplatine
12 x 6-mm-Tasten (ich habe klassische taktile Taster verwendet)
Lötkolben und Lot
3D Drucker
Kabel für unterwegs (OTG); Ich habe meine eigenen gemacht
Micro-USB-Ladekabel
Schritt 1: Design
Ich wollte, dass mein Controller tragbar ist und alle Tasten bietet, die ich brauche, um Spiele bis zur Super Nintendo-Ära zu spielen. Dies bedeutete, dass ich 12 Tasten benötigen würde. Vier für die Richtungstaste (D-Pad) und acht für die A, B, X, Y, Start, Select, Left Trigger und Right Trigger. Ich hatte auch eine zusätzliche Anforderung, dass ich wollte, dass es symmetrisch ist, damit ich es mit jeder Hand einhändig spielen konnte. Diese zusätzliche Anforderung mag seltsam klingen, aber um einen Kontext zu geben, muss ich erwähnen, dass ich in letzter Zeit regelmäßig ein schlafendes Baby halte und während meiner begrenzten Spielzeit nur eine Hand benutze.
Mit den definierten Anforderungen machte ich mich daran, meine Steuerung im CAD zu entwerfen. Ich persönlich benutze OnShape, aber ich weiß, dass viele Leute auch mit Fusion360 Erfolg haben. Ich möchte den anderen Leuten auf dieser Seite, die ihre eigenen Kreationen entwerfen, einen kurzen Gruß aussprechen. Es ist harte Arbeit! Das Design, das ich mir ausgedacht habe, war super einfach, aber es dauerte immer noch viele Stunden, bis ich zufrieden war. Schon während ich dies schreibe, bemerke ich viele Verbesserungen, die ich gerne machen würde.
(Ich habe vor, die.stl-Dateien auf Thingiverse zu verwenden, wenn es die Zeit erlaubt. Die Dateien werden dort sein, damit ich sie aktualisieren kann, ohne ständig Dateien hier hochladen zu müssen.)
Schritt 2: Drucken Sie Ihre Kreation
Ich habe einen Ender 3 Drucker, den ich erst seit ein paar Monaten habe. Es ist ein großartiger Drucker für den Einstieg, wenn Sie in den 3D-Druck einsteigen möchten. Ich wusste nicht, wie aus dem Gleichgewicht geraten es war, bis ich meine Teile für dieses Projekt gemessen habe. Bis zu diesem Projekt hatte ich es nur verwendet, um Minis für Tabletop-Gaming zu drucken. Die Minis sind großartig geworden und ich habe mich nicht so sehr um die Abmessungen gekümmert. Es brauchte mehrere Kalibrierungswürfel und eine neue Filamentrolle, bis ich mit den Ergebnissen zufrieden war.
Schritt 3: Vorbereiten Ihres Prototypenboards
Vor dem Löten von Knöpfen an eine Prototypenplatine habe ich alle Knöpfe auf einem Steckbrett getestet und gleichzeitig meinen Arduino-Code getestet. Ich werde den Code in einem späteren Schritt durchgehen.
Jetzt ist die beste Zeit, um Ihre Prototypenplatine zuzuschneiden. Verwenden Sie Ihr gedrucktes Controller-Gehäuse als Richtlinie und passen Sie die Tasten trocken an, um sicherzustellen, dass alles ausgerichtet ist. Ich habe nur ein paar Drahtscheren genommen und das überschüssige Brett abgeschnitten und dann die Kanten mit etwas 150er Schleifpapier quadratisch geschliffen.
Die Verkabelung für den Controller ist wirklich einfach, da wir die internen Pull-Up-Widerstände des Arduino Micro verwenden. Alle Tasten gehen auf einen Eingang und Masse. Die Tasten, die ich verwende, sind generische 6-mm-Tastschalter.
Das Löten der Knöpfe an das Arduino war ein lustiges kleines Rätsel, das es zu lösen galt. Einige der Knöpfe waren unter dem Arduino und ich musste Drähte darunter herausführen, bevor ich das Arduino an die Prototypenplatine lötete. Wenn man sich die Tastenseite des Boards genau ansieht, habe ich links und rechts für das Steuerkreuz übersehen.
Für mein spezifisches Design lötete ich die Richtungstasten nach oben und unten (ich habe die linken und rechten Richtungstasten vermisst) zusammen mit einigen extra langen Drähten an die Prototypenplatine, drehte dann die Platine um und lötete das Arduino. Ich habe kein Diagramm, weil ich die Tasten meistens nach dem Zufallsprinzip gelötet habe (ich könnte eine hochladen, wenn genug Interesse besteht). Nachdem das Arduino gesichert ist, drehte ich die Platine wieder auf die Knopfseite und lötete den Rest der Knöpfe und deren Drähte.
Schritt 4: Optional: Verschönern Sie Ihr Controller-Gehäuse
Vor der Endmontage ist ein guter Zeitpunkt, um das Controllergehäuse zu schleifen, Lücken zu füllen und zu lackieren. Ich habe mich entschieden, diesen Schritt für meinen Prototyp zu überspringen, weil ich etwas sofort verwenden wollte. Wenn ich mein Design unweigerlich zu etwas Polierterem verbessere, werde ich ihm die Mühe geben, die es verdient.
Schritt 5: Endmontage
Jetzt ist es an der Zeit, alle Ihre Tasten und die fertige Prototypenplatine in das Gehäuse zu stecken. Ich habe für mein Design #4-24 x 1/2 Blechschrauben verwendet. Sie erledigen die Arbeit, passen aber nicht so gut, wie ich es gerne hätte.
Schritt 6: Programmieren Sie Ihr Arduino
Vielleicht möchten Sie diesen Schritt früher machen, wenn Sie die Platine noch entwerfen oder nachdem Sie alles an die Prototypenplatine gelötet haben. Ich mag es einfach, das in einem eigenen Abschnitt zu haben.
Der Code ist im Vergleich zu den meisten Arduino-Programmen, die ich gesehen habe, sehr einfach. Wir müssen nur jeder Taste einen Tastaturwert zuweisen und das Arduino durchläuft eine Schleife, um zu überprüfen, welche Tasten gedrückt werden, und sendet diese Informationen an unser Telefon.
Für Interessierte nutze ich die retroArch-App, um meine Retro-Spiele zu spielen. Die von mir verwendeten Tasten sind auf das für retroArch verwendete Standard-Tastaturlayout eingestellt.
#include #include "Keyboard.h" #define NUM_BUTTONS 12 const uint8_t BUTTON_PINS[NUM_BUTTONS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // a = 'x' // b = 'z' // x = 's' // y = 'a' // linke Schulter = 'q' // rechte Schulter = 'w' // select = 'rshift ' // start = 'enter' // up = 'key:up' // down = 'key:down' // left = 'key:left' // right = 'key:right' const char BUTTON_KEYS[NUM_BUTTONS] = {KEY_RETURN, KEY_DOWN_ARROW, KEY_UP_ARROW, KEY_LEFT_ARROW, KEY_RIGHT_ARROW, KEY_RIGHT_SHIFT, 'z', 'x', 's', 'a', 'q', 'w'}; Bounce * Tasten = neuer Bounce [NUM_BUTTONS]; void setup() { for (int i = 0; i <NUM_BUTTONS; i++) {buttons.attach(BUTTON_PINS, INPUT_PULLUP); Tasten. Interval(25); } // Kontrolle über die Tastatur initialisieren: Keyboard.begin(); aufrechtzuerhalten. Void loop () {// prüfen, ob sich der Wert geändert hat für (int i = 0; i < NUM_BUTTONS; i++) { buttons.update(); if (buttons.fell()) { Keyboard.press(BUTTON_KEYS); } if (buttons.rose()) { Keyboard.release (BUTTON_KEYS); } } }
Schritt 7: Spielen Sie Ihre Spiele
Alternativ kann dieser Controller mit einem PC ohne das OTG-Kabel verwendet werden, um Tastendrücke oder Makros zu senden. Ich hatte auch einen Freund, der sagte, dass ein solcher Controller auch zum Zeichnen von Tablets nützlich sein könnte, obwohl ich noch nie mit einem herumgespielt habe.
Ich hoffe, Sie fanden dieses Instructable hilfreich. Nachfolgend finden Sie einen Abschnitt zu den Lektionen, die Sie erfahren haben, für diejenigen, die neugierig sind, was ich während des Prozesses gelernt habe und was ich gerne anders gemacht hätte.
Schritt 8: Gelernte Lektionen
CAD:
Ich habe mich in der Vergangenheit nie viel mit CAD-Software beschäftigt und musste mit dieser Konstruktion unterwegs lernen. Ursprünglich habe ich mich für ein aufrechteres Design entschieden, das ähnlich wie ein Wii Nunchuk in Ihre Hände passt. Mein begrenztes Wissen über das Gestalten mit organischen Formen war mein Untergang. Vielleicht sollte ich Intructables in seine CAD-Designklasse aufnehmen.
Tasten:
Die Knöpfe, die ich benutzt habe, waren lauter, als mir lieb ist (besonders wenn Sie versucht haben, jemanden am Aufwachen zu hindern). Ich würde gerne leisere Tasten finden. Das Einfügen von Federn zwischen den Knöpfen und Knopfkappen würde einen großen Beitrag dazu leisten, dass sich der Aufbau polierter anfühlt. Die Tasten haben für meinen Geschmack zu viel Spiel.
Löten:
Ich bin ein Anfänger im Löten und habe keine sehr ruhigen Hände. Das Löten all dieser winzigen Drähte überall dauerte viel länger als ich erwartet hatte. Wenn ich es noch einmal machen müsste, würde ich definitiv planen, wo meine Drähte verlaufen würden, bevor ich das Eisen greife. Das würde die Fehler mildern, die ich nach dem Anbringen des Arduino an der Prototypenplatine entdeckt habe, und hätte mir Zeit gespart.
Empfohlen:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): 3 Schritte
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): Manchmal korrigiert die Autokorrektur möglicherweise etwas, das Sie nicht korrigieren möchten, z. Textabkürzungen beginnen sich in Großbuchstaben zu setzen (imo korrigieren zum Beispiel zu IMO). So erzwingen Sie, dass die Korrektur eines Wortes oder einer Phrase beendet wird, ohne aut zu deaktivieren
Interessante Programmieranleitung für Designer - Bringen Sie Ihr Bild zum Laufen (Teil 2): 8 Schritte
Interessante Programmieranleitung für Designer – Bringen Sie Ihr Bild zum Laufen (Teil 2): Mathematik scheint für die meisten von Ihnen nutzlos zu sein. Die in unserem täglichen Leben am häufigsten verwendete ist einfach Addieren, Subtrahieren, Multiplizieren und Dividieren. Es ist jedoch ganz anders, wenn Sie mit Programm erstellen können. Je mehr Sie wissen, desto mehr wundervolle Ergebnisse werden Sie erhalten
Installieren des Windows-Subsystems für Linux (WSL): 3 Schritte
Installieren des Windows-Subsystems für Linux (WSL): Diese Anleitung soll Benutzern helfen, das Windows-Subsystem für Linux auf ihrem Windows 10-Computer zu installieren. Die spezifische Linux-Distribution, die dieser Befehlssatz verwendet, heißt Ubuntu. Schauen Sie hier für eine Übersicht über die verschiedenen Linux
So erstellen Sie eine UML für Java in Microsoft Visio: 4 Schritte
So erstellen Sie eine UML für Java in Microsoft Visio: Das Erstellen einer UML kann zunächst etwas einschüchternd wirken. Es gibt viele komplizierte Notationsstile, und es kann sich anfühlen, als gäbe es keine guten Ressourcen, um eine lesbare und genaue UML zu formatieren. Microsoft Visio macht jedoch das Erstellen einer UML-Qu