Inhaltsverzeichnis:

Wireless 4-Spieler-Familien-Gamecontroller - Gunook
Wireless 4-Spieler-Familien-Gamecontroller - Gunook

Video: Wireless 4-Spieler-Familien-Gamecontroller - Gunook

Video: Wireless 4-Spieler-Familien-Gamecontroller - Gunook
Video: Unboxing 51 : Retro-Stick M8 / 10.000+ Spiele / 4K / 2 Controller / 60 Euro 🎮 Lohnt sich der Kauf ? 2024, Juli
Anonim
Kabelloser 4-Spieler-Familien-Gamecontroller
Kabelloser 4-Spieler-Familien-Gamecontroller
Kabelloser 4-Spieler-Familien-Gamecontroller
Kabelloser 4-Spieler-Familien-Gamecontroller
Kabelloser 4-Spieler-Familien-Gamecontroller
Kabelloser 4-Spieler-Familien-Gamecontroller

Dies ist ein drahtloser Controller im Arcade-Stil, auf dem 4 Personen gleichzeitig spielen können. Es ist drahtlos, so dass Sie Ihren PC nicht an einen Controller binden müssen, der von 5-Jährigen verwendet wird. Sie fallen die ganze Zeit und ich möchte nicht, dass sie alle meine Spielsachen zerstören, wenn sie unvermeidlich auf einem Draht stolpern. Wir haben vor kurzem einen neuen Computermonitor gekauft und er kam in einer super stabilen Box mit wirklich dichtem Styropor im Inneren. Wie aus einer Sitcom stritt ich mit meiner Frau ständig darüber, die Kiste zu behalten. Für mich schien es zu betteln, in etwas verwandelt zu werden, während es für sie hässlicher Schrott war. Dann führte Instructables aus heiterem Himmel einen Geschwindigkeitswettbewerb auf Basis von Karton durch. Und so war der Streit an einem Nachmittag beigelegt und dieses Projekt war geboren.

Wir nutzten Reste, die wir im Haus hatten, um das Projekt zum Leben zu erwecken. Die Idee war nur, das, was wir bereits herumsitzen, zu verwenden, um etwas Cooles zu tun - zum Glück hatten wir ein Set Arcade-Knöpfe und einen Himbeer-Pi, den wir vor langer Zeit gekauft hatten, um einen Arcade-Schrank zu bauen. Zum Schneiden benutzten wir eine Säge und mein treues altes Taschenmesser.

Lieferungen

1. Karton2. Styropor oder ein anderer dichter Füllstoff 3. Arcade-Tasten von Ali Express oder Amazon 4. Raspberry Pi 3B+ 5. Ein anderer Computer + Bildschirm. 6. Messer oder etwas zum Schneiden von Löchern in Pappe 7. Abdeckband8. Sprühfarbe

Schritt 1: Die Konstruktion

Der Bau
Der Bau
Der Bau
Der Bau
Der Bau
Der Bau

Wir haben schnell eine Skizze erstellt, wie das Ding aussehen sollte, dann haben wir mit einem Messer und einer Holzsäge den Karton und das Styropor auf die richtige Größe geschnitten. Wir haben den Karton mit einem guten Knopf-/Joystick-Layout markiert und die Löcher vorsichtig mit einem Messer geschnitten. Dies war eine großartige Übung in grundlegender Mathematik für die Kinder. Nachdem der Karton geschnitten war, haben wir ihn bemalt und dann alle Knöpfe angebracht. Die interessanteste Sache, die wir gemacht haben, war, drei Lagen Pappe für die Oberseite des Controllers zu kleben, um ihm mehr Steifigkeit zu verleihen. Dies machte es etwas schwierig, durchzuschneiden, funktionierte aber perfekt, um die Platte fast so massiv wie Holz zu machen.

Der Raspberry Pi 3B+ verfügt über vier USB-Anschlüsse. Wir haben eine vierköpfige Familie und 4 Sätze Arcade-Knöpfe! Das war Vorherbestimmung.

