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.

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