Différences entre versions de « Projets:Magic Joystick »

De wikilab
(33 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
== Description du projet ==
 
== Description du projet ==
 +
Ce projet a été réalisé et pensé lors du Fabrikarium chez ArianeGroup du 16 au 18 octobre 2019.
 +
 
* Récréer une manette ergonomique et faible force pour jouer aux jeux vidéos.  
 
* Récréer une manette ergonomique et faible force pour jouer aux jeux vidéos.  
  
* Reprendre et améliorer la configuration de l'interface XAC pour connecter un Joystick.
+
* Reprendre et améliorer la configuration Teensy LC connectée comme Joystick à une entrée USB XAC
  
 
* Prendre le contrôle du fauteuil Joystick R-net à distance.
 
* Prendre le contrôle du fauteuil Joystick R-net à distance.
  
 
== Analyse de l'existant ==
 
== Analyse de l'existant ==
Des précédents projets ont été commencé. Ce projet est dans la continuité de ces projets.
+
* Interface XAC : http://wikilab.myhumankit.org/index.php?title=Projets:Interfaces_XAC
* JSM Joystick Proportionnelle sensible http://wikilab.myhumankit.org/index.php?title=Projets:JPS_Joystick_Proportionnel_Sensible
+
 
 +
==Cahier des charges==
 +
* créer une manette ergonomique et de faible force
 +
 
 +
* avoir tous les boutons nécessaires pour jouer à un jeu vidéo
 +
 
 +
* utiliser des contacteurs avec moins de 10g de pression
 +
 
 +
* être bon marché
 +
 
 +
* utilisation du joystick du fauteuil obligatoire
  
* Interface XAC : http://wikilab.myhumankit.org/index.php?title=Projets:Interfaces_XAC
+
* Se connecter à l'interface XAC via l'USB en bluetooth
 +
 
 +
* Contrôler le fauteuil à distance avec un appareil externe tel le joystick
  
 
== Equipe (Porteur de projet et contributeurs) ==
 
== Equipe (Porteur de projet et contributeurs) ==
  
* Porteur de projet : Jonathan Menier
+
* Porteur de projet : Jonathan Menir
* Contributeurs
+
* Concepteur originel : Christian
* Animateur (coordinateur du projet)
+
* Contributeurs: Florian, Régis, Jonathan, Laetitia, Luc, André, Federico, Julien, Nicolas et Stéphane
* Fabmanager référent
+
* Coordinateur du projet : Stéphane
* Responsable de documentation
+
* Responsable de documentation Margaux
 +
 
 +
== Matériels nécessaires ==
 +
* Teensy LC
 +
 
 +
* XAC (Xbox Adaptative Control)
  
== Matériel nécessaire ==
+
* JPS Joystick Proportionnelle Sensible
 +
 
 +
* carte PiCan2
 +
 
 +
* Raspberry Pi 3 model B+
 +
 
 +
*  PM (puissance moteur) Power Modul
  
 
==Outils nécessaires==
 
==Outils nécessaires==
  
 
==Coût==
 
==Coût==
 +
 +
== Can2RNET ==
 +
 +
L'ojectif lors du Fabrikarium est de piloter un fauteuil électrique à partir d'un joystick.
 +
 +
===Résultat ===
 +
Le fauteuil électrique a pu être piloté par une manette.
 +
 +
Retrouver sa documentation sur http://wikilab.myhumankit.org/index.php?title=Projets:Can2RNET.
 +
 +
[[File:fauteuil_controle_manette.jpg|center|500px]]
  
 
== JPS Joystick Proportionnel Sensible ==
 
== JPS Joystick Proportionnel Sensible ==
=== Étapes de fabrication pas à pas ===
+
Retrouver sa documentation sur http://wikilab.myhumankit.org/index.php?title=Projets:JPS_Joystick_Proportionnel_Sensible. La documentation a été amélioré lors du Fabrikarium.
Ce processus de fabrication reprend avec plus de détails le travail effectué précédemment par Christian. Retrouver le lien du projet ici http://wikilab.myhumankit.org/index.php?title=Projets:JPS_Joystick_Proportionnel_Sensible
 
  
==== Préparer le câble et les fils coté boîtier ====
+
===Réplique du joystick===
=====le câble et les fils=====
+
====Date: 18/10/2019====
 +
Une réplique du joystick en utilisant cette documentation a été réalisé lors du Fabrikarium chez ArianeGroup du 16 au 18 octobre 2019.
 +
[[File:réplique joystick.jpg|center|600px]]
 +
Le joystick a été assemblé et fonctionnel mais le résultat n'y était pas. Il n'y a qu'un léger retour au centre et la sensibilité est plus forte qu'attendu, elle n'est pas inférieure à 10g.
  
<gallery mode="packed-hover">
+
Il en est ressorti que :
File:JPS Boitier Cable Prepa-01.JPG
+
* le montage du joystick demande une grande minutie pour aboutir à un joystick avec un retour au centre et une sensiblité faible (<10g).
File:JPS Boitier Fils Prepa-01.JPG
+
* la durée du fabrication peut dépasser 2 jours.
File:JPS Boitier Cable Pose-01.JPG
+
* Penser à un autre design pour faciliter l'assemblage.
</gallery>
 
  
<gallery mode="slideshow">
+
===Idée soumise===
File:JPS Boitier Cable Prepa-01.JPG
+
Lors du Fabrikarium, une idée est soulevée quant à remplacer le montage des rotules par une seule rotule et des électroaimants. Ces électroaimants seraient alimenté par un variateur de tension qui augmenterait ou diminurait la sensiblité. Ainsi ce joystick serait adaptable selon la force de la personne ou être utilisé par plusieurs personnes.
File:JPS Boitier Fils Prepa-01.JPG
 
File:JPS Boitier Cable Pose-01.JPG
 
</gallery>
 
  
1. Retirer l'isolant du câble blindé sur une longueur de 50mm avec une pince à dénuder adaptée au diamètre du câble (0.6mm)
+
==Interface XAC==
  
2. Retirer la tresse et le plastique transparent qui entoure les fil électrique sur une longueur de 45mm
+
Le projet est la continuité du projet http://wikilab.myhumankit.org/index.php?title=Projets:Interfaces_XAC#Fichiers_source dont le concepteur originel du projet est Christian.
 +
L'interface XAC est fonctionnel, la preuve en vidéo : https://youtu.be/zlyNKRW_4Qc
  
3. Ajouter une gaine thermorétractable autour du câble afin de protéger contre l'abrasion et la mauvaise météo. Placer selon le socle de dessus comme sur la photo
+
===Carte électronique===
 +
Dans le projet précédent , la configuration 1 expliquée permet de rendre la XAC bluetooth et de s'y connecter via le joystick du fauteuil.  
 +
Le montage de cette configuration a été monté sur une breadboard.
 +
Reprise du schéma de montage précédemment utilisé. Il a été constaté que le Teensy LC utilisé pendant ce projet n'est pas le même que précédemment https://www.robotshop.com/eu/fr/platine-developpement-microcontroleur-usb-teensy-lc.html. Il a fallu recréer le schéma de montage de l'interface en conséquence.
  
==== le capteur ====
+
Ce montage comprend :
 +
* Teensy-LC
 +
* carte Mini USB Host avec dongle bluetooth (adaptateur bluetooth)
 +
* 2 résistances 1K2 et 470Ohms (en 1/4W). Les valeurs des résistances sont indicatives, elles peuvent être ajustées en fonction des LEDs utilisées.
 +
* 3 condensateurs chimiques polarisés de 10µF avec une tension de 25V (16V ou 10V peuvent satisfaire)
 +
* 2 diodes
  
 
<gallery mode="packed-hover">
 
<gallery mode="packed-hover">
File:JPS Capteur Fil Soude-01.JPG
+
File:breadboard_host_usb.JPG
File:JPS Capteur Fil Pose-02.JPG
+
File:ensemble interface XAC console.jpg
File:JPS Capteur Pose-01.JPG
+
File:host_usb_diode.JPG
File:JPS Capteur Regle-01.JPG
 
File:JPS Capteur Regle-02.JPG
 
File:JPS Capteur Centre Ajuste-01.JPG
 
File:JPS Capteur Colle-01.JPG
 
File:JPS Capteur Colle-02.JPG
 
File:JPS Capteur Vue-01.JPG
 
File:JPS Capteur Vue-02.JPG
 
File:JPS Capteur Vue-03.JPG
 
 
</gallery>
 
</gallery>
  
 
<gallery mode="slideshow">
 
<gallery mode="slideshow">
File:JPS Capteur Fil Soude-01.JPG
+
File:breadboard_host_usb.JPG
File:JPS Capteur Fil Pose-02.JPG
+
File:ensemble interface XAC console.jpg
File:JPS Capteur Pose-01.JPG
+
File:host_usb_diode.JPG
File:JPS Capteur Regle-01.JPG
 
File:JPS Capteur Regle-02.JPG
 
File:JPS Capteur Centre Ajuste-01.JPG
 
File:JPS Capteur Colle-01.JPG
 
File:JPS Capteur Colle-02.JPG
 
File:JPS Capteur Vue-01.JPG
 
File:JPS Capteur Vue-02.JPG
 
File:JPS Capteur Vue-03.JPG
 
 
</gallery>
 
</gallery>
  
1. Dénuder les fils électrique avec une pince à dénuder (0.3mm) afin de les souder par la suite sur le capteur.
+
Le port USB de la Teensy-LC est branché sur le port de la XAC et la XAC est branchée sur la XBox.
* les étamer avec l'étain un par un pour éviter les petits fils dispersifs des fils électriques. Astuce : chauffer avec le fer à souder le fil et poser l'étain dessus en une fine couche.
 
  
2. Souder les fils sur le capteur
+
L'objectif ici étant de reproduire le montage de la breadboard sur une veroboard pour l'utiliser plus simplement et pour plus de sécurité dans son maniement.
* VCC : fils vert et rouge
+
Un schéma du montage a été réaliser sur une veroboard. La disposition des éléments de l'interface XAC dépend des possibilités de chacun, elle peut donc être modifiée.
* GND : fils bleu et noir
 
* SS : aucun
 
* OU1 : fil jaune
 
* OU2 :  fil blanc
 
  
3. Une fois les soudures terminées, le capteur doit être placé sur le socle de dessus. Pour cela, le capteur doit être placé au milieu là où se trouve le trou du socle. Le carte sera placé à 10mm comme sur les 2 images
+
[[File:MHK-MagicJoystick-INTERFACE-VERO.png|center|800px]]
  
4. Avant de visser les tiges, vérifier auparavant que les tiges s'insèrent bien dans l'emplacement sur le socle du dessous.Il se peut que la longueur des tiges soient trop longues. Si ce n'est pas le cas, limer les tiges imprimées. Vous pouvez au lien de limer les tiges changer le fichier pour une longueur plus petite. Visser avec une clé Allen les tiges aux emplacements pour maintenir le capteur avec les vis à tête CHC (cylindrique hexagonal creux)
+
Sur ce schéma, le reset a été retiré pour non utilité sur ce projet.
  
5. Avant de coller le capteur, les tiges sur le socle, il est important de vérifier si une tension passe.
+
====Host USB====
 +
La carte Mini Usb Host doit être modifiée.
 +
Il faut permettre l'alimentation du connecteur USB avec 5 volt et non 3.3v par défaut avec cette carte
 +
* Couper la piste arrivant du connecteur USB, juste avant la note "2K2"
 +
* Installer et souder le jumper rouge qui ramène le +5V (venant du Teensy ) sur le port USB du Host pour alimenter correctement le dongle bluetooth.
  
6. Mettre de la colle sur le capteur pour bien l'immobiliser sur le socle
+
[[File:Mini_Host_Usb_Soude.jpg]]
  
=== Pose du fond et du capot:===
+
==== Diodes ====
 
+
Une diode rouge et une diode verte ont été ajouté au montage, l'utilisateur pourra ainsi voir si l'interface XAC et le bluetooth est actif, ce qui n'était pas le cas auparavant.
[[File:JLS Outil Perçage-01.JPG|600px]]
+
* diode rouge : s'allume si l'interface XAC est connectée à la XAC ou sur le PC.
 
+
* diode verte : s'allume lorsque le bluetooth de l'interface et de la XAC sont appareillés.
1. Avant de visser le capot avec le socle. Il faut préparer le taraudage des fixations. Pour cela, on utilise un taraud de 20mm et une cale permettant de réaliser un taraudage plus droit.
 
 
 
=== Préparer la rotule extérieure :===
 
  
 +
==== Assemblage interface XAC sur la XAC ====
 
<gallery mode="packed-hover">
 
<gallery mode="packed-hover">
File:JPS Rotule Ext Prepa-01.JPG
+
File:interface XAC.jpg
File:JPS Rotule Ext Prepa-02.JPG
+
File:interface XAC face.jpg
File:JPS Rotule Ext Prepa-03.JPG
+
File:ensemble interface XAC console 2.jpg
File:JPS Rotule Ext Prepa-04.JPG
+
File:diodes allumees.jpg
File:JPS Rotule Ext Prepa-05.JPG
 
File:JPS Rotule Ext Prepa-06.JPG
 
File:JPS Rotule Ext Prepa-06.JPG
 
File:JPS Rotule Ext Filetage Prepa-01.JPG
 
 
</gallery>
 
</gallery>
  
 
<gallery mode="slideshow">
 
<gallery mode="slideshow">
File:JPS Rotule Ext Prepa-01.JPG
+
File:interface XAC.jpg
File:JPS Rotule Ext Prepa-02.JPG
+
File:interface XAC face.jpg
File:JPS Rotule Ext Prepa-03.JPG
+
File:ensemble interface XAC console 2.jpg
File:JPS Rotule Ext Prepa-04.JPG
+
File:diodes allumees.jpg
File:JPS Rotule Ext Prepa-05.JPG
 
File:JPS Rotule Ext Prepa-06.JPG
 
File:JPS Rotule Ext Prepa-06.JPG
 
File:JPS Rotule Ext Filetage Prepa-01.JPG
 
 
</gallery>
 
</gallery>
  
1. Il est nécessaire de repercer les trous qui vont faire passer la tige en laiton pour un meilleur passage.
+
Le port USB de la Teensy-LC est branché sur le port de la XAC et la XAC est branchée sur la XBox.
  
2. Utiliser la dremel avec un embout brosse en acier ou simplement du papier de verre pour enlever les impuretés dû à l'impression 3D. Il faut bien que les surfaces soient propres pour que les 3 rotules coulissent librement entre elles.
+
Cette veroboard sera ensuite placé dans un boitier qui sera détaillé dans la prochaine partie.
  
* On peut continuer
+
=== Boîtier ===
 +
Le boîtier est en bois dont les faces seront coupées par une découpeuse laser. Il faut donc réaliser un schéma du boîtier.
 +
Ce site https://www.festi.info/boxes.py/ permet de créer automatiquement sous la forme d'un fichier svg la boite voulu. Il suffit pour cela de sélectionner la forme de boîte voulue et de la paramétrer. Ce fichier svg doit maintenant être configurer sur Inkscape selon la découpeuse laser à votre disposition.
  
<gallery mode="packed-hover" heights="100px">
+
Retrouver le fichier svg utilisé pour ce projet : [[:File:closedbox.svg]]
File:JPS Dessous Vue-01.JPG
+
 
 +
Une fois les découpes réalisées :
 +
* vérifier que la face avant s'imbrique bien avec les éléments sortants (diodes, ports USB).
 +
* Coller les faces entre elles pour créer le boîtier. 
 +
 
 +
<gallery mode="packed-hover">
 +
File:boitier_xac_vue_face.jpg
 +
File:boitier_xac_vue_perspective.jpg
 +
File:boitier_xac_vue_dessus.jpg
 
</gallery>
 
</gallery>
  
 
<gallery mode="slideshow">
 
<gallery mode="slideshow">
File:JPS Dessous Vue-01.JPG
+
File:boitier_xac_vue_face.jpg
 +
File:boitier_xac_vue_perspective.jpg
 +
File:boitier_xac_vue_dessus.jpg
 
</gallery>
 
</gallery>
  
==Délai estimé==
+
===Code===
 +
==== Calibrage de la position neutre du joystick ====
 +
 
 +
Dans la version précédente de ce projet, la position neutre du joystick du fauteuil n'était pas calibré. En effet, la XBox ne reconnaît pas le retour à la position neutre du joystick, du coup il le comprenait comme si le joueur continuait à tourner son volant à droite ou à gauche.
  
==Fichiers source==
+
L'objectif est alors d'avoir un neutre sur le joystick en respectant les contraintes de temps dans un jeu. Pour cela, il faut calibrer le Teensy-LC.
  
 +
Le code utilisé pour calibrer le joystick est le suivant :
 +
TODO CODE
  
==Etapes de fabrication pas à pas==
+
==== Améliorer la sensibilité du joystick ====
  
==Durée de fabrication du prototype final==
+
TODO CODE
 +
 +
==== Allumer les diodes power et bluetooth ====
  
==Journal de bord==
+
TODO CODE
===Date: xx/xx/xx===
 
  
  
 
[[Category:Projets]]
 
[[Category:Projets]]

Version du 22 octobre 2019 à 11:02

Description du projet

Ce projet a été réalisé et pensé lors du Fabrikarium chez ArianeGroup du 16 au 18 octobre 2019.

  • Récréer une manette ergonomique et faible force pour jouer aux jeux vidéos.
  • Reprendre et améliorer la configuration Teensy LC connectée comme Joystick à une entrée USB XAC
  • Prendre le contrôle du fauteuil Joystick R-net à distance.

Analyse de l'existant

Cahier des charges

  • créer une manette ergonomique et de faible force
  • avoir tous les boutons nécessaires pour jouer à un jeu vidéo
  • utiliser des contacteurs avec moins de 10g de pression
  • être bon marché
  • utilisation du joystick du fauteuil obligatoire
  • Se connecter à l'interface XAC via l'USB en bluetooth
  • Contrôler le fauteuil à distance avec un appareil externe tel le joystick

Equipe (Porteur de projet et contributeurs)

  • Porteur de projet : Jonathan Menir
  • Concepteur originel : Christian
  • Contributeurs: Florian, Régis, Jonathan, Laetitia, Luc, André, Federico, Julien, Nicolas et Stéphane
  • Coordinateur du projet : Stéphane
  • Responsable de documentation Margaux

Matériels nécessaires

  • Teensy LC
  • XAC (Xbox Adaptative Control)
  • JPS Joystick Proportionnelle Sensible
  • carte PiCan2
  • Raspberry Pi 3 model B+
  • PM (puissance moteur) Power Modul

Outils nécessaires

Coût

Can2RNET

L'ojectif lors du Fabrikarium est de piloter un fauteuil électrique à partir d'un joystick.

Résultat

Le fauteuil électrique a pu être piloté par une manette.

Retrouver sa documentation sur http://wikilab.myhumankit.org/index.php?title=Projets:Can2RNET.

Fauteuil controle manette.jpg

JPS Joystick Proportionnel Sensible

Retrouver sa documentation sur http://wikilab.myhumankit.org/index.php?title=Projets:JPS_Joystick_Proportionnel_Sensible. La documentation a été amélioré lors du Fabrikarium.

Réplique du joystick

Date: 18/10/2019

Une réplique du joystick en utilisant cette documentation a été réalisé lors du Fabrikarium chez ArianeGroup du 16 au 18 octobre 2019.

Réplique joystick.jpg

Le joystick a été assemblé et fonctionnel mais le résultat n'y était pas. Il n'y a qu'un léger retour au centre et la sensibilité est plus forte qu'attendu, elle n'est pas inférieure à 10g.

Il en est ressorti que :

  • le montage du joystick demande une grande minutie pour aboutir à un joystick avec un retour au centre et une sensiblité faible (<10g).
  • la durée du fabrication peut dépasser 2 jours.
  • Penser à un autre design pour faciliter l'assemblage.

Idée soumise

Lors du Fabrikarium, une idée est soulevée quant à remplacer le montage des rotules par une seule rotule et des électroaimants. Ces électroaimants seraient alimenté par un variateur de tension qui augmenterait ou diminurait la sensiblité. Ainsi ce joystick serait adaptable selon la force de la personne ou être utilisé par plusieurs personnes.

Interface XAC

Le projet est la continuité du projet http://wikilab.myhumankit.org/index.php?title=Projets:Interfaces_XAC#Fichiers_source dont le concepteur originel du projet est Christian. L'interface XAC est fonctionnel, la preuve en vidéo : https://youtu.be/zlyNKRW_4Qc

Carte électronique

Dans le projet précédent , la configuration 1 expliquée permet de rendre la XAC bluetooth et de s'y connecter via le joystick du fauteuil. Le montage de cette configuration a été monté sur une breadboard. Reprise du schéma de montage précédemment utilisé. Il a été constaté que le Teensy LC utilisé pendant ce projet n'est pas le même que précédemment https://www.robotshop.com/eu/fr/platine-developpement-microcontroleur-usb-teensy-lc.html. Il a fallu recréer le schéma de montage de l'interface en conséquence.

Ce montage comprend :

  • Teensy-LC
  • carte Mini USB Host avec dongle bluetooth (adaptateur bluetooth)
  • 2 résistances 1K2 et 470Ohms (en 1/4W). Les valeurs des résistances sont indicatives, elles peuvent être ajustées en fonction des LEDs utilisées.
  • 3 condensateurs chimiques polarisés de 10µF avec une tension de 25V (16V ou 10V peuvent satisfaire)
  • 2 diodes

Le port USB de la Teensy-LC est branché sur le port de la XAC et la XAC est branchée sur la XBox.

L'objectif ici étant de reproduire le montage de la breadboard sur une veroboard pour l'utiliser plus simplement et pour plus de sécurité dans son maniement. Un schéma du montage a été réaliser sur une veroboard. La disposition des éléments de l'interface XAC dépend des possibilités de chacun, elle peut donc être modifiée.

MHK-MagicJoystick-INTERFACE-VERO.png

Sur ce schéma, le reset a été retiré pour non utilité sur ce projet.

Host USB

La carte Mini Usb Host doit être modifiée. Il faut permettre l'alimentation du connecteur USB avec 5 volt et non 3.3v par défaut avec cette carte

  • Couper la piste arrivant du connecteur USB, juste avant la note "2K2"
  • Installer et souder le jumper rouge qui ramène le +5V (venant du Teensy ) sur le port USB du Host pour alimenter correctement le dongle bluetooth.

Mini Host Usb Soude.jpg

Diodes

Une diode rouge et une diode verte ont été ajouté au montage, l'utilisateur pourra ainsi voir si l'interface XAC et le bluetooth est actif, ce qui n'était pas le cas auparavant.

  • diode rouge : s'allume si l'interface XAC est connectée à la XAC ou sur le PC.
  • diode verte : s'allume lorsque le bluetooth de l'interface et de la XAC sont appareillés.

Assemblage interface XAC sur la XAC

Le port USB de la Teensy-LC est branché sur le port de la XAC et la XAC est branchée sur la XBox.

Cette veroboard sera ensuite placé dans un boitier qui sera détaillé dans la prochaine partie.

Boîtier

Le boîtier est en bois dont les faces seront coupées par une découpeuse laser. Il faut donc réaliser un schéma du boîtier. Ce site https://www.festi.info/boxes.py/ permet de créer automatiquement sous la forme d'un fichier svg la boite voulu. Il suffit pour cela de sélectionner la forme de boîte voulue et de la paramétrer. Ce fichier svg doit maintenant être configurer sur Inkscape selon la découpeuse laser à votre disposition.

Retrouver le fichier svg utilisé pour ce projet : File:closedbox.svg

Une fois les découpes réalisées :

  • vérifier que la face avant s'imbrique bien avec les éléments sortants (diodes, ports USB).
  • Coller les faces entre elles pour créer le boîtier.

Code

Calibrage de la position neutre du joystick

Dans la version précédente de ce projet, la position neutre du joystick du fauteuil n'était pas calibré. En effet, la XBox ne reconnaît pas le retour à la position neutre du joystick, du coup il le comprenait comme si le joueur continuait à tourner son volant à droite ou à gauche.

L'objectif est alors d'avoir un neutre sur le joystick en respectant les contraintes de temps dans un jeu. Pour cela, il faut calibrer le Teensy-LC.

Le code utilisé pour calibrer le joystick est le suivant : TODO CODE

Améliorer la sensibilité du joystick

TODO CODE

Allumer les diodes power et bluetooth

TODO CODE