Inhaltsverzeichnis:

USB-Tastatur-Joystick - Gunook
USB-Tastatur-Joystick - Gunook

Video: USB-Tastatur-Joystick - Gunook

Video: USB-Tastatur-Joystick - Gunook
Video: Hacking USB keyboard for game controller 2024, November
Anonim
USB-Tastatur-Joystick
USB-Tastatur-Joystick
USB-Tastatur-Joystick
USB-Tastatur-Joystick
USB-Tastatur-Joystick
USB-Tastatur-Joystick
USB-Tastatur-Joystick
USB-Tastatur-Joystick

Es ist ganz einfach, benutzerdefinierte USB-Tastatur- und -Maus-Controller zu erstellen.

Ich verwende ein paar Tastenkombinationen beim Bewerten von Bildern in Adobe Lightroom und habe festgestellt, dass ich mit einem einfachen Gamecontroller-Joystick noch schneller sein kann. Ich habe es auf einem Steckbrett mit zwei Komponenten nachgebaut, die ich bereits in meiner Werkstatt hatte, und fand, dass es großartig funktionierte, aber es brauchte einen schöneren "Schrank", damit es auf meinem Schreibtisch leben konnte.

Da es Arduino-basiert ist, ist es einfach, die Joystick-Funktionen anzupassen und zusätzliche Tasten, Drehregler oder andere Bedienelemente hinzuzufügen.

Dieses Projekt besteht aus drei Abschnitten:

  • Hardware
  • Software
  • Schreibtischtaugliches Gehäuse für besagte Hardware

Teile

  • Arduino - 5v 16MHz Itsy Bitsy von Adafruit. Viele andere Arduinos funktionieren gut, aber stellen Sie sicher, dass ihr USB mit den Tastatur- und Mausbibliotheken funktioniert.
  • Joystick - Gamecontroller Stil 2 Achsen mit Schalter (hier ist eine Packung mit zehn: WGCD 10pcs Joystick Breakout Module Game Controller für Arduino PS2).
  • Holz oder Acryl für Gehäuse. Vielleicht etwas Farbe.
  • Draht und ein USB-Kabel.

Schritt 1: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Arduino

Ich wollte ein kleines Arduino-Board verwenden, um diesen Build so kompakt wie möglich zu halten. Ich habe ein paar Pro Trinkets, aber sie funktionieren nicht gut für die Tastatur- und Maussimulation, da USB nicht vollständig auf den Trinkets implementiert ist. Für dieses Projekt habe ich ein 5V 16MHz Itsy Bitsy von Adafruit verwendet, das Standard-HID-Bibliotheken als Tastatur und Maus über USB verwenden kann.

Joystick

Dies ist die Art von Joystick, die in Gamecontrollern verwendet wird. Sie sind zweiachsig und haben einen Schalter, der beim Eindrücken des Sticks vorübergehend eingeschaltet wird. Sie sind online leicht zu finden. Wenn Sie nur eine kaufen möchten, können sie zwischen 4 und 10 US-Dollar liegen, können aber in 10er-Packs bei Amazon für etwa 11 US-Dollar gekauft werden.

Beachten Sie, dass die ähnlichen Joysticks von Adafruit und Sparkfun andere Pinbelegungen haben als alle anderen, die Sie möglicherweise online finden. Achten Sie beim Anschließen darauf.

Auf dem Arduino verwendet dieses Projekt A0 für den Schalter, A1 für die X-Achse und A2 für die Y-Achse. Damit bleiben 19 weitere Eingangspins, mit denen Sie kreativ werden können.

Der Joystick 5v kommt von der 5v USB-Stromversorgung (auf dem Itsy Bitsy als solche gekennzeichnet). Und es hat eine Masse - verbinden Sie es mit der Arduino-Masse.

Schritt 2: Software

Software
Software

