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

De wikilab
 
(22 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
{{Infobox projet
 +
|Image principale=Fauteuil controle manette.jpg
 +
|Description=Contrôle du fauteuil R-net avec joystick, fabrication d'un joystick faible pression, amélioration config joystick DIY sur XAC
 +
|Porteur de projet=Jonathan
 +
|Contributeurs=Florian, Régis, Jonathan, Laetitia, Luc, André, Federico, Julien, Nicolas, Elektron, Delphine
 +
|Fabmanager=Delphine
 +
|Référent documentation=Margaux
 +
|Catégorie de handicap=Motricité, Mobilité
 +
|Etat d'avancement=Réalisés
 +
|Statut de la documentation=Complète
 +
|Relecture de la documentation=Vérifiée
 +
|Durée de fabrication=de 16 à 32 h
 +
|Coût matériel=De 50 à 100 euros
 +
|Niveau=Moyen
 +
|Licence=by-sa
 +
|Projet date=2019-10-17
 +
|Nom humanlab=Humanlab_MHK
 +
}}
 +
 
== 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.  
  
Ligne 7 : Ligne 28 :
  
 
== 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.
 
* JSM Joystick Proportionnelle Sensible http://wikilab.myhumankit.org/index.php?title=Projets:JPS_Joystick_Proportionnel_Sensible
 
 
 
* Interface XAC : http://wikilab.myhumankit.org/index.php?title=Projets:Interfaces_XAC
 
* Interface XAC : http://wikilab.myhumankit.org/index.php?title=Projets:Interfaces_XAC
  
Ligne 30 : Ligne 48 :
  
 
* Porteur de projet : Jonathan Menir
 
* Porteur de projet : Jonathan Menir
 +
* Concepteur originel : Christian
 
* Contributeurs: Florian, Régis, Jonathan, Laetitia, Luc, André, Federico, Julien, Nicolas et Stéphane
 
* Contributeurs: Florian, Régis, Jonathan, Laetitia, Luc, André, Federico, Julien, Nicolas et Stéphane
 
* Coordinateur du projet : Stéphane
 
* Coordinateur du projet : Stéphane
Ligne 47 : Ligne 66 :
 
*  PM (puissance moteur) Power Modul
 
*  PM (puissance moteur) Power Modul
  
==Outils nécessaires==
 
 
==Coût==
 
 
==HOST USB XAC==
 
===Carte électronique===
 
Cette carte regroupe la Teensy-LC et l'arduino bluetooth.
 
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.
 
 
En cours de montage de la carte électronique sur une veroboard.
 
MISE EN PLACE DES ELEMENTS POURQUOI ???????
 
SCHEMA DE MONTAGE
 
PHOTO MONTAGE
 
 
Pour le reset, un interrupteur momentané a été mis sur la carte.
 
Jonathan voulais également ajouter des voyants permettant de voir que l'interface XAC est alimenté et que le bluetooth est appareillé. Pour cela, 2 diodes led de couleurs différentes sont ajoutées l'une sur l'autre à côté de la Teensy LC. Pour éviter le contact entre les 2 leds, chacune est entourée avec une gaine thermorétractable. La led rouge correspond à l'alimentation et la verte au bluetooth. L'arduino bluetooth va communiquer à la teensy-LC le changement d'état de la lied afin de l'allumer.
 
Maintenant que le schéma de montage et l'interface ont été réalisés, la carte doit être ensuite placée dans un boîtier.
 
 
====Bluetooth connecté====
 
Avec l'ajout de la diode sous la carte bluetooth, il faut la paramétrer pour l'allumer lorsqu'on s'appareille dessus.
 
Le code arduino correspondant à ce paramètre est le suivant :
 
 
CODE ARDUINO
 
 
====Test====
 
Interface XAC connecté sur le PC
 
* l'interface XAC est branché en USB sur le PC
 
* la led de l'alimentation est allumée (diode rouge)
 
* la usb bluetooth clignote
 
  
Pour ce projet,
+
== Can2RNET ==
Interface XAC connecté sur la XAC
 
Non fonctionnel
 
  
[[File:interface XAC.jpg|400px]]
+
L'ojectif lors du Fabrikarium est de piloter un fauteuil électrique à partir d'un joystick.
  
===Boitier===
+
===Résultat ===
Le boîtier sera en bois. 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.
+
Le fauteuil électrique a pu être piloté par une manette.
Ce fichier svg doit maintenant être configurer sur Inkscape selon la découpeuse laser à votre disposition
 
  
contour de chaque face en rouge
+
Retrouver sa documentation sur http://wikilab.myhumankit.org/index.php?title=Projets:Can2RNET.
gravure en vert
 
contour en vert : trou
 
  
 
+
[[File:fauteuil_controle_manette.jpg|center|500px]]
[[File:Boitier_vue_de_face.jpg|320px]]
 
[[File:Boitier_en_perspective.jpg|320px]]
 
  
 
== JPS Joystick Proportionnel Sensible ==
 
== 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.  
 
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==
+
===Réplique du joystick===
===Date: 18/10/2019===
+
====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.
 
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]]
 
[[File:réplique joystick.jpg|center|600px]]
Ligne 112 : Ligne 95 :
 
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.
 
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.
  
