Différences entre versions de « Projets:Manette de jeu adaptée joystick RNET et contacteurs »
Ligne 529 : | Ligne 529 : | ||
[[Category:Projets]] | [[Category:Projets]] | ||
[[Category:Réalisés]] | [[Category:Réalisés]] | ||
− | [[Category: | + | [[Category:Motricité]] |
Version du 6 juillet 2021 à 15:47
Description du projet
Jonathan ne peut pas utiliser de manette, joystick ou gamepad car il souffre d'une maladie qui l'empêche d'exercer de la force sur des boutons, de tenir une manette avec ses mains, etc. La manette adaptée que nous voulons réaliser devra posséder tous les boutons d'une manette de ps4.
L'objectif de Jonathan est de rejouer avec manette de ps4 ou éventuellement d'étudier/modifier une solution déjà existante. A première vue, il y en a mais elles restent onéreuses. Elles méritent tout de même d'être étudiées.
Liens utiles
Cahier des charges
Le projet est piloté par Jonathan lui-même. Il exprime les besoins, teste et guide l'équipe de volontaires au sein du Humanlab.
La solution devra :
- Être cross-platform, c'est à dire utilisable sur Xbox one, switch, ps4, pc et éventuellement android
- Demander le moins de mouvement possible
- Être utilisable au fauteuil
- Etre bon marché
- Utiliser des contacteurs avec moins de 75g de pression
- De plus, l'utilisation du joystick du fauteuil est obligatoire
L'interface doit comporter :
- 4 gachettes
- 4 boutons
- 1 bouton Start (non obligatoire mais rend l’ordi + clavier obligatoire)
- 1 bouton Select (non obligatoire)
- 2 joysticks (dont un utilisable depuis le fauteuil)
On peut éventuellement actionner Select et Start avec un ordinateur et un clavier (ou commande vocale ou autre).
Equipe
- Jonathan
- Les gamers de 3 Hit combo (à voir)
- Hugues Aubin
- Toutes les personnes désirant soutenir ce projet
- Fabrice
- Nicolas
- Mara
- Christian
- Alain
Recherches et étude des solutions existantes
Un groupe sur facebook pourrait nous être d'une grande aide : capgame.
Le site capgame.frest très intéressant.
Emulation joystick du fauteuil
En étudiant la clé cronusmax, j'ai réussi grâce à son logiciel et son plugin x-aim à faire en sorte que mon joystick de fauteuil et mes contacteurs soient respectivement reconnus comme un joystick de manette et des boutons.
Travail restant
Possibilité envisagé en premier lieu
Le souci d'émulation du joystick ayant été réglé, il ne reste plus qu'à désosser une manette afin de pouvoir dériver ses boutons sur des contacteurs externes.
A vous de jouer la communauté valide de ses mains.
Possibilité en cours d'exploration
Le projet B.A.S.I.C.A propose un boitier modulaire regroupant joystick et contacteurs DIY (récup de souris etc..) sur lequel nous allons nous baser pour l'accomoder à une solution ergonomique adaptée à la position des mains ainsi qu'à leur amplitude de mouvement.
Jour 1
- Empreinte de la main gauche sur de la pâte à modeler qui servira de contreforme pour faire un moule en résine dans lequel viendront se positionner les différents contacteurs. Ne disposant pas du matériel, nous gardons cette possibilité à explorer plus tard. Matériel nécessaire pour le moule : siligum (sèche à l'air en 1h + résine).
- Pour simplifier et effectuer un premier test, nous avons pris une petite plaque de bois et Jonathan a positionné ses doigts dessus afin de déterminer l'espace et la position de chaque doigt.
- Fabrice et Karim modélisent la pièce rainurée pour le positionnement des doigts. Un bouton factice simple-contact est aussi modélisé pour prévisualiser leur emplacement sur la plaque.
- Mara fait un boitier pour l'afficheur
Jour 2
La première ébauche de base imprimée étant trop courte, notamment pour l'auriculaire, une version élargie a été dessinée, faisant apparaître la position prévue pour chaque bouton. Cette version ne tient pour l'instant pas compte de l'orientation et "l'altitude" de chaque bouton, chose qui pourra être calibrée par la suite.
Nous avons imprimé deux versions encore plus simplifiées du bouton levier afin d'y rattacher les composants électroniques pour un premier test avec Jonathan.
- L'un en forme de L pour le coupler avec un simple contacteur de souris.
- L'autre avec un aileron obturateur pour une gâchette optique.
Christian a percé le support agrandi pour encastrer l'électronique des deux boutons de test, raccordés à l'afficheur à diodes.
Jonathan a pu tester les deux versions de boutons, l'un optique à plusieurs états (jaune), l'autre un simple contact de souris (rouge) et donner son avis sur la pression nécessaire.
Jour 3
Fabrice s'est chargé de redessiner sous Freecad les deux pièces d'un bouton-levier optique et son bâti encastrable depuis les versions Onshape créées par Christian.
- L'encastrement du levier devra sûrement être raboté en largeur car il sera compliqué de placer deux ensembles côte à côte pour l'index et le majeur de Jonathan. La hauteur des 4 rails verticaux des éléments du capteur optique devra être abaissée pour laisser le plateau du levier rentrer dans le bâti.
- En l'état actuel, le levier devra aussi être modifié afin de décaler l'aileron. En effet, l'émetteur et récepteur optique n'ayant pas la même épaisseur, les rainures de maintien ont été dimensionnées en conséquence. On perd donc la symétrie pour la pièce porte-levier.
Fichiers
Les pièces Freecad sont rassemblées dans l'archive : Fichier:Hackathon Basica Fabrice.zip
Conclusion de la version 1
Les impressions des supports des émetteurs récepteurs infrarouge doivent être imprimées en noir à cause de la diffraction de la lumière infrarouge partout dans le support. Rien ne doit être imprimé en blanc à l'intérieur (les obturateurs doivent donc être également noirs).
L'encastrement du levier devra sûrement être raboté en largeur car il sera compliqué de placer deux ensembles côte à côte pour l'index et le majeur de Jonathan. La hauteur des 4 rails verticaux des éléments du capteur optique devra être abaissée pour laisser le plateau du levier rentrer dans le bâti.
En l'état actuel, le levier devra aussi être modifié afin de décaler l'aileron. En effet, l'émetteur et récepteur optique n'ayant pas la même épaisseur, les rainures de maintien ont été dimensionnées en conséquence. On perd donc la symétrie pour la pièce porte-levier.
Etapes de fabrication pas à pas de la V2
Conception d'une nouvelle base
- La nouvelle version n'est basée que sur 3 boutons (pour les l'index, le majeur et l'annulaire) qui sont dans des glissières afin d'avoir un réglage en hauteur correspondant à la position des doigts. L'auriculaire est sur une autre plaque et n'aura pas de glissière.
- Nous avons des boutons dont l'axe n'est pas centré, ce qui permet le réglage de l'écartement entre les doigts.
- Modification sur le support, il inclut maintenant une butée basse qui n'existait pas sur les autres modèles pour éviter que le bouton aille trop loin.
- La partie électronique a été optimisée en taille avec gravure de pcb et intégration de composants CMS.
Liste de matériel
Liste des outils nécessaires
Version améliorée du levier
Interface de contrôle adaptée à poser sur le fauteuil
Liste des éléments optiques :
(les premiers essais ont été réalisés avec des capteurs récupérés sur des souris optiques. Par la suite, les composants ont été trouvés sur le site "Mouser"
Emetteur : IR 940nm
Réf. Mouser : 859-LTR-306
Réf. Frab. : LTR-306
Fab. : Lite-On
Récepteur : PT5529B (capteur double) 940nm
Réf. Mouser :638-PT5529BL2F
Réf. Fab. : PT5529B/L2-F
Fab. : Everlight
Boitier de connection vers la carte Teensy et le Game access
Boitier POD Game access :LEPMIS PLaystation3 Switch Access Pod (PS3-SAP)
Remplacer un contrôleur standard de Playstation ou autre console et activer les possibilités d'utiliser interrupteurs et joysticks de son choix.
A ajouter : le fonctionnement du boitier
Fichiers Code source
Fichiers Sources à imprimer
Interface posée sur le fauteuil
Vidéo Fonctionnement
Vidéo sur la première utilisation :
Vidéo réalisation Boutons
Vidéo sur l'assemblage des éléments du bouton avec levier :
Sources Projet Réalisation Boîtier
Les fichiers en PDF sont sur un google drive public. Voici le lien : https://drive.google.com/drive/folders/1znLGNUgh0omuzBh9J9Wdtmqy_CZa7XQM?usp=sharing
Codes Sources Teensy et logiciel
Télécharger Teensy
Logiciel d'aide au réglage: Télécharger le fichier Bar Volt.zip
Partie Electronique
Photos
Liens vers le JoyStick
http://wikilab.myhumankit.org/index.php?title=Projets:Joystick#Photos
Réunion 27/09/2018
Résumé du projet
Boutons et joystick
Création d'un bouton réglable en hauteur, réglable pour écartement. On peut adapter les trois boutons à sa morphologie de main et au débatement du doigth pour que la course soit contenue dans deux valeurs, car on est pas forcément dans du on/off. Réglage de pression, hauteur, niveau haut/bas, réglage de la course élextronique
La manette fonctionne, soucis pour placer le 4e bouton (petit doigt).
Il doit être placé sous la partie en métal du fauteuil, pas beaucoup de place , donc à voir. test possible car velcro sur le bouton.
Contact analogique : 4 boutons capables d'envoyer 4 tensions
Joystick:
tester le capteur à effet de hall qui sera moins compliqué à fabriquer que l'original.
On pourra remplacer le RJ45 avec le cable tout fait. (il faut 6 fils donc RJ45)
Partie soft
- Teensy LC sur laquelle on connecte le joystick et boutons, sorties pour connecter BASICA, cable de l'ordi
teensy capable d'émuler port manette de jeu
Le pb, c'est qu'il y a un réglage a faire sur windows (max gauche /droite etc ..) et paramétrage aussi à faire sur la teensy, Le logiciel windows n'est pas fait pour paramétrer la marge. Donc il vaut mieux avoir paramétré les boutons sur la Teensy. Quelle valeur pour le milieu?A quel moment je bascule de 0 à 1?Valeur du haut 3V, valeur du bas 1,5V. Audessus de 2 volts : en haut, en dessous-de 2V=0. On règle le seuil sur cette base. Pas de point milieu sur les boutons possibles.
Soit on envoie en tant que bouton, tout ou rien, ou en valeur analogique pour la gachette.
TO DO
Design du boitier pour les boutons
A valider : le bouton du petit doigt + ajout d'une rotule à l'angle de la petite équerre du support boutons pour pouvoir régler la position.
Idées pour le boitier :
- mini tube sur rotule pour positionner chaque doigt. Limite : peut-être pas assez rigide sauf si vis sur chaque rotule.
- doigt articulé sur rotules
- bielles croisées et rondelles dentées (éventail)
- bielles et une rotule
- système précontraint avec suffisament de résistance (JP en ramène la semaine prochaine)
- système de chappe et de bielles
Partie soft
A faire : Interface qui communique avec Arduino
- Stéphane : en java?
- Créer les paramétrage dans la Teensy pour configurer le soft. Car 16 boutons à configurer sur windows. Créer un logiciel pour reparamétrer cela de manière simple.
- Le paramétrage se fera via la souris sur l'interface graphique (écran) (curseur pour les valeurs ..)
Réunion du 4 octobre: proposition de systèmes pour poser les boutons
Alain
Fausse main avec système à bielles
Pour chaque doigt Le X se règle avec la tige filetée, le Y ou ouvrant ou fermant les bielles et le Z en faisant pivoter sur la tige filetée. Ce dispositif est adaptable, a une bonne rigidité et il ne coûte pas cher.
Fausse main avec système avec fil d'aluminum 3 mm
Système à flexibles effectué avec des fils de fer mais peut être réalisé plus proprement.
Matériel du commerce qui se rapproche :
https://www.amazon.fr/GardenMate%C2%AE-Lien-tuteurage-plantes-acier/dp/B00ECZZXJ2
Jean-Pierre
Flexible d'arrosage pour machine outil (Marque Loc-line)
Bielle artisanal sur de 2 plan (tube aluminum)
Rotule artisanal
Rotule radiale (5 degrés de mobilité)
Main en 3D aluminum
Alain
Bouton de commande très faible effort
Lien via thingiverse
Bouton de commande analogique par photorésistance
Lien via thingiverse
Réunion avec Jonathan/Delphine le 07/02/2019
TODO
- Finir le support pour les contacteurs. Demander à Jean-Pierre où il en est sur le support qui permet de placer les contacteurs où on veut.
- Fixer les contacteurs sur le support et lui-même sur le fauteuil
- Vérifier la sécurité du dispositif
- Réaliser une interface visuelle pour la config des boutons : se réunir avec christian et jp pour définir les fonctionalités précises.
- Proposition de Jonathan: faire une trame de questions pour les futurs utilisateurs afin de reproduire une version personalisée
Réunion avec Jonathan/Delphine le 07/02/2019
- support qui viendra se fixer sur le fauteuil et on pourra visser les contacteurs de Christian dessus
- Nouveaux contacteur de christian (horizontal refait à la vertical et plus fin, Les contactrus font du tout ou rien, et progressif.
- Delphine: voir avec Christian ce qu'il faut pour l'interface web (android ou ordi) sans doute plage de valeurs et sensibilité des boutons, et fonctionnement des boutons
- Jonathan gère le remapping de son côté (à voir si possible pour une version ultérieure)
- Besoin JP:les contacteurs de christian
- Prévoir une réunion avec JP, Jonathan, Christian, delphine le jeudi 28/02 sous réserve de dispo de JP (sinon le vendredi matin)
Infos JP:absent les premières semaines de mars
TO DO List delphine:
- Fichiers stl à imprimer (nb à spécifier)
Trame pour initier nouveau projet jeu video
- Nom/prénom/console utilisée/jeux utilisés
- Analyse de l'existant connu de l'usager et présentation par Jonathan d'autres solutions existantes
- Limites rencontrées
- Connaitre ses disponibilités
- Diagnostic de mobilité sur l'outil B.A.S.I.C.A
- en déduire quels contacteurs utilisés
- Réaliser le dispositif avec les contacteurs
- Programmer la console pour ce dispositif
Prépa Stunfest
Matériel nécessaire
- Adaptateur multi-plateforme : Game access pod ou XBox adaptive controller
- Clé USB Titan One. Installer sur la clé le logiciel GTuner et le plugin le plugin Max Aim
- une manette compatible avec une console
- Contrôleurs externes avec connection jack 3
Adaptateur multi-plateforme
Game access pod (ou XBox adaptive controller) Clé USB Titan One : : driver qui permet de reconnaitre la manette en tant que périphérique branché sur la console. Cronusmax :idem mais pas compatible avec la console Switch
Dispositif : Adaptateur multi-plateforme qui eprmet d'utiliser n'importe quelle manette (compatible) sur n'importe quelle console. Connections :
- manette->clé->console
- Quand on ajoute le cable micro usb relié au port USB de l'ordinateur, le clavier, la souris, ou le joystick connecté à l'odi est reconnu comme une manette sur la console.
Dans ce cas on peut lancer le logiciel GTuner (application de la clé) après avoir installé le plugin Max Aim afin de réassigner les touches aux fonctionalités.
En cas de difficultée ou impossibilité d'accès à tous les boutons sur la manette, on peut ajouter des contrôleurs sur les entrées jack de Game access pod (ou XBox adaptive controller). Pour les assigner il faut télécharger le logiciel JoyToKey.
Cette démarche fonctionne sur n'importe quelle console et quasiment avec toutes les manettes.
jeudi 06/06/2019
Mise en place du nouveau système.
Echanges avec Jean-Pierre par mail
Message Christian
Nous avons testé ton dispositif sur le fauteuil et avec Jonathan, on a réussi à trouver une position acceptable. Reste néanmoins que c'est assez compliqué à régler, notamment a cause des vis qui se trouvent souvent inaccessibles. Je vais, pour les 4 qui servent a serrer les glissières, mettre des écrous insérés dans la platine; de cette façon, les têtes de vis seront sur le dessus. D'autres part, je n'ai pas réussi à retirer la plaque sur laquelle sont posés les deux contacteurs du fauteuil. Je croyais pouvoir me servir de la rotule directement en y insérant la tige de diam. 8mm de ton dispositif, mais cela n'a pas marché. J'ai donc retourné le dispositif en place et me suis servi de la tige existante. Il faudrait prévoir le même système de rotule que celui en place ou tout au moins aussi pratique. On pense aussi avec Jonathan que la plaque support peut être réduite en dimension. Aussi, Il apparaît évident et même indispensable aussi à tous les deux, que l'empreinte des tête de vis doit être la même sur l'ensembles des vis de serrage, ou tout au moins de même type. Je crois que des vis à empreintes alen ou torx conviendraient parfaitement. donc de la vis 2x14 ou 2x16 pour la fixation des switchs qu : 16 vis de 2x8 pour le support de la tige carbone qu : 12 vis de 3x14 pour le serrage de la tige de carbone qu : 4 vis de 3x10 pour le serrage des glissières qu : 4 vis de 3x8 pour la fixation de la platine qu : 3 vis de 4x20 pour le serrage de la tige 8mm qu : 1
Toutes ces vis en inox, avec écrous et tête plate et empreinte allen ou torx. Même si la taille de l'outil de serrage est obligatoirement différent car le diamètre des vis est différent, cela facilitera les réglages car ce type d'empreinte garde mieux le contact avec l'outil qu'une vis fendue ou cruciforme.
Pour la rotule, on essai de trouver quelque chose qui peutse fixer sur une tige de 8 mm et qui accepte ou possède de l'autre coté une tige de 8 mm.
Réponse jean-Pierre
Aucune pièce du fauteuil n'est à démonter. Le mécanisme est placé sous la plaque-support des deux contacteurs et centré sur l'axe de diamètre 8mm du fauteuil .
Pour le montage et réglage de l'ensemble: 2 possibilités.
Première option
1- Monter tous les éléments du mécanisme en veillant à ne pas trop serrer les vis de réglage. Le serrage doit permettre un déplacement "à frottement doux" de toutes les pièces mobiles ( palettes, rotules des switchs et tubes en carbone).
2- Fixer l'ensemble sur l'axe de 8 en le positionnant approximativement par rapport aux doigts.
3- Rentrer en les pivotant au besoin, les 3 sous-ensembles du majeur, de l'annulaire et de l'auriculaire pour dégager l'espace devant le sous-ensemble de l'index ( le plus éloigné par rapport au "régleur")
4- Régler le sous- ensemble de l'index.
5- Répéter le réglage pour le S/E majeur.
6- Idem pour le S/E annulaire.
7- Finir par le S/E auriculaire.
8- Après avoir repéré la position de l'ensemble ( marque au feutre par exemple sur l'axe de 8), le démonter en veillant à ne pas modifier les réglages (attention aux chocs éventuels )...
9- Bloquer toutes les vis.
10- Remonter le mécanisme par rapport au repère puis bloquer l'ensemble à l'aide de l'écrou à oreilles.
Deuxième option
1- Préparer les 4 S/E individuellement en respectant les conditions de serrages des vis, pour les réglages ultérieurs.
2- Fixer la platine sur l'embase puis le S/E index sur la platine.
3- Fixer toute cette partie sur le fauteuil.
4- Régler le S/E index.
5- Démonter du fauteuil. Bloquer les vis du S/E index.
6- Fixer le S/E majeur sur la platine. Remonter tout ça sur le fauteuil
7- Régler le S/E majeur.
8- et ainsi de suite jusqu'au S/E auriculaire.... Cette deuxième méthode nécessite plus de manipulations mais dégage complètement l'espace devant le S/E à régler.
Réponse Christian
En effet, j'ai utilisé la tige qui dépassait pour fixer ta platine mais je n'avais beaucoup de degrés de liberté,mais cela a fonctionné. On refera un autre essai jeudi, avec cette fois les fils correctement placés. Mais déjà on peut dire que ta solution est valide et que ce proto est bien dans la lignée de ce que l'on souhaite pour Jonathan.
Nouvelle modélisation de Christian 09/06/2019
Je viens de modéliser et imprimer quelques éléments pour rendre le dispositif plus facile à régler.
On a avec ces éléments supplémentaire obtenu plus de degrés de liberté.
Une amélioration importante serais de remplacer une partie de ce que j'ai imprimé par une rotule au niveau de la platine orange et une autre au niveau de la fixation sur le fauteuil.
Pour jeudi, j'aurais vraisemblablement des vis tête ronde avec empreinte femelle 6 pans (alen). Et ce dans tous les diamètre et tailles.
Les câbles sont maintenant passés dans les tiges carbones.
Fichiers STL pour imprimer le prototype
08/01/2020
Nouveau dispositif de réglage télescopique et plus facile à régler
https://www.youtube.com/watch?v=ARTO7HoJHTI&feature=youtu.be