Der Arduino-Code ist sehr einfach. Ich habe es speziell für einige Lightroom-Tastaturkürzel programmiert, die ich zum Bewerten von Bildern verwende. Durch Drücken des Schalters wird zwischen der Lupenansicht ("e") und der Rasteransicht ("g") umgeschaltet. Bewegen Sie den Joystick nach links und rechts, um zum vorherigen (Pfeil nach links) oder zum nächsten (Pfeil nach rechts) Bild zu wechseln. Wenn Sie den Stick nach oben drücken, wird der Bewertung ein Stern hinzugefügt ("["), und wenn Sie ihn nach unten drücken, wird die Flagge ("u") entfernt. (Vertrauen Sie mir, dies macht Sinn für die Art und Weise, wie ich meine Bilder bewerte.) Sie können den Code ändern, um zu tun, was Sie wollen.

Die Hauptschleife liest zuerst den Schaltzustand. Wenn es von HIGH zu LOW wechselt, schaltet es um und gibt entweder 'e' oder 'g' ein, um zwischen Lupen- und Rasteransicht zu wechseln.

Als nächstes ordnet das Programm die Analogwerte des Joysticks (0 bis 1024) einem anderen Bereich (-5 bis +5) zu. Der Code erkennt +/- Werte von 5 als Aktionen zum Senden von Zeichen, sodass Sie den Joystick in die Nähe des Endes seines Bereichs bewegen müssen, um eine Tastenkombination zu senden. Der Joystick muss dann 0 passieren, bevor er einen weiteren Tastendruck sendet. Der Code dafür ist recht kurz und ich finde ihn ziemlich elegant. Der Nettoeffekt ist, dass Sie bei Ihren Bewegungen absichtlich sein müssen und es nicht versehentlich einen Stream mit demselben Tastenanschlag aussendet (was meine erste Version des Codes tat!).

Sie können die Mausbibliothek und die analogen Werte des Joysticks verwenden, um Ihren Cursor, Scrollräder, Lautstärkeregler oder jede andere analoge (ish) Funktion zu steuern.

Schritt 3: Gehäuse, Teil 1 - Design und Schneiden

Koffer, Teil 1 - Design und Zuschnitt
Koffer, Teil 1 - Design und Zuschnitt
Koffer, Teil 1 - Design und Zuschnitt
Koffer, Teil 1 - Design und Zuschnitt
Koffer, Teil 1 - Design und Zuschnitt
Koffer, Teil 1 - Design und Zuschnitt

Ein Steckbrett auf meinem Schreibtisch zu haben, sah einfach nicht cool aus und die Ergonomie war auch nicht ideal. Zeit, einen Fall zu entwerfen.

Dies wäre ein ideales Projekt, um eine Hülle in 3D zu drucken. Ich habe keinen 3D-Drucker, aber einen Laserschneider, daher sieht für mich jetzt alles wie ein Lasercut-Projekt aus. Dieses Design brauchte einen Abend, um in Adobe Illustrator zu entwerfen, einschließlich des Spielens mit vielen verschiedenen Konzepten wie einem einfachen Stick, einer organischeren Form mit lasergeschnittenen Scharnieren und kastenförmigen Formen.

Ich begann damit, das Steckbrett in verschiedenen Höhen und Winkeln zu halten und entschied, dass ein Winkel von 30° in einer Höhe von etwa 80 bis 100 mm vom Schreibtisch bequem wäre. Das endgültige Design sieht ein bisschen aus wie ein kleiner Flug-Joystick und liegt angenehm in der Hand.

Die ursprüngliche Adobe Illustrator-Datei zusammen mit DXF- und PDF-Versionen sind unten enthalten. (Die DXF- und PDF-Dateien wurden nicht auf einem Laserschneider getestet.) Die Datei enthält auch eine Draufsicht und eine Seitenansicht des Joysticks, damit Sie Ihr eigenes Projekt erstellen können.

