Projets:Boitier Souris Vers XAC
Description du projet
Réalisation d'un dispositif pour permettre de connecter une souris avec ou sans fil sur une XAC ( Xbox Adaptative Controller).
Le dispositif sera placé dans un boitier réalisé en impression 3D.
Les composants seront placés sur carte de protypage.
Le projet est basé sur le projet :
Cahier des charges
Pouvoir connecter facilement une souris sans fil ou avec fil sur une XAC (Xbox Adaptive Controller).
Permettre le réglage de sensibilité sans utilisation d'un ordinateur.
Utiliser des modules du commerce pour réduire au maximum la complexité de réalisation du PCB.
Indication Visuelle du fonctionnement de la carte.
Utiliser l'alimentation fournie par le port Usb de la XAC.
Reprogrammation ou modifications faciles de la carte.
Analyse de l'existant
Pas d'existant, le boitier et les cartes sont fabriqués et achetés spécialement pour ce projet.
Equipe (Porteur de projet et contributeurs)
- Porteurs du projet :
- Concepteurs/contributeurs :
- Animateur (coordinateur du projet)
- Fabmanager référent
- Responsable de documentation
Matériel nécessaire
- Carte Teensy LC
- Carte Mini Host Usb
- Led , Bleue, Rouge, Verte; Diam:3mm
- Poussoir Reboot
- Résistance Ajustable
- Carte de Prototypage pas 2.54; 50x70 et 13x49
- 10m de fil bleu PLA 1.75mm; partie haute du boitier
- 18m de fil orange PLA 1.75mm; partie basse du boitier
- 6 vis tête plate 3x5
- 4 vis tête plate 3x20
- 4 pieds anti-dérapant auto-collant
Outils nécessaires
- Imprimante 3d (Réalisation du boîtier)
- IDE Arduino 1.813 ( Logiciel )
- TeensyDuino 1.53 ( Logiciel )
Coût
- Carte Teensy LC = ~17€
- Carte Mini Host Usb = ~18€
- Led , Bleue, Rouge, Verte; ~35cts
- Poussoir Reboot; ~35cts
- Résistance Ajustable ; ~1 €
- Carte de Prototypage pas 2.54; 50x70 et 13x49; ~2€
Délai estimé
Hors temps d'impression :
- Carte : 4 heure
- Contrôle et programmation Teensy : 1 heure
Fichiers source
Schémas
- Les fichiers "Sch" et "lib" sous Kicad pour concevoir le PCB
- Les fichiers kicad: Fichier:Kicad LC USBHID Mouse-to-Joy XAC-PC.zip
Préparation de l'environnement pour Windows
- Installer l'IDE Arduino (1.8.13)
- Installer teensyduino 1.53 (attention seulement compatible avec certaines versions d'Arduino)
Dossiers à placer dans le dossier \librarie\ de l'Arduino
Deux bibliothèques sont à ajouter : Joystick1 (version modifiée de la bibliothèque xac-mouse2joy, et USB_Host_Shield_20)
Fichier:Xac V2 Bibliotheque.zip.
Cette version de la bibliothèque USB_Host_Shield_20 est plus récente que celle du projet cité plus haut
La bibliothèque USB_Host_Shield_20 permet de configurer les boutons en leur assignant des numéros qu'on retrouve dans l'interface XAC ou interface de la console. C'est dans le fichier MouseParser.h du sketch qu'on assigne ces boutons.
Dossiers à placer dans le dossier \hardware\ de l'Arduino
Ces fichiers remplacent certains fichiers dans le dossier \hardware\teensy\avr\
Précaution : Faire un backup des fichiers originaux avant de les remplacer. En effet ce changement de configuration vient modifier les headers de certains fichiers lors de la compilation.
Code Arduino
Attention pour que programme compile sans erreur, il faut choisir dans l'onglet "Outils" choisir type de carte "Teensy LC" et de choisir "Outil\USB type => Serial+Joystick"
Si cette option n'est pas visible, c'est que les bibliothèques sont mal ou pas installées.
- USB Hid vers XAC ou Pc carte Teensy LC :
Fichier:LC USBHID Mouse-to-Joy XAC-PC v2.zip
Etapes de fabrication pas à pas
Préparation de la carte Mini USB Host
La carte Mini Usb Host doit être modifiée.
(Certaines cartes possèdent un strap qui permet de le faire sans couper une piste)
Il faut permettre l'alimentation du connecteur USB avec 5 volt et non 3.3v par défaut avec cette carte:
- Etape 1 : Couper la piste comme sur la photo (juste avant l'inscription "2.2k")
- Etape 2: Placer une broche male droite dans la pastille située sous la broche 24;
Sur la photo, 3 broches ont été placées; cela donne du maintien aux broches
Câblage des cartes
Mise en route
1-Vérifier que le montage Teensy+Host USB est reconnu en tant que joystick par l'ordinateur
- Connecter uniquement la teensy avec le host USB à l'ordinateur
- Ouvrir le sketch test du joystick :LC JPS-to-Joy XAC-PC_TEST
- Dans l'IDE Arduino, choisir dans Outil>USB Type : Joystick +Serial (vous devez voir cette option sinon c'est que les librairies sont mal ou pas installées)
- Téléverser le sketch sur la Teensy.
- Ouvrir les périphériques contrôleur de jeu :
- Sur Windows, taper dans la barre de recherche en bas à gauche, "Configurer les contrôleurs de jeu" puis la fenêtre Contrôleurs de jeu s'ouvre et vous devriez voir Keyboard/Mouse/Joystick, puis cliquer sur Propriétés pour avoir un affichage de l'état du joystick.)
- sur linux: taper en ligne de commande :jstest-gtk
- Vous devriez voir le joystick bouger
2-Vérifier la communication entre la XAC et l'ordinateur
- Connecter la XAC à l'ordinateur (le pilote s'installe à la connection)
- On garde les propriétés du contrôleur de jeu ouvert
- On doit voir le dispositif xbox reconnu, avec le périphérique qui s'actualise dans la fenêtre des propriétés du controleur. Evidemment ici on ne voit pas le joystick bouger puisque la teensy n'est pas connectée
(Il faut télécharger l'interface de la xbox pour ordi pour pouvoir prendre le contrôle/remapper/etc... (ou on peut le faire sur la xbox)
3-Vérifier que le joystick simulé par la teensy est reconnu quand connecté à la XAC
- connecter le proto host usb/teensy sur la xac toujours avec le sketch test du joystick :LC JPS-to-Joy XAC-PC_TEST
- vérifier dans les propriétés du contrôleur de jeu que le joystick bouge
4-Test avec le joystick du fauteuil
- Teléverser le sketch LC_BTHID_Mouse-to-Joy_XAC-PC sur la teensy
- Connecter directement la teensy+host sur le pc
- Vérifier dans les propriétés du contrôleur que le joystick du fauteuil envoie en bluetooth les informations de déplacement
5-Vérifier que la XAC est reconnue par le PC
- Déconnecter la teensy du pc
- Connecter la xac sur le pc
- Vérifier dans le contrôleur de jeu que la xbox one (xac) est bien reconnue (le contrôleur doit actualiser le nom du périphérique reconnu)
- connecter ensuite la teensy+host usb sur la xac. Vous devriez visualiser les mouvements du joystick du fauteuil.
6-[OPTIONNEL] Test avec l'application Accessoire xbox
- Télécharger l'application. Cette application est uniquement valable pour Windows 10. Elle permet de visualiser la XAC et de la paramétrer. https://www.microsoft.com/fr-fr/p/accessoires-xbox/9nblggh30xj3?activetab=pivot:regionofsystemrequirementstab
- Démarrer l'application
Aller sur "configurer">Editer en cliquant sur l'icône crayon>Stick analogique gauche Vous devriez visualiser le joystick bouger.
La sensibilité du joystick se règle directement sur la xac. Il est préférable de laisser toute la configuration du mapping se faire dans l'interface la XAC et de ne pas introduire cette notion dans le code.
7-Tester le dispositif sur la XBOX
- Déconnecter la XAC du PC
- Connecter la XAC +teensy host USB sur la XBOX