Contrôlez votre Raspberry Pi à l’aide d’une manette sans fil Xbox 360

Controlez votre Raspberry Pi a laide dune manette sans fil
Controlez votre Raspberry Pi a laide dune manette sans fil

En plus du contrôle du Raspberry Pi via des télécommandes infrarouges, un émetteur 433 Mhz, des messagers et bien d’autres, un contrôleur sans fil Xbox 360 peut également être lu depuis le Raspberry Pi. Cela permet au gamepad d’être utilisé comme une souris externe (en mode bureau) ou dans des scripts et ainsi les GPIO peuvent être contrôlés. Dans RetroPie, la manette Xbox peut également être utilisée comme support d’entrée pour les jeux sur le Raspberry Pi.

Dans ce didacticiel, plusieurs de ces possibilités sont présentées. De l’installation du logiciel requis, à l’utilisation comme souris, à la commutation des GPIO et à la commande d’un servomoteur avec le joystick.

Accessoires

Pour utiliser le Raspberry Pi avec la manette Xbox 360, vous n’avez pas besoin de beaucoup d’accessoires:

Chaque Raspberry Pi avec au moins un port USB libre peut être utilisé, par exemple, le plus puissant Raspberry Pi 3.

Si vous souhaitez reconstruire le petit projet ci-dessous, vous avez également besoin:

Logiciel Raspberry Pi pour la manette Xbox 360

Pour les distributions Linux, il existe un pilote développé, en particulier pour communiquer avec les contrôleurs Xbox (sans fil).

Nous installons d’abord le pilote pour qu’il puisse être communiqué avec le contrôleur:

sudo apt-get install xboxdrv

Le récepteur USB peut maintenant être connecté. Avec lsusb, vous pouvez vérifier s’il a été détecté:

pi@raspberrypi:~ $ lsusb
Bus 001 Device 005: ID 045e:0291 Microsoft Corp. Xbox 360 Wireless Receiver for Windows
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Vous pouvez maintenant allumer le contrôleur et tester s’il est détecté. Pour ce faire, démarrez le pilote en utilisant:

sudo xboxdrv --detach-kernel-driver

Après cela, appuyez sur les touches pour modifier le journal, qui indique quelle (s) touche (s) est / sont enfoncée (s) et sa valeur.

Sur le page de documentation, il y a toutes les commandes avec une brève explication. Par exemple, il est possible de faire allumer / éclairer les LED de la manette Xbox 360 (--led NUM) Ou vibrer (-r 255,255). Au total, jusqu’à 4 contrôleurs radio peuvent être utilisés et adressés ou lus.

Utilisez la manette Xbox 360 comme souris Raspberry Pi

Une fonctionnalité que j’aime particulièrement est l’option souris. Comme j’ai rarement connecté un clavier au Raspberry Pi (j’utilise presque exclusivement SSH et parfois le Remotedesktop) et encore plus rarement une souris, je trouve très pratique d’utiliser la manette sans fil Xbox 360 comme souris pour le Raspberry Pi. Tout ce dont nous avons besoin est déjà installé.

Un seul autre paramètre doit être spécifié:

sudo xboxdrv --detach-kernel-driver --silent --mouse

Vous pouvez également modifier la vitesse et la sélection des boutons (comme décrit dans la documentation). Si la commande doit être exécutée au démarrage du système, vous pouvez soit écrire un script de démarrage automatique, soit utiliser crontab.

L’affectation (standard) suivante des touches à utiliser comme souris s’applique:

  • A: clic gauche
  • B: clic droit
  • X: clic du milieu de la souris
  • Y: Entrez
  • Joystick gauche: mouvement de la souris
  • Joystick droit: molette de défilement
  • D-Pad: touches fléchées
  • Début: avant
  • Retour retour
  • LB: Page précédente
  • RB: Page suivante

Utilisez la manette Xbox 360 pour démarrer des scripts et des commandes

Une façon d’utiliser le pilote dans vos propres scripts est la lecture manuelle des valeurs de sortie. Afin de nous épargner cet effort, nous pouvons revenir à une bibliothèque Python déjà créée.

git clone https://github.com/FRC4564/Xbox
cd Xbox

Ci-joint également un exemple (sample.py), qui peut être consulté si nécessaire.

J’ai donc construit un petit exemple avec un servomoteur et 4 LED comme source d’inspiration. le câblage est assez simple (résistance aux LED), donc seulement présenté ici comme une structure schématique:

Raspberrya Pi Xbox 360 Steckplatine

Le code est le suivant (créez un fichier avec sudo nano xbox360_example.py et avec CTRL + O, X enregistrer et quitter):