Bei diesem Design werden zwei Materialstärken verwendet. Alles außer der Oberseite besteht aus 0,187" "Utility"-Sperrholz aus dem örtlichen Big-Box-Laden. Ein 2' x 4'-Blatt kostet nur etwa 8 US-Dollar. Das Design verwendet 5 mm als Dicke für das 0,187"-Holz im Design und es lässt sich zusammenbauen perfekt. Die Oberseite besteht aus 3 mm Sperrholz, um zusätzlichen Spielraum für den Daumengriff am Joystick zu ermöglichen. Dieses Projekt wäre auch in klarem Acryl schön.

Ein paar Anmerkungen zu den Vorteilen der Herstellung von Prototypen: Ich habe zuerst einen Testschnitt und eine Montage mit Karton durchgeführt, um einen Designfehler zu finden. Als ich die Holzversion zum ersten Mal schnitt, stellte ich auch fest, dass die obere Platte durch das Loch sehr zerbrechlich war, also habe ich die Laschen neu gestaltet, um dort zusätzliche Festigkeit zu verleihen. Ich habe auch festgestellt, dass der Joystick an der Seite des Gehäuses anschlägt, also habe ich zwei Änderungen vorgenommen: Ich habe die Halterung verschoben, um sie besser zu zentrieren, und ich habe 3 mm Holz anstelle von 5 mm auf der Oberseite verwendet. Die hochgeladene Designdatei enthält all diese Änderungen - achten Sie nur darauf, das Oberteil aus dem dünneren Holz zu schneiden.

Schritt 4: Gehäuse, Teil 2 - Lackierung und Montage

Koffer, Teil 2 - Lackierung und Montage
Koffer, Teil 2 - Lackierung und Montage
Koffer, Teil 2 - Lackierung und Montage
Koffer, Teil 2 - Lackierung und Montage
Koffer, Teil 2 - Lackierung und Montage
Koffer, Teil 2 - Lackierung und Montage

Mit allen geschnittenen Teilen habe ich eine endgültige Trockenmontage durchgeführt und den Joystick vorübergehend montiert. Alles war gut, also klebte ich alle Teile außer der Oberseite auf. Es ist nicht möglich, den Joystick zu installieren, nachdem das Oberteil angebracht wurde, so dass dies später kommt.

Die untere rechte Ecke der Oberseite würde in die Unterseite meines Daumens stecken, also rundete ich die unteren Ecken mit etwas schnellem Schleifen ab.

Wenn dir der Lasercut-Look gefällt oder du dies aus Acryl gemacht hast, bist du fertig! Ich wollte ein schöneres Finish für das Stück, das zu meinem Desktop passt. Ich gab ihm einen Grundanstrich mit schwarzer Farbe und dann einige Schichten Rust-Oleum Forged Hammered Burnished Amber. Ich habe dieses Produkt für die Verkleidung meines Schreibtisches verwendet, so dass die Teile miteinander verbunden sind. Ich mag auch den Metallic-Look dieser Farbe. Ich maskierte die Innenseite der Fingergelenke, wo die Oberseite passt, damit die Farbe die Passform nicht beeinträchtigt.

Der Joystick und Arduino wurden mit schwarzen Drähten und Schrumpfschläuchen verdrahtet, um sie sauber zu halten, und die Drähte wurden auf eine Länge geschnitten, die bei der Installation richtig aussah.

Der Joystick wird an der Mittelstrebe festgeschraubt. Die Schrauben, die ich hatte, waren etwas lang, also habe ich sie gekürzt, indem ich sie durch das unbenutzte Holz geschraubt und die Spitzen mit einem Tischschleifer zurückgeschliffen habe. Das Arduino hat keine Befestigungslöcher, also wurde es heiß geklebt.

Mit allem montiert habe ich die Oberseite ohne Kleben eingerastet. Es sitzt fest genug, um sich selbst zu halten, und ist strukturell nicht wichtig.

Schritt 5: Fertigstellung

Fertigstellung
Fertigstellung
Fertigstellung
Fertigstellung
Fertigstellung
Fertigstellung

Das fertige Projekt sieht auf meinem Schreibtisch toll aus.

Das erste, wofür ich es verwendet habe, war, die Bilder für dieses Instuctable zu bearbeiten.

Fertig!

Empfohlen: