Inhaltsverzeichnis:

USB-Gamecontroller für Trainingsgerät - Gunook
USB-Gamecontroller für Trainingsgerät - Gunook

Video: USB-Gamecontroller für Trainingsgerät - Gunook

Video: USB-Gamecontroller für Trainingsgerät - Gunook
Video: Zwift Play Controllers Review: Is It Worth It? 2024, November
Anonim
Trainingsgerät USB-Gamecontroller
Trainingsgerät USB-Gamecontroller
Trainingsgerät USB-Gamecontroller
Trainingsgerät USB-Gamecontroller
Trainingsgerät USB-Gamecontroller
Trainingsgerät USB-Gamecontroller
Trainingsgerät USB-Gamecontroller
Trainingsgerät USB-Gamecontroller

Um das Training für sich selbst und die Familie zu fördern, habe ich einen Adapter entwickelt, der einen Standard-USB-Gamecontroller-Adapter emuliert, aber die Bewegungsgeschwindigkeit des Spiels durch Treten auf einem Ellipsentrainer oder einem Heimtrainer steuert. Es ist besonders schön für Rennspiele. Es motiviert sicherlich, bei Rennspielen schnell in die Pedale zu treten.

Die Haupthardware ist ein $ 2 "Black Pill" STM32F103C8-Entwicklungsboard mit dem stm32duino Arduino-Kern und einer USB-HID-Bibliothek, die ich basierend auf der Kerngabel von libarra111 entwickelt habe. Der STM32F1 ist schnell und günstig und bietet Full-Speed-USB-Unterstützung, sodass er perfekt für das Projekt geeignet ist.

Zur Verwendung müssen Sie den Rotationssensor am Ellipsentrainer oder Heimtrainer anzapfen (wenn Ihr Rotationssensor anders funktioniert als die unserer Maschinen - ca. 3 V, aktiv niedrig - müssen Sie möglicherweise die Schaltung und / oder den Code ändern).

Die Ellipsen-/Fahrraddrehgeschwindigkeit steuert den Controller-Schieberegler. Außerdem stecken Sie einen Standard Wii Nunchuck oder Gamecube Controller in den Adapter für Joystickbewegungen, Tasten usw. Es gibt viele verschiedene Steuerungsmodi. Zum Beispiel müssen kleinere Kinder möglicherweise ihre Geschwindigkeit etwas erhöhen, und einige Spiele verwenden möglicherweise ein anderes Steuerungsschema. Es gibt eine Reihe von integrierten Kontrollschemata in der Software, und andere können leicht in den Code eingefügt werden. Das Gerät kann einen USB-Gamecontroller, eine Tastatur, eine Maus, einen XBox 360-Controller oder eine Kombination der ersten drei emulieren.

Bewegungsrichtung wird derzeit nicht erkannt: Zum Umschalten zwischen Vorwärts- und Rückwärtsfahrt verfügt der Adapter über einen Kippschalter. (Alternativ könnte man einen Hall-Effekt-Magnetsensor wie dieses Gerät verwenden und die Schaltung und Software ändern.)

Der Adapter funktioniert als Standard-USB-Controller, sodass Sie ihn mit Windows, Linux, OS X, Android usw. verwenden können.

Als Bonus verfügt der Adapter über alle Funktionen dieses Projekts und funktioniert als voll funktionsfähiger Gamecube-Adapter, mit dem Sie Gamecube-Controller auf einem Computer verwenden können, einschließlich der Steuerung von Spielen mit Gamecube / Wii-kompatiblen Dance Dance Revolution-Tanzmatten.