Ensuite, vous pouvez exécuter le code (sudo nano xbox360_example.py) et utilisez les boutons pour allumer et éteindre les DEL ou utilisez le joystick gauche pour contrôler le servomoteur. Pour arrêter, appuyez sur le bouton BACK.

Dans la vidéo suivante, vous pouvez également regarder ce petit projet:

YouTube video

De plus, beaucoup plus de choses peuvent être faites avec le Raspberry Pi et la manette Xbox 360. Par exemple, en utilisant Recallbox ou avec une commande de robot à l’aide du joystick et en changeant les modes avec les boutons.

Eh bien, quels seront vos prochains projets planifiés avec le contrôleur? ?

  • miadore 2X USB Contrôleur pour jeux SNES NES, manette de jeu classique rétro USB pour PC Windows MAC et système Raspberry Pi
    ✅Contrôleur USB pour émulateur SNES NES / Joypad / manette de jeu USB / contrôleur Super SNES. Remarque: il s'agit d'un contrôleur USB tiers, pas d'un contrôleur SNES / NES d'origine. ✅Contrôleur USB: il prend bien en charge le système d'exploitation: Windows 98 / ME / Vista / 2000/2003 / XP / 7/7/8 / 8.1 / 10; Mac OS X et au-delà; Émulateur d'arcade; Raspberry Pi; Raspberry PI 2 modèle B; Système d'exploitation Pi rétro ✅ Le contrôleur SNES fonctionne avec n'importe quel émulateur que vous souhaitez télécharger et utiliser. Émulateur Google SNES puis le même pour les ROM (par exemple: Joystick Mapper / OpenEMU pour mac OS; Virtuanes pour Windows OS, etc.) ✅Le contrôleur USB avec port USB 2.0 standard; La longueur du câble du contrôleur rétro du contrôleur est d'env. 1,5 mètre (59 pouces / 5 pieds) ✅Redefine D-Pad, pression précise à 360 degrés, sensation de toucher claire et lisse. Ce n'est pas un contrôleur SNES officiel, mais il fonctionne de manière phénoménale avec l'émulation de jeu Raspberry Pi et ainsi de suite.
  • Hailege 5pcs Game Joystick Sensor Game Controller Sensor JoyStick Breakout Module for PS2 Arduino Raspberry Pi
    Two analog outputs, all the way to digital output. High-quality rocker, long life, stable performance. X, Y-axis output for the two potentiometers, you can read through the AD conversion twist angle. For two degrees of freedom servo PTZ control or other remote proportional control.
  • DuLingKer Manette PC sans Fil, PS3 Manette PC Gamepad avec Double Vibration, sans Fil 2,4G Gamer Manette pour PC Windows 11 10 8 7, PS3, Android Smart TV, TV Box, Steam, Raspberry Pi (Noir + Bleu)
    Large Compatibilité: Le manette de jeu sans fil est compatible avec PS3, PC Windows (7/8/10/11), Laptop, steam, raspberry Pi, Android smart TV, TV box. Il est équipé d'une batterie rechargeable, pas besoin de remplacer la batterie. Et chargez-le via un câble USB Type-C (inclus dans le package). Il suffit de Brancher Puis de Jouer: Ce manette PC est parfait pour les joueurs de tous niveaux et facilite les jeux sur votre PC ou votre téléviseur. Branchez-le simplement sur le port USB de votre PC et vous êtes prêt à partir! Il n'est pas nécessaire d'installer de pilotes ou de logiciels. (Si votre PC est Windows 7, vous devez installer le pilote.) Technologie Sans Fil 2,4GHz: Le manette pc présente les avantages d'une faible latence, d'une connexion stable et d'une longue distance. Vous pouvez profiter d'un jeu ininterrompu jusqu'à 8 mètres de distance sans vous soucier du décalage ou de la déconnexion. Ceci est particulièrement utile pour les joueurs qui aiment jouer à des jeux sur grand écran. Conception Ergonomique: Cette manette PS3 est dotée d'une poignée antidérapante. Il est conçu pour tenir confortablement dans votre main, minimise la fatigue pendant les longues sessions de jeu. Avec le bon toucher, le gamepad pc sans fil impressionnera même les joueurs les plus exigeants. Vibration à Double Moteur: Cette manette de jeu sans fil prend en charge le double retour de vibration, vous donnant l'impression d'être au milieu de l'action. Avec chaque bosse, explosion et crash, vous obtiendrez juste la bonne quantité de retour. La fonction vibration fonctionne sur PC et PS3.