Projets:Manette de jeu adaptée joystick RNET et contacteurs
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.
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 : [1]
Vidéo réalisation Boutons
Vidéo sur l'assemblage des éléments du bouton avec levier : [2]
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
Bouton de commande
Bouton de commande très faible effort de type numérique ou analogique Mode de réalisation sur un support de type « fausse main ».
Permet de remplacer un bouton poussoir par un dispositif qui ne nécessite que très peu d'effort musculaire ou simplement le déplacement d'un doigt.
Contact tout ou rien de type « gachette »
Par déformation d’une lamelle. contraintes : actionnable avec un poids de 5 grammes et une amplitude de 3 mm.
le contacte se fait par l’appui et la flexion d’une lamelle qui rentre en contacte avec l’autre.
L ‘effort et l’amplitude peut être augmenté ou diminué par la vis (rep1) qui permet de rapprocher les deux lamelles, et affiné par le coulissement du bouton (rep 2)
Mode de réalisation :
Deux pièces imprimée. Récupération de deux lamelles sur un relais, un trombone collé et une vis de réglage.
Contact gâchette par mesure de la résistance ohmique. Le doigt en contact sur deux conducteur métallique (rep C)pour détecter un passage de courant ou une variation de capacité (sur le principe utilisé pour jouer de la musique en touchant des fruits ou autre objets reliés à un Arduino ou Raspberry « fruit piano »)
Mode de réalisation :
Une pièce imprimée Deux attaches parisiennes.