Die Kosten liegen unter etwa 10 US-Dollar, plus Gehäuse (ich habe ein 3D-druckbares Design), Drähte und Lötzinn. Teile:

  • Entwicklungsboard "Black Pill" stm32f103c8 ($ 2 bei Aliexpress)
  • Gamecube-Buchse (1,60 $ bei Aliexpress, für ein Gamecube-Verlängerungskabel, das gekürzt werden kann)
  • Nunchuck-Sockel-Breakout-Board (0,51 USD bei Aliexpress; Suche nach Wiichuck)
  • Kleiner Kippschalter mit zwei Positionen (unter 1 USD bei Aliexpress)
  • Ihre Wahl zwischen zweipoligen Steckern und Buchsen (ca. 1 USD bei Aliexpress, wenn Sie sich für 5,5-mm-Power-Barrel-Steckverbinder entscheiden); Sie benötigen eine Buchse pro Trainingsgerät
  • 2 taktile Schalter (unter 0,50 USD bei Aliexpress)
  • 4 rote LEDs (unter 0,50 USD bei Aliexpress; Sie können auch einen kleinen Nokia LCD-Bildschirm verwenden)
  • Kondensatoren: 10uF Elektrolyt und optional 100nF
  • Widerstände: 1 x 100K, 2 x 10K, 1 x 1K, 4 x 220ohm
  • kleines Proto-Board (unter 1 USD bei Aliexpress).

Ein Nunchuck ist gut für den einhändigen Gebrauch mit einem Ellipsentrainer. An einem Heimtrainer können Sie einen Zweihandadapter wie den Gamecube verwenden. Wenn Sie nur eine dieser beiden Steuerungsoptionen verwenden möchten, können Sie weniger Verbindungen verwenden.

Außerdem benötigen Sie einen Computer, einen Lötkolben und ein Multimeter. Sie benötigen auch eine UART-zu-USB-Brücke (ich habe ein Arduino Mega verwendet, das ich für ein anderes Projekt hatte; oder Sie können ein CP2102-Modul bei Aliexpress für einen Dollar kaufen), um einen Bootloader auf Ihrer schwarzen Pille zu installieren, um ihn mit dem zu verwenden Arduino-Umgebung, oder Sie können ein paar mehr Dollar ausgeben und das Entwicklungsboard von RobotDyn mit einem vorinstallierten Arduino-Bootloader erhalten.

Lassen Sie mich hinzufügen, dass ich am Wheels-Wettbewerb teilnehme, weil es eine Möglichkeit ist, die virtuellen Räder in Autorennen-Spielen auf einem Computer mit den physischen Rädern von Heimtrainern und Ellipsentrainern zu verknüpfen.

Schritt 1: Tippen Sie auf den Rotationssensor

Tippen Sie auf den Rotationssensor
Tippen Sie auf den Rotationssensor
Tippen Sie auf den Rotationssensor
Tippen Sie auf den Rotationssensor
Tippen Sie auf den Rotationssensor
Tippen Sie auf den Rotationssensor
Tippen Sie auf den Rotationssensor
Tippen Sie auf den Rotationssensor

Beide Trainingsgeräte, die ich gehackt habe, haben eine Konsole, die die Geschwindigkeit anzeigt. Zwischen der Konsole und dem Maschinenkörper verlaufen Kabel. Sie müssen diese Drähte anzapfen, um auf Daten zuzugreifen. Wenn Ihre Maschinen wie meine sind, kann die Konsole entfernt werden, und Sie finden dort entweder ein Flachbandkabel (elliptisch) oder zwei Drähte (Fahrrad). Ich habe diese angezapft, indem ich die Drähte trennte und sie mit einzelnen männlichen-zu-weiblichen-Jumpern überbrückte, die ich anzapfen konnte.

Verwenden Sie Versuch und Irrtum und ein Multimeter, um ein Paar von Drähten zu identifizieren, zwischen denen während einer vollen Umdrehung ein Spannungsimpuls auftritt.

Grundsätzlich ist die Übung so: Schließen Sie das Multimeter bei laufender Maschine an ein Paar Drähte an (achten Sie darauf, dass nichts kurzgeschlossen wird) und drehen Sie die Pedale sehr langsam. In unseren beiden Maschinen gibt es ein Paar Drähte, zwischen denen normalerweise die Spannung etwa +3 V beträgt, aber während eines kurzen Teils der Drehung fällt sie auf Masse: Dies ist ein Active-Low-Schema. Möglicherweise stellen Sie fest, dass Ihre Maschine ein Active-High-Schema hat, bei dem der größte Teil der Rotation geschliffen ist und der Puls positiv ist, und dann müssen Sie die Arduino-Skizze bearbeiten.