Schritt 2: Die Programmierung

Die Programmierung
Die Programmierung
Die Programmierung
Die Programmierung
Die Programmierung
Die Programmierung
Die Programmierung
Die Programmierung

Der Code für dieses Projekt ist einfach und fehlerhaft. Das alles ist hier zu finden:

github.com/melvyniandrag/SuperTuxJunkKartDie 4 Controller sind über USB mit einem Himbeer-Pi verbunden. Auf dem Raspberry Pi läuft ein kleines Python-Skript. Ich habe die Python-Eingabebibliothek verwendet, um die Signale von den Tasten und Joysticks zu erhalten. Das Programm wandelt das Signal dann in einen kurzen ASCII-Code um und sendet es über einen TCP-Socket über WLAN an einen PC, auf dem ein Spiel läuft (ich nenne dies den Spieleserver). Wenn beispielsweise Spieler 0 den Joystick nach links bewegt, werden die Zeichen '0XL' über den TCP-Socket an den Spieleserver gesendet. Zum Testen habe ich SuperTuxKart auf meinem Thinkpad ausgeführt. Auf dem Thinkpad läuft eine kleine Serveranwendung, die auf dem TCP-Socket lauscht. Die Codes, die vom Raspberry Pi über WLAN kommen, werden über die pyautogui-Bibliothek in Tastendrücke auf der Tastatur übersetzt. Wenn also Spieler 0 auf dem Pappcontroller den Joystick nach links bewegt und der Controller „OXL“ausgibt, denkt der Server, auf dem das Spiel läuft, dass der Spieler die Taste „1“auf der Tastatur gedrückt hat. Das Spiel muss so konfiguriert werden, dass es diese Tastaturdrücke erkennt, wie im Optionsbildschirm hier angezeigt. Dieses Spiel läuft gut mit einem oder zwei Spielern, aber wenn 4 Personen SuperTuxKart aggressiv spielen, fehlen dem Server einige Daten vom Controller. Ich bin mir nicht sicher, ob dies ein Fehler ist: 1. Auf der Client-(Controller-)Seite2. Auf der Serverseite (Thinkpad)3. Eingebaute Linux-Funktionalität. Vielleicht kann mein Ubuntu-Laptop eine große Anzahl gleichzeitiger Tastendrücke nicht erkennen. Wenn also Spieler 0, 1 und 2 alle nach oben und links lenken, bedeutet das, dass 2 * 3 = 6 Tasten gleichzeitig gedrückt werden. Ich bin mir nicht sicher, ob mein Computer (oder irgendein Computer) dafür ausgelegt ist. Normalerweise sind Hotkeys 3 oder weniger Tasten, z. B. STRG + ALT + ENTF. In Zukunft werde ich versuchen, 4 TCP-Sockets zu starten, einen für jeden Controller, und dann auf der Serverseite ein virtuelles Gamepad zu erstellen. Ich hatte noch keine Zeit, um zu sehen, wie das zwischen Elternschaft, Arbeit und dem Zuschneiden von Kartons geht.

Schritt 3: Die Zukunft

Dies war ein einfacher Proof of Concept. In Zukunft muss der Code besser werden. Ich würde die Verbindung gerne als Bluetooth-HID-Gerät codieren, aber bluez5 unter Linux ist eine kleine Zeitsenke, um daran zu arbeiten - deshalb habe ich mich für einen TCP-Socket + Python entschieden wie zum Teufel. Mit mehr Zeit würde ich etwas mehr Energie in das sorgfältigere Schneiden investieren. Dann würde ich mehr Stützen setzen - die Seiten der Box beginnen sich ein wenig zu verziehen. Für das, was es ist und was es kostet, sieht dieses Ding jedoch gut aus. Ich werde weiter daran basteln, während wir abends Filme schauen.

Empfohlen: