Projets:Manette de jeu adaptée joystick RNET et contacteurs

De wikilab

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.

test test

  • 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.

test

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.

test test

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.

test

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.

test

test

  • 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

Levier 01.jpg Levier 02.jpg

Interface de contrôle adaptée à poser sur le fauteuil

PCB.JPG Bouton.JPG Support.JPG Support2.JPG Glissiere.JPG PCB-infrared.JPG Optique Bouton Pcb.JPG Optique Bouton Sch.JPG

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"

Recepteur 940nm

Emetteur : IR 940nm

Réf. Mouser : 859-LTR-306

Réf. Frab. : LTR-306

Fab. : Lite-On

Datasheet


Recepteur 940nm



Récepteur : PT5529B (capteur double) 940nm

Réf. Mouser :638-PT5529BL2F

Réf. Fab. : PT5529B/L2-F

Fab. : Everlight

Datasheet



Boitier de connection vers la carte Teensy et le Game access

Boitier-connection.JPG Boitier-connectionGP.JPG Boitier-connection-simplifie.JPG

Fonctionnement Bouton Optique.png

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.

Boitier Pod.jpg

A ajouter : le fonctionnement du boitier

Fichiers Code source

Pour Teensy par Stéphane

Pour Uno par Christian

Fichiers Sources à imprimer

Interface

Interface posée sur le fauteuil

Mise en place.JPG 3 btn et main.JPG 3 Btn.JPG

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 Jonathan.JPG Teensy

Logiciel d'aide au réglage: Télécharger le fichier Bar Volt.zip

4 bargraphs.PNG 4 voltmetres.PNG

Partie Electronique

Photos

  • Photo de la partie Electronique
  • Photo de la Manette 4 Boutons
  • Photo du JoyStick et de son boîtier
  • Photo d'ensemble

  • 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.

    Systeme bielleOK.JPG


    Bielle demo1.JPGBielle demo2.JPGBielle demo3.JPG

    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.


    Systeme flexible.JPG


    Systeme flexible demo.JPG


    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)

    Flexible-rotule .JPG

    Bielle artisanal sur de 2 plan (tube aluminum)

    Bielle-artisanal.JPG

    Rotule artisanal

    Rotule radiale1.jpg

    Rotule radiale (5 degrés de mobilité)

    Systeme flexible.JPG

    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.

    [[File:Manette16.JPG|left|700px

    Fichiers STL pour imprimer le prototype

    Télécharger les fichiers STL