Wenn Sie der Meinung sind, dass es sich bei einem der Kabel zur Konsole, mit der Sie es zu tun haben, um Wechselstrom handelt, empfehle ich, dies zu beenden, es sei denn, Sie wissen wirklich, was Sie tun. Glücklicherweise ist unser Heimtrainer batteriebetrieben und unsere elliptischen Stecker werden in eine Wandwarze gesteckt, sodass nur etwa 12 V DC um die Konsole herum anliegen.

Beim Heimtrainer war das ganz einfach. Es gab nur vier Drähte. Zwei waren für den Herzfrequenzmesser und zwei für den Rotationssensor.

Der Ellipsentrainer hatte viel mehr Drähte, und so war es mehr Arbeit. Die Brute-Force-Methode ist diese. Schließen Sie ein Multimeter an ein Paar Drähte an. Machen Sie langsam eine volle Umdrehung (oder nur für den Fall der Fälle) auf den Pedalen und sehen Sie, ob es einen Spannungseinbruch oder einen Spannungssprung gibt. Wenn ja, hast du es. Wenn nicht, wiederholen Sie den Vorgang für ein weiteres Paar. Das ist eine Menge Versuch und Irrtum: Bei 13 Drähten sind es 78 Umdrehungen.

Hier ist ein Trick, der Ihnen helfen könnte, die Suche nach dem richtigen Adernpaar zu beschleunigen. Sie können hoffen, dass Ihre Maschine, wie meine, die Detektorspannung normalerweise hoch mit einem niedrigen Impuls hat. Wenn dies der Fall ist, haben Sie eine gute Chance, dass die beiden Detektordrähte ungefähr +3V oder +5V zwischen ihnen haben, wenn Sie die Pedale an einer zufälligen Position lassen. Führen Sie den Pedaldrehungstest also nur für die Kabelpaare durch, die zwischen ihnen +3V oder +5V haben.

Noch ein Trick. Sie können möglicherweise erkennen, wo bei der Pedaldrehung der Rotationssensor auslöst. Zum Beispiel könnte Ihr Gerät dann etwas auf dem Bildschirm blinken lassen oder die Geschwindigkeitsanzeige aktualisieren oder aus dem Schlafmodus aktivieren oder piepsen. Wenn dies der Fall ist, bewegen Sie die Pedale etwa 1/3 einer Umdrehung weg und suchen Sie dann nach Kabelpaaren mit 3-5 V zwischen ihnen und testen Sie diese, indem Sie die Pedale in die Position bewegen, in der der Sensor auslöst.

Wenn Sie das Erdungskabel identifizieren können, können Sie den Vorgang erheblich beschleunigen, da Sie dann nur zwischen Erde und jedem unbekannten Kabel gehen müssen. Seltsamerweise schien die Masse des Netzteils jedoch nicht mit der Masse des Rotationsdetektors auf unserem Ellipsentrainer identisch zu sein.

Sobald Sie die Drähte identifiziert haben, notieren Sie sie. Stellen Sie sicher, dass Sie Folgendes beachten:

  • der Hochspannungspegel: Wenn es mehr als etwa 3,3 V, aber nicht mehr als 5 V beträgt, sollten Sie die Schaltung so ändern, dass Pin A9 anstelle von A7 für die Rotationserkennung verwendet wird, da Pin A9 5 V-Toleranz hat und A7 nicht, und bearbeiten eine Zeile in meiner Skizze; Wenn es mehr als 5 V beträgt, müssen Sie einen Spannungsteiler hinzufügen
  • ob der Rotationserkennungsimpuls niedrig oder hoch ist: Wenn der Impuls hoch ist, müssen Sie eine Zeile in meiner Arduino-Skizze bearbeiten.

Wenn Sie ein Oszilloskop haben und das Trainingsgerät batteriebetrieben ist, können Sie anstelle des Multimeters auch das Oszilloskop verwenden. (Wenn das Trainingsgerät und Ihr Oszilloskop an eine Wechselstromquelle angeschlossen sind, müssen Sie über Masseschleifen Bescheid wissen und wissen, wie Sie sie vermeiden. Seien Sie vorsichtig!)

