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

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ésumé du projet:réunion 27/09/2018

    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.

    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ée pour le boitier : mini tube sur rotule pour positionner chaque doigt. Limite : peut-être pas assez rigide sauf si vis sur chaque rotule.

    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.

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