Home > Technologie > Arduino Leonardo / Micro als Spielsteuerung / Joystick

Arduino Leonardo / Micro als Spielsteuerung / Joystick

Advertisement

Arduino Leonardo / Micro als Spielsteuerung / Joystick

Arduino Leonardo / Micro als Spielsteuerung / Joystick

Arduino Leonardo / Micro als Spielsteuerung / Joystick

WICHTIGER HINWEIS: Dieser Artikel ist für Arduino IDE Version 1.6.6 (oder höher). Zum Hinzufügen eines USB Game Controllers zu einem Arduino Leonardo oder Micro mit Arduino IDE Version 1.6.5 (oder unten) siehe folgende Anleitung: Fügen Sie USB Game Controller zu Arduino Leonardo / Micro hinzu.

Aus dem Kasten der Arduino Leonardo und das Arduino Micro erscheinen dem Host - Computer als Gattungs Tastatur und Maus. Dieser Artikel diskutiert, wie die Arduino Leonardo und die Arduino Micro können auch als generische Game-Controller oder Joystick erscheinen. Dieses Projekt funktioniert nur mit Arduino Produkten, die auf dem ATmega32u4 Mikrocontroller basieren (zB Arduino Leonardo und Arduino Micro). Es wird nicht mit der Arbeit Arduino UNO , weil es auf dem ATmega328 Mikrocontroller basiert.

Die Arduino Joystick-Bibliothek (aka Game-Controller-Bibliothek) verwendet in der Instructable bietet die folgenden:

  • X-, Y- und Z-Achse
  • 32 Tasten
  • X-, Y- und Z-Achsenrotation
  • Ruder
  • Drosseln
  • 2 Blickwinkel-Hut-Schalter

Schritt 1: Installieren der Bibliothek

Arduino Leonardo / Micro als Spielsteuerung / Joystick

Die neueste Version der Arduino-Bibliothek, die es dem Arduino Leonardo und Micro ermöglicht, als Game Controller zu erscheinen, kann aus dem folgenden GitHub-Repository heruntergeladen werden:

https://github.com/MHeironimus/ArduinoJoystickLibrary

Dieses GitHub-Repository enthält tatsächlich drei verschiedene Versionen der Arduino Joystick-Bibliothek:

  • Joystick - Veranlasst das Arduino als Single Game Controller zu erscheinen
  • Joystick2 - Veranlasst das Arduino als zwei einfache Gamecontroller zu erscheinen
  • Joystick3 - Veranlasst das Arduino als drei einfache Gamecontroller zu erscheinen

Kopieren Sie den Ordner Joystick (und / oder Joystick2 und / oder Joystick3) von GitHub in den Ordner Arduino Libraries (normalerweise in% userprofile% \ Documents \ Arduino \ libraries). Die Bibliothek (oder Bibliotheken) sollte nun in der Arduino IDE-Liste der Bibliotheken erscheinen.

Schritt 2: Ausführen der Testskizze

Arduino Leonardo / Micro als Spielsteuerung / Joystick

Arduino Leonardo / Micro als Spielsteuerung / Joystick

In der Bibliothek ist eine Testskizze namens UsbJoystickTest.ino (oder UsbJoystick2Test.ino oder UsbJoystick3Test.ino) enthalten. Diese Skizze sollte mit dem Arduino IDE (Version 1.6.6 oder höher) geladen, kompiliert und in den Arduino Leonardo oder Micro geladen werden.

Die folgenden Schritte sind für Windows 7. Wenn Sie eine andere Version von Windows oder ein anderes Betriebssystem haben, können diese Schritte unterschiedlich sein.

Schritt 3: Windows-Systemsteuerung - Hardware und Sound

Arduino Leonardo / Micro als Spielsteuerung / Joystick

Gehen Sie auf die Windows-Systemsteuerung und wählen Sie "Hardware und Sound".

Schritt 4: Geräte und Drucker

Arduino Leonardo / Micro als Spielsteuerung / Joystick

Wählen Sie dann "Geräte und Drucker".

Schritt 5: Arduino-Einstellungen

Arduino Leonardo / Micro als Spielsteuerung / Joystick

  1. Das Arduino Micro oder Arduino Leonardo sollte in der Liste der Geräte erscheinen.
  2. Klicken Sie mit der rechten Maustaste auf das Arduino Leonardo oder Arduino Micro, um das Einstellungsmenü anzuzeigen.
  3. Wählen Sie "Game-Controller-Einstellungen", um die "Game-Controller" -Dialog.

Schritt 6: Spieleinstellungen

Arduino Leonardo / Micro als Spielsteuerung / Joystick

Der Arduino Leonardo oder Micro sollte in der Liste der installierten Gamecontroller erscheinen. Wählen Sie die Arduino Leonardo oder Micro und klicken Sie auf die Schaltfläche Eigenschaften, um das Spiel-Controller-Test-Dialogfeld anzuzeigen.

Schritt 7: Test mit Game-Controller-Einstellungen