Schritt 2: Entwicklungsboard vorbereiten

Entwicklungsboard vorbereiten
Entwicklungsboard vorbereiten
Entwicklungsboard vorbereiten
Entwicklungsboard vorbereiten
Entwicklungsboard vorbereiten
Entwicklungsboard vorbereiten

Löten Sie die sechs zentralen Jumper-Pins auf Ihre schwarze Pille.

Wenn Sie ein RobotDyn-Board mit dem Arduino-Bootloader haben, verbinden Sie B0- und B1- mit den mittleren Pins, und Sie sind mit dem Schritt fertig.

Andernfalls müssen Sie jetzt den Bootloader installieren. Sie benötigen entweder eine eigenständige UART-zu-USB-Brücke oder Sie können zu diesem Zweck ein Arduino Uno oder Mega verwenden. Obwohl die schwarze Pille mit 3,3 V läuft, sind die UART-Pins 5 V tolerant, also machen Sie sich keine Sorgen, ob Ihr Anschluss mit 3,3 V oder 5 V läuft.

Wenn Sie ein Uno oder Mega haben, legen Sie ein Überbrückungskabel zwischen RESET und GROUND. Dadurch wird das Arduino zu einer dedizierten UART-zu-USB-Brücke, mit der Ausnahme, dass die TX / RX-Pins umgekehrt sind, wie sie normalerweise an einem Stecker sind.

Laden Sie die Bootloader-Binärdatei herunter. Sie möchten generische_boot20_pb12.bin. Installieren Sie unter Windows den Flash Loader Demonstrator von ST. Verwenden Sie unter Linux (und möglicherweise OS X und sogar Windows, wenn Sie Befehlszeilentools bevorzugen) stattdessen dieses Python-Skript, aber meine Anweisungen gelten für Windows.

Stellen Sie folgende Verbindungen her:

  • PA9 zu UART Bridge RX ("TX", wenn Sie den Arduino-Trick verwenden)
  • PA10 zu UART Bridge TX ("RX", wenn Sie den Arduino-Trick verwenden)
  • G zu UART-Brückenmasse

Ich verwende gerne logische Tastspitzen, um die Verbindungen auf der STM32-Seite herzustellen, aber Sie können auch einfach einige Drähte einlöten, die Sie später abschneiden können (oder entlöten, wenn Sie ordentlich sein möchten).

Verbinden Sie Ihre UART-Bridge mit Ihrem Computer. Schalten Sie die Black Pill über den USB-Anschluss ein (am besten, wenn Sie sie an ein Ladegerät und nicht an den Computer anschließen, da sich der Computer wahrscheinlich über ein nicht erkanntes USB-Gerät beschwert). Starten Sie den Flash Loader-Demonstrator. Wählen Sie den COM-Port für Ihre UART-Bridge. Wählen Sie "Schutz entfernen", falls verfügbar. Wählen Sie eine 64-kb- statt einer 128-kb-Flash-Version. Und laden Sie die Bootloader-Binärdatei hoch.

Schalten Sie alles aus und verschieben Sie dann den Jumper von B0+/Mitte auf B0/Mitte. Sie haben jetzt einen Bootloader, den Sie mit der Arduino IDE verwenden können.

Schritt 3: Vorbereiten von Stm32duino in der Arduino IDE

Bereiten Sie Stm32duino in der Arduino IDE vor
Bereiten Sie Stm32duino in der Arduino IDE vor
Bereiten Sie Stm32duino in der Arduino IDE vor
Bereiten Sie Stm32duino in der Arduino IDE vor

Ich gehe davon aus, dass Sie die neueste Arduino IDE installiert haben.

In Tools | Bretter | Boards Manager, installieren Sie die Unterstützung für den Arduino Zero (geben Sie einfach Zero in die Suche ein, klicken Sie auf den gefundenen Eintrag und dann auf Installieren). Ja, Sie arbeiten nicht mit einer Zero, aber dies installiert den richtigen gcc-Compiler.