==Délai estimé==
+
==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 :
 +
{{#ev:youtube|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
 +
 
 +
<gallery mode="packed-hover">
 +
File:breadboard_host_usb.JPG
 +
File:ensemble interface XAC console.jpg
 +
File:host_usb_diode.JPG
 +
</gallery>
 +
 
 +
<gallery mode="slideshow">
 +
File:breadboard_host_usb.JPG
 +
File:ensemble interface XAC console.jpg
 +
File:host_usb_diode.JPG
 +
</gallery>
 +
 
 +
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.
 +
 
 +
[[File:MHK-MagicJoystick-INTERFACE-VERO.png|center|800px]]
 +
 
 +
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.
 +
 
 +
[[File: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 ====
 +
<gallery mode="packed-hover">
 +
File:interface XAC.jpg
 +
File:interface XAC face.jpg
 +
File:ensemble interface XAC console 2.jpg
 +
File:diodes allumees.jpg
 +
</gallery>
 +
 
 +
<gallery mode="slideshow">
 +
File:interface XAC.jpg
 +
File:interface XAC face.jpg
 +
File:ensemble interface XAC console 2.jpg
 +
File:diodes allumees.jpg
 +
</gallery>
 +
 
 +
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. 
 +
 
 +
<gallery mode="packed-hover">
 +
File:boitier_xac_vue_face.jpg
 +
File:boitier_xac_vue_perspective.jpg
 +
File:boitier_xac_vue_dessus.jpg
 +
</gallery>
 +
 
 +
<gallery mode="slideshow">
 +
File:boitier_xac_vue_face.jpg
 +
File:boitier_xac_vue_perspective.jpg
 +
File:boitier_xac_vue_dessus.jpg
 +
</gallery>
 +
 
 +
===Codes Arduino===
 +
 
 +
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. De plus, il a été dit lors de ce Fabrikarium qu'il fallait améliorer la sensibilité du joystick pour avoir un meilleur contrôle de ce dernier. Et finalement de pouvoir allumer les diodes power et bluetooth pour une meilleure visibilité pour l'utilisateur. Pour cela, il faut téléverser le code arduino sur la Teensy-LC.
 +
 
 +
Vous pouvez retrouver tous les codes sur le github de myhumankit : [https://github.com/myhumankit/xac-interface Github Interface_XAC]
 +
 
 +
Le développement de ces code ont été modifié par Christian Fromentin MHK Rennes. Vous pouvez retrouver les codes sources sur le projet Interface XAC. Les codes énoncés plus haut ont été développés par Florian lors du Fabrikarium
 +
Les codes ajoutés :
 +
* Calibration de la position neutre du joystick
 +
* Améliorer la sensibilité du joystick
 +
* Allumer les diodes power et bluetooth
  
==Fichiers source==
 
  
 +
===Résultat de l'interface XAC sur la XAC===
  
==Etapes de fabrication pas à pas==
+
[[File:mise en place interface XAC.jpg|600px]]
  
==Durée de fabrication du prototype final==
+
Voici une photo montrant la mise en place de l'interface XAC sur la XAC.
  
==Journal de bord==
+
1. La XAC est branchée via USB sur la XBOX.
===Date: xx/xx/xx===
 
  
 +
2. L'interface XAC est reliée en port USB sur la XAC. On peur voir sur la photo, la led d'alimentation est allumée (led rouge).
  
[[Category:Projets]]
+
3. L'interface XAC est connectée en bluetooth au joystick du fauteuil

Version actuelle datée du 19 juillet 2022 à 09:49

Magic Joystick

Fauteuil controle manette.jpg

Informations
Description Contrôle du fauteuil R-net avec joystick, fabrication d'un joystick faible pression, amélioration config joystick DIY sur XAC
Catégorie Motricité Mobilité
Etat d'avancement Réalisés
Techniques
Durée de fabrication de 16 à 32 h
Coût matériel De 50 à 100 euros
Niveau Moyen
Licence by-sa
Date de création 2019-10-17
Équipe
Porteur de projet Jonathan
Contributeurs Florian, Régis, Jonathan, Laetitia, Luc, André, Federico, Julien, Nicolas, Elektron, Delphine
Fabmanager Delphine
Référent documentation Margaux
Nom humanlab Humanlab_MHK
Documentation
Statut de la documentation Complète
Relecture de la documentation Vérifiée


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


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 :


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.

Codes Arduino

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. De plus, il a été dit lors de ce Fabrikarium qu'il fallait améliorer la sensibilité du joystick pour avoir un meilleur contrôle de ce dernier. Et finalement de pouvoir allumer les diodes power et bluetooth pour une meilleure visibilité pour l'utilisateur. Pour cela, il faut téléverser le code arduino sur la Teensy-LC.

Vous pouvez retrouver tous les codes sur le github de myhumankit : Github Interface_XAC

Le développement de ces code ont été modifié par Christian Fromentin MHK Rennes. Vous pouvez retrouver les codes sources sur le projet Interface XAC. Les codes énoncés plus haut ont été développés par Florian lors du Fabrikarium Les codes ajoutés :

  • Calibration de la position neutre du joystick
  • Améliorer la sensibilité du joystick
  • Allumer les diodes power et bluetooth


Résultat de l'interface XAC sur la XAC

Mise en place interface XAC.jpg

Voici une photo montrant la mise en place de l'interface XAC sur la XAC.

1. La XAC est branchée via USB sur la XBOX.

2. L'interface XAC est reliée en port USB sur la XAC. On peur voir sur la photo, la led d'alimentation est allumée (led rouge).

3. L'interface XAC est connectée en bluetooth au joystick du fauteuil