Arduino Leonardo / Micro als Spielsteuerung / Joystick

Während dieses Dialogs hat Fokus, Masse Pin A0 auf dem Arduino, um das Test-Skript zu aktivieren. Das Test-Skript testet die Game-Controller-Funktionalität in der folgenden Reihenfolge:

  • 32 Tasten
  • Drossel und Ruder
  • X und Y Achse
  • Z Achse
  • 2 Hutschalter
  • X- und Y-Achsen-Drehung

Schritt 8: Ein weiterer einfacher Test

Sobald Sie überprüft haben, dass der Arduino Leonardo oder Micro als Game-Controller arbeitet, können Sie mit der Erstellung Ihrer eigenen Game-Controller-Projekte beginnen. Die beigefügte Skizzen-Datei von Arduino ist ein einfaches Beispiel, das die digitalen Pins 9, 10, 11 und 12 liest und sie den Tasten 1, 2, 3 und 4 auf dem Game-Controller zuordnet.

Schritt 9: Joystick Library API

Nun, da die Joystick-Bibliothek für die Arduino IDE zur Verfügung steht, kann ein Arduino Leonardo oder Arduino Micro für benutzerdefinierte Game-Controller-Projekte verwendet werden. Im Folgenden wird die komplette Arduino Joystick Library API beschrieben.

Joystick.begin (bool initAutoSendState)

Startet die Emulation eines Spielcontrollers, der mit einem Computer verbunden ist. Standardmäßig aktualisieren alle Methoden den Zustand des Spielcontrollers sofort. Wenn initAutoSendState auf false gesetzt ist, muss die Joystick.sendState-Methode aufgerufen werden, um den Game-Controller-Zustand zu aktualisieren.

Joystick.end ()

Stoppt die Game-Controller-Emulation auf einem angeschlossenen Computer.

Joystick.setXAxis (Byte-Wert)

Setzt den Wert der X-Achse. Bereich -127 bis 127 (0 ist Mitte).

Joystick.setYAxis (Byte-Wert)

Setzt den Y-Achsenwert. Bereich -127 bis 127 (0 ist Mitte).

Joystick.setZAxis (Byte-Wert)

Setzt den Wert der Z-Achse. Bereich -127 bis 127 (0 ist Mitte).

Joystick.setXAxisRotation (int-Wert)

Setzt den X-Achsen-Rotationswert. Bereich 0 ° bis 360 °.

Joystick.setyAxisRotation (int-Wert)

Setzt den Y-Achsen-Rotationswert. Bereich 0 ° bis 360 °.

Joystick.setZAxisRotation (int-Wert)

Setzt den Z-Achsen-Rotationswert. Bereich 0 ° bis 360 °.

Joystick.setButton (Byte-Schaltfläche, Byte-Wert)

Setzt den Status (0 oder 1) der angegebenen Taste (0 - 31). Die Taste ist die 0-basierte Tastennummer (dh Taste # 1 ist 0, Taste # 2 ist 1 usw.). Der Wert ist 1, wenn die Taste gedrückt wird und 0, wenn die Taste losgelassen wird.

Joystick.pressButton (Byte-Taste)

Drücken Sie die Taste (0 - 31). Die Taste ist die 0-basierte Tastennummer (dh Taste # 1 ist 0, Taste # 2 ist 1 usw.).

Joystick.releaseButton (Byte-Schaltfläche)

Lassen Sie die Taste los (0 - 31). Die Taste ist die 0-basierte Tastennummer (dh Taste # 1 ist 0, Taste # 2 ist 1 usw.).

Joystick.setThrottle (Byte-Wert)

Stellt den Drosselklappenwert ein. Bereich 0 bis 255.

Joystick.setRudder (Byte-Wert)

Setzt den Ruderwert. Bereich 0 bis 255.

Joystick.setHatSwitch (byte hatSwitch, int-Wert)

Setzt den Wert des angegebenen Hut-Schalters. Der hatSwitch ist 0-basiert (dh Hutschaste # 1 ist 0 und Hutschaste # 2 ist 1). Der Wert ist von 0 ° bis 360 °, aber in 45 ° -Schritten. Jeder Wert kleiner 45 ° wird abgerundet (dh 44 ° wird auf 0 ° abgerundet, 89 ° auf 45 ° abgerundet ...). Stellen Sie den Wert auf -1, um den Hutschalter zu lösen.

Joystick.sendState ()

Sendet den aktualisierten Joystick-Status an den Host-Computer. Nur aufgerufen werden, wenn AutoSendState falsch ist (siehe Joystick.begin für weitere Details).

Schritt 10: Zusätzliche Informationen

Weitere Informationen über diese Arduino Joystick Library finden Sie auf folgenden Webseiten:

Arduino Joystick Bibliothek - http://mheironimus.blogspot.com/2015/11/arduino-joystick-library.html

GitHub [MHeironimus / ArduinoJoystickLibrary] - https://github.com/MHeironimus/ArduinoJoystickLibrary

Related Reading