Laden Sie als Nächstes den stm32duino-Kern herunter. Unter Windows empfehle ich, die ZIP-Datei herunterzuladen, da ich beim Auschecken der Dateien (zugegeben mit svn) einige Berechtigungsprobleme mit Dateien im Windows-Tools-Verzeichnis hatte, die behoben werden mussten. Legen Sie den Zweig in Arduino/Hardware/Arduino_STM32 ab (damit Sie Ordner wie Arduino/Hardware/Arduino_STM32/STM32F1 usw. haben). Unter Windows installieren Sie die Treiber, indem Sie driver\win\install_drivers.bat ausführen.

Installieren Sie meine USBHID-Bibliothek: Gehen Sie zu Sketch | Bibliothek einschließen | Bibliotheken verwalten und nach USBHID suchen. Klicken Sie darauf und klicken Sie auf Installieren.

Installieren Sie meine GameControllersSTM32-Bibliothek: Gehen Sie zu Sketch | Bibliothek einschließen | Bibliotheken verwalten und nach GameControllern suchen. Klicken Sie darauf und klicken Sie auf Installieren.

Schritt 4: Schaltung

Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis

Mein Setup verwendet vier LEDs, um den aktuellen Emulationsmodus in binärer Form anzuzeigen (ja, man könnte ein LCD-Display verwenden, aber ich hatte LEDs herumliegen, als ich das gebaut habe), zwei Drucktasten zum Umschalten des Modus nach oben und unten (und einige andere) Tricks) und einen Kippschalter zum Umschalten der Bewegungsrichtung.

Darüber hinaus gibt es einen I2C-Eingang vom Nunchuck und einen Anschluss zum Gamecube-Controller. Wer nur eine dieser beiden unterstützen möchte, kann die gamecube.h einfach im Sketch editieren und sich so einiges an Löten sparen.

Ich habe ein kleines Stück Protoboard verwendet, um die vier Mode-LEDs und zwei Mode-Switch-Tasten (oben und unten) sowie den einen Pull-up-Widerstand für Gamecube-Daten zu montieren. Ich habe 3,3 V an das Protoboard gebracht, aber ich musste keine Masse herausbringen, obwohl Sie dies können, wenn Sie möchten. Ich habe ein weiteres kleines Stück Protoboard verwendet, um den Nunchuck-Anschluss zu montieren.

Schneiden Sie das Gamecube-Kabel ab. Sie möchten mit der Steckdosenseite arbeiten, die Ihr Controller anschließt. Kabel zum Anschließen abisolieren.

Stellen Sie nun diese Verbindungen gemäß Schaltplan her:

  • 10uF Kondensator zwischen 3,3V und Masse (mit der Minusseite aller Elektrolyte auf Masse). Dies sollte so nah wie möglich am Chip sein, also habe ich es direkt auf dem Entwicklungsboard und nicht auf dem Protoboard gelötet. Für ein gutes Maß können Sie wie ich 100 nF hinzufügen, aber ich bin mir nicht sicher, ob dies erforderlich ist.
  • Gamecube-Sockel #2 -- A6 auf stm32-Platine
  • 1Kohm Widerstand zwischen Gamecube-Buchse #2 und 3,3V auf der stm32-Platine (oder auf der Protoplatine)
  • Gamecube-Sockel #3 und #4 -- Masse auf stm32-Platine
  • Gamecube-Buchse #6 -- 3.3V auf stm32-Platine (oder auf Protoboard)
  • LED in Reihe mit 220 Ohm (oder größer) Widerstand zwischen A0 auf stm32-Platine und 3,3 V (negatives Ende (flach) zu PA0; positives Ende zu 3,3 V)
  • Wiederholen Sie mit LED+Widerstand zwischen A1 und 3.3V, A2 und 3.3V und A3 und 3.3V
  • Kurzzeitiges Umschalten zwischen A5 auf der stm32-Platine (Inkrement-Modus) und 3.3V und einem weiteren zwischen A4 und 3.3V (Dekrement-Modus); dieser Schalter erhöht die Modusnummer
  • Kippschalter zwischen A8 und 3.3V
  • Heimtrainer Boden -- stm32 Boden
  • Positives Signal des Trainingsgeräts - stm32-Platine A7 (beachten Sie, dass A7 nur für 3,3 V geeignet ist; wenn Ihr Trainingsgerät 5 V hat, verwenden Sie A9 und bearbeiten Sie gamecube.h)
  • Nunchuck-Masse (beschriftet - auf meiner Adapterplatine) - stm32-Masse
  • Nunchuck +3.3V (mit + gekennzeichnet) -- stm32 3.3V
  • Nunchuck SDA (gekennzeichnet mit D) -- stm32 B7
  • Nunchuck SCL (mit C gekennzeichnet) -- stm32 B6
  • 10Kohm Widerstand zwischen Nunchuck SDA und 3.3V auf stm32 Board
  • 10Kohm Widerstand zwischen Nunchuck SCL und 3.3V auf der stm32 Platine.

Schritt 5: Sketch installieren

Sketch installieren
Sketch installieren
Sketch installieren
Sketch installieren

Laden Sie meine Gamecube USB-Adapter-Skizze herunter und laden Sie sie in die Arduino IDE. Es gibt einige Optionen zur Steuerung in gamecubecontroller.h:

  • // vor #define ENABLE_EXERCISE_MACHINE entfernen (jeder muss dies tun)
  • Wenn Sie den Anschluss des Trainingsgeräts auf A9 verschieben müssen, ändern Sie PA7 in PA9 in der Zeile const uint32_t rotationDetector = PA7
  • Wenn der Rotationserkennungspuls Ihres Trainingsgeräts hoch ist, ändern Sie #define ROTATION_DETECTOR_CHANGE_TO_MONITOR FALLING in #define ROTATION_DETECTOR_CHANGE_TO_MONITOR RISING
  • Wenn Sie kein Nunchuck verwenden möchten, setzen Sie // vor #define ENABLE_NUNCHUCK
  • Wenn Sie keinen Gamecube-Controller verwenden möchten, setzen Sie // vor #define ENABLE_GAMECUBE.

Wählen Sie in der Arduino-IDE Tools | Vorstand | Generische STM32F103C-Serie.

Drücken Sie die Hochladen-Schaltfläche mit dem Pfeil nach rechts. Beachten Sie, dass Sie möglicherweise den Reset-Knopf drücken müssen (oder das Board zum richtigen Zeitpunkt ausstecken / einstecken), wenn Sie eine Meldung erhalten, dass das Board nicht erkannt wird.

Schritt 6: Anschluss des Trainingsgeräts

Anschluss des Trainingsgeräts
Anschluss des Trainingsgeräts
Anschluss des Trainingsgeräts
Anschluss des Trainingsgeräts
Anschluss des Trainingsgeräts
Anschluss des Trainingsgeräts
Anschluss des Trainingsgeräts
Anschluss des Trainingsgeräts

Spleißen Sie eine Buchse für den Anschluss Ihres Trainingsgeräts ein. Auf unserem Crosstrainer habe ich es eingelötet, während ich auf dem Heimtrainer männliche und weibliche Dupont-Anschlüsse verwenden konnte. Auf dem Ellipsentrainer habe ich ein Loch in die Seite der Konsole gemacht, um die Verbindung zu passen. Auf dem Trainingsgerät ragen nur Drähte heraus und außen eine kleine 3D-gedruckte Schachtel (OpenSCAD-Datei).

Schritt 7: Projektfall

Projektfall
Projektfall
Projektfall
Projektfall
Projektfall
Projektfall
Projektfall
Projektfall

Man kann das Projekt in einen kleinen Karton, einen Tupperware-Behälter oder ein benutzerdefiniertes 3D-gedrucktes Gehäuse einschließen. Da ich einen 3D-Drucker habe, habe ich mich für das benutzerdefinierte Gehäuse entschieden. Die OpenSCAD- und STL-Dateien sind hier.

Die Füße sind so konzipiert, dass sie auf den Boden kleben (Sekundenkleber funktioniert) und in sie klebrige Gummifüße geklebt werden.

Ich habe auch einige Klettverschlüsse sowohl am Projektkoffer als auch an den Trainingsgeräten heißgeklebt.

Schritt 8: Verwenden Sie

Verwenden
Verwenden
Verwenden
Verwenden
Verwenden
Verwenden
Verwenden
Verwenden

Die beiden Schaltflächen können zwischen bis zu 16 verschiedenen Emulationsmodi umschalten (eigentlich können Sie mehr haben, aber es gibt nur vier LEDs im Projekt, um die Modusnummer anzuzeigen). Die Emulationsmodi sind in gamecubecontroller.h im Sketch definiert. Für die meisten Spiele können Sie Modus 1 mit dem einheitlichen Schieberegler-Joystick mit 100 % Geschwindigkeit verwenden. Der emulierte Joystick verfügt über einen Schieberegler (eigentlich zwei Schieberegler, aber beide machen dasselbe), der durch die Rotation des Trainingsgeräts gesteuert wird. Die Tasten und der Joystick selbst werden vom Gamecube-Controller oder Nunchuck gesteuert. Unter Windows unterstützen einige Spiele einen XBox 360-Controller, aber keinen USB-Joystick. Verwenden Sie für diese den Modus 13 (drücken Sie die Abwärtstaste von Modus 1).

Die Modi 9 und 10 ermöglichen es Ihnen, langsamer in die Pedale zu treten und trotzdem den Schieber vollständig zu drücken, was für Kinder oder für Trainingsgeräte mit höherem Widerstand angenehm ist. Sie können die Geschwindigkeiten auch in Exercisemachine.ino anpassen.

Es gibt viele andere Emulationsmodi. Eine druckbare Referenz ist in modelist.pdf mit der Skizze enthalten.

Wenn Sie auf dem Trainingsgerät in die Pedale treten, wechseln die LEDs am Projekt von der Anzeige der aktuellen Modusnummer zur Geschwindigkeit. Wenn alle vier Lichter leuchten, ist Ihre Geschwindigkeit auf Maximum (der emulierte Schieberegler hat die maximale Ausdehnung) - an diesem Punkt haben Sie keinen Vorteil im Spiel, wenn Sie schneller fahren. Außerdem leuchtet die blaue LED auf der STM32F1-Platine, wenn alles funktioniert, blinkt jedoch aus, wenn der Rotationssensor auslöst.

Um die Bewegung umzukehren, drehen Sie den Richtungsumschalter an der Adapterbox um.

Führen Sie unter Windows joy.cpl aus, um zu kalibrieren und zu sehen, wie die Dinge funktionieren. Da es lästig ist, sehr schnell in die Pedale treten zu müssen, um den emulierten Joystick zu kalibrieren, gibt es eine Möglichkeit, die Kalibrierung zu betrügen. Wenn Sie auf dem Gamecube-Controller etwa 10 Sekunden still stehen, können Sie die Schultertasten verwenden, um die emulierten Joystick-Schieberegler zu steuern. Beim Nunchuck können Sie, während Sie die Modus-Minus-Taste gedrückt halten, stattdessen den Joystick nach oben/unten verwenden, um die emulierten Schieberegler zu steuern.

Wenn Sie eine GUI zum Wechseln der Emulationsmodi wünschen, enthält der Sketch unter Windows mode.py, ein Python-Skript mit einer GUI zum Wechseln der Modi. Sie können mode.py auch in einer Batchdatei aufrufen, die ein Spiel startet.

Zwei Spiele, die mit dem Heimtrainer sehr gut funktionieren, sind Toybox Turbos und SuperTuxCart (kostenlos).

Der Adapter enthält auch viele andere Emulationsfunktionen. Sie können ihn beispielsweise als einfachen Nunchuck- oder Gamecube-Controller-Adapter verwenden, der Joystick, Tastatur (z. B. Pfeile/WASD) und/oder Maus emuliert. In gamecubecontroller.h sind viele Modi aufgelistet. Sie können auch ein Dance Dance Revolution Gamecube/Wii-kompatibles Pad anschließen und damit Spiele spielen, die nicht dafür entwickelt wurden, wie Tetris, für zusätzlichen Spaß und Bewegung.

Empfohlen: