Différences entre versions de « Projets:JimStick »

De wikilab
 
(85 versions intermédiaires par 5 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
{{Infobox projet
 +
|Image principale=Redimm2JimStickV2.jpg.jpg
 +
|Description=Commande d'un téléphone (via un câble OTG) ou d’un ordinateur a une personne ne pouvant pas utiliser ses mains.
 +
|Porteur de projet=Amaury, Jimmy
 +
|Contributeurs=David Z, Thibaut, Michel M
 +
|Fabmanager=Yo
 +
|Référent documentation=Davidz, Yo
 +
|Catégorie de handicap=Motricité
 +
|Etat d'avancement=Réalisés
 +
|Statut de la documentation=Complète
 +
|Relecture de la documentation=Non vérifiée
 +
|Durée de fabrication=de 4 à 8 h
 +
|Coût matériel=De 10 à 50 euros
 +
|Niveau=Facile
 +
|Licence=by-sa
 +
|Projet date=2021-12-02
 +
|Nom humanlab=Humanlab_MHK
 +
}}
 
== Description du projet ==
 
== Description du projet ==
Le but de ce système est de rendre possible la commande d’un ordinateur a une personne ne pouvant pas utiliser ses mains. Pour cela nous réalisons un système qui sera considéré par l’ordinateur comme une souris et qui est composé de trois parties :
+
Le but de ce système est de rendre possible la commande d'un téléphone (via un câble OTG) ou d’un ordinateur à une personne ne pouvant pas utiliser ses mains. Pour cela nous réalisons un système qui sera considéré par l’appareil comme une souris et qui est composé de trois parties :
  
    • une boîte contenant quatre boutons,
+
* une boîte (ou plusieurs) contenant quatre boutons,
    • un joystick,
+
* un joystick,
    • une boîte contenant un microcontrôleur.
+
* une boîte contenant un microcontrôleur.
  
 
== Cahier des charges ==
 
== Cahier des charges ==
 
Les besoins identifiés pour ce projet sont :  
 
Les besoins identifiés pour ce projet sont :  
 
   
 
   
* Utilisation d'un ordinateur ou un smartphone sans souris
+
* Utilisation d'un smartphone, une tablette ou d'un ordinateur
 
* Système facilement transportable
 
* Système facilement transportable
 
* Système modulable
 
* Système modulable
  
L'architecture choisie afin de satisfaire ces besoins a été l’utilisation d’un joystick afin de contrôler le déplacement de la souris, ainsi que 4 boutons dont la fonction est :
 
  
* un appui sur le bouton gauche en mode clic génère un clic gauche souris, voir plus loin dans le mode appuyer
+
L'architecture choisie afin de satisfaire ces besoins a été l’utilisation d’un joystick afin de contrôler le déplacement de la souris, ainsi que 4 boutons dont les fonctions sont :
* un appui sur le bouton droit, idem précédemment mais pour la version droite.
+
 
* un appui sur le bouton molette, bascule du mode déplacement souris en mode molette.
+
* un appui sur le bouton gauche en mode clic génère un clic gauche souris, voir plus loin dans le cas du mode appuyer
* un appui sur le bouton appuyer, active le mode appuyé/relâché
+
* un appui sur le bouton droit, idem précédemment mais pour la version de droite.
 +
* un appui sur le bouton molette, bascule entre le mode déplacement souris et le mode molette.
 +
* un appui sur le bouton appuyer, bascule entre le mode appuyé et relâché
  
  
Cet ensemble est fixé devant un écran dans « un support type Tableau magnétique», avec sur le côté gauche une boîte composé de quatre boutons lumineux, puis sur le côté droit un joystick muni d’un manche adapté (U). Et enfin pour connecté ces deux éléments (les boutons et le joystick) au milieu la boîte avec le microcontrôleur, elle même connecté à l’ordinateur.
+
Cet ensemble est fixé devant un écran ou un support téléphone dans « un support type Tableau magnétique», avec sur le côté gauche une boîte composé de quatre boutons lumineux, puis sur le côté droit un joystick muni d’un manche adapté (U). Et enfin pour connecté ces deux éléments (les boutons et le joystick) au milieu la boîte avec le microcontrôleur, elle même connecté à l’ordinateur.
  
 
[[File:Schema.png]]
 
[[File:Schema.png]]
Ligne 33 : Ligne 52 :
 
== Equipe (Porteur de projet et contributeurs) ==
 
== Equipe (Porteur de projet et contributeurs) ==
  
* Porteurs du projet : Amaury
+
* Porteurs du projet : Jimmy, Amaury
* Concepteurs/contributeurs : David Z, Thibaut
+
* Concepteurs/contributeurs : David Z, Thibaut, Michel M
 
* Fabmanager référent : Yohann
 
* Fabmanager référent : Yohann
  
 
== Matériel nécessaire ==
 
== Matériel nécessaire ==
 +
* Arduino Micro
 +
* 4 Boutons arcade
 +
* 6 [https://www.atlantique-composants.fr/ProductCard/KSJC3S/embase-jack-3-5-stereo Connecteurs jack]
 +
* Joystick
  
 
==Outils nécessaires==
 
==Outils nécessaires==
 +
* Arduino Micro
 +
* Câble micro vers type A femelle : [https://www.amazon.fr/StarTech-com-C%C3%A2ble-adaptateur-Micro-vers/dp/B00B4GGW5Q/ref=sr_1_5?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=1S75VU72MGQFI&keywords=C%C3%A2ble+OTG+micro+USB+vers+USB+type+A&qid=1675693813&sprefix=c%C3%A2ble+otg+micro+usb+vers+usb+type+a%2Caps%2C84&sr=8-5 Cable-adaptateur-Micro-vers-USB-type-A]
 +
* Suivant la connectique de votre appareil, téléphone etc. il faudra prendre un cable Type A vers Type C pour les mobiles les plus récents. [https://www.amazon.fr/RAVIAD-Synchro-Chargeur-Connecteur-Samsung/dp/B089GD78ZW/ref=sr_1_6?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=1BTWFK3R8A7PZ&keywords=cable+usb+type+c&qid=1675693972&sprefix=cable+usb+type+c%2Caps%2C98&sr=8-6 Cable type A vers Type C]
  
 
==Coût==
 
==Coût==
 +
 ~15 euro
  
 
==Délai estimé==
 
==Délai estimé==
 +
4 heures
 +
 +
==Etapes de fabrication pas à pas==
  
==Fichiers source==
+
===Le schéma===
 +
 
 +
[[:File:JimStick_Schema_V2.pdf]]
 +
 
 +
[[File:JimStick_Schema_V2.png|400px]]
 +
 
 +
 
 +
===PCB===
 +
 
 +
Pour fiabiliser le prototype nous avons réalisé un circuit imprimé.
 +
 
 +
Nous avons envoyé le dossier GERBER chez JLCPCB en Chine.
 +
 
 +
[[File:JimStick_Avec_Jack.png|400px]]
 +
 
 +
Le dossier GERBER est disponible ici :
 +
 
 +
[[:File:GERBER.zip]]
  
==Etapes de fabrication pas à pas==
 
 
===Boutons de commande ===
 
===Boutons de commande ===
  
Il faut réaliser 4 boutons de commande afin de réaliser toutes les fonctions d’une souris
+
Il faut réaliser 4 boutons de commande afin d'accomplir toutes les fonctions d’une souris
 
Chaque bouton sert pour effectuer une action.
 
Chaque bouton sert pour effectuer une action.
 
Les deux boutons <span style="color:red>‘gauche’</span> et <span style="color:green>‘droit’</span> permettent de simuler un appui souris.
 
Les deux boutons <span style="color:red>‘gauche’</span> et <span style="color:green>‘droit’</span> permettent de simuler un appui souris.
Le troisième permet d’utiliser <span style="color:yellow>l’axe y du joystick</span> pour simuler la molette.
+
Le troisième permet d’utiliser <span style="color:gold>l’axe y du joystick</span> pour simuler la molette.
Le quatrième permet enclencher le mode appuyer/relâcher pour simuler un appui long  
+
Le quatrième permet enclencher le mode appuyer/relâcher pour simuler un <span style="color:blue>appui long</span>
 
        
 
        
 
Les boutons choisis sont des boutons d'arcade équipés d’une diode lumineuse et d’un interrupteur. La diode est branché en série avec une résistance (220Ω). Ces boutons sont reliés à 4 connecteurs 3,5 mm et ces connecteurs se trouve sur le coté droit de la boîte, positionné de façon à ne pas gêner les boutons.
 
Les boutons choisis sont des boutons d'arcade équipés d’une diode lumineuse et d’un interrupteur. La diode est branché en série avec une résistance (220Ω). Ces boutons sont reliés à 4 connecteurs 3,5 mm et ces connecteurs se trouve sur le coté droit de la boîte, positionné de façon à ne pas gêner les boutons.
  
 
Les boutons choisis sont des boutons d’arcade possédant une LED à l’intérieur. Chacun des 4 boutons doit être soudé à un connecteur jack. Les deux masses doivent être reliées au S, La sortie LED 5V doit être soudé à une résistance 220Ω puis au T du jack. Enfin le contact sec doit être relié au R. Le montage à réaliser est le suivant :
 
Les boutons choisis sont des boutons d’arcade possédant une LED à l’intérieur. Chacun des 4 boutons doit être soudé à un connecteur jack. Les deux masses doivent être reliées au S, La sortie LED 5V doit être soudé à une résistance 220Ω puis au T du jack. Enfin le contact sec doit être relié au R. Le montage à réaliser est le suivant :
[[File:bouton_montage.png|700px]]<br>
+
[[File:bouton_montage1.png|700px]]<br>
Les boitiers des boutons sont modélisés en 3D, voici quelques exemples de boitiers possibles : Boitier simple, boitier double.
+
[[Fichier:Jack b.jpg|vignette]]
 +
Les boitiers des boutons sont modélisés en 3D, voici quelques exemples de boitiers possibles : [[:File:box_boutons.zip]] [[File:IMG_20220607_143117.jpg|200px]]
 +
 
 +
-----------------------------------
 +
 
 +
Version JimStick 23/02/2023
 +
 
 +
Bouton noté M = Molette
 +
 
 +
Bouton noté R = Clic Gauche
 +
 
 +
Bouton noté V = Clic Droit
 +
 
 +
Bouton noté D = Défilement
 +
 
 +
-----------------------------------
  
 
===Le joystick===
 
===Le joystick===
Ligne 74 : Ligne 135 :
 
L’axe X est branché sur l’entrée A0.
 
L’axe X est branché sur l’entrée A0.
 
L’axe Y est branché sur l’entrée A1.
 
L’axe Y est branché sur l’entrée A1.
 +
[[File:joystick_montage3.png|500px]] <br>
 +
Le boitier du joystick est modélisé en 3D, voici un exemple de boitier possible : [[:File:box_joystick.zip]]
  
[[File:joystick_montage.png|500px]] <br>
+
Le déplacement du joystick est découpé en trois zones.
Le boitier du joystick est modélisé en 3D, voici un exemple de boitier possible : Boitier joystick
+
Dans la zone du milieu même si les valeurs mesurées du joystick change dans une certaine limite, la souris elle ne se déplace pas.
 +
Dans les zones de chaque cotés, la position de la souris évolue (ex:512+100>1..5).
  
const int center        = 1024 / 2;          // resting position value
 
const int threshold_min = center-100;        // min resting threshold
 
const int threshold_max = center+100;        // max resting threshold
 
  
      if ((axisPosition > threshold_min)&&(axisPosition < threshold_max))  { ret = 0; }
 
  else if (axisPosition>threshold_max)    { ret = map(axisPosition,threshold_max,1023,1,5); }
 
  else if (axisPosition<threshold_min)    { ret = map(axisPosition,0,threshold_min,-5,-1); }
 
  
 +
===3D===
  
Le déplacement du joystick est découpé en trois zones.
+
[[File:JimStick Complet.jpeg|400px]]
Dans la zone du milieu même si les valeurs mesurées du joystick change dans une certaine limite, la souris elle ne se déplace pas.
+
 
Dans les zones de chaque cotés, la position de la souris évolue (ex:512+100>1..5).
+
Les fichiers 3D sont disponible ici :
 +
 
 +
[[:File:Boite JimStick.stl|Boite pour la carte électronique]]
 +
 
 +
[[:File:Couvercle Boite JimStick.stl|Couvercle pour la boite]]
 +
 
 +
Boite pour les boutons : [[:File:JimStick Bouton.stl]]
 +
 
 +
Boite pour le joystick : [[:File:JimStick Joystick.stl]]
 +
 
 +
Enjoliveur pour l'USB : [[:File:Enjol 2 USB JimStick.stl]]
 +
Boite pour la carte électronique
  
 
===Microcontrôleur===
 
===Microcontrôleur===
 
La boîte contient un microcontrôleur permettant de simuler une souris ainsi qu’un buzzer, elle est relié à l’ordinateur via un câble USB.
 
La boîte contient un microcontrôleur permettant de simuler une souris ainsi qu’un buzzer, elle est relié à l’ordinateur via un câble USB.
(@fr ajouter une potentiomètre permettant d’ajuster de déplacement)
 
  
Ces deux éléments sont connecté via 6 (4+2) connecteurs (jack 3,5 mm, 3 fils) à une carte (Arduino micro) qui est elle même connecté via un câble USB type a mâle à un port USB de l’ordinateur.
+
 
 +
Ces deux éléments sont connecté via 6 (4+2) connecteurs (jack 3,5 mm, 3 fils) à une carte (Arduino micro) qui est elle même connecté via un câble USB type A mâle à un port USB de l’ordinateur.
  
 
Cas d’utilisation :
 
Cas d’utilisation :
Ligne 106 : Ligne 176 :
 
* un appui sur le bouton appuyer, active le mode appuyé/relâché
 
* un appui sur le bouton appuyer, active le mode appuyé/relâché
  
un appui sur l’un de ces deux boutons génère le début d’un clic long,
+
un premier appui sur le bouton génère le début d’un clic long,
Un second appui sur le même bouton génère le relâchement du clic équivalent.
+
Un second appui sur le même bouton génère le relâchement du clic (équivalent).
  
  
Ligne 116 : Ligne 186 :
 
! Entrée
 
! Entrée
 
! Sortie
 
! Sortie
|-bgcolor="red"
+
|-bgcolor="lightblue"
 
|Bouton Gauche
 
|Bouton Gauche
|Rouge
+
|Bleu
 
|D5
 
|D5
 
|D8
 
|D8
|-bgcolor="green"
+
|-bgcolor="lightblue"
 
|Bouton Droit
 
|Bouton Droit
|Vert
+
|Rouge
 
|D4
 
|D4
 
|D10
 
|D10
|-bgcolor="yellow"
+
|-bgcolor="green"
 
|Molette
 
|Molette
|Jaune
+
|Vert
 
|D3
 
|D3
 
|D11
 
|D11
|-bgcolor="blue"
+
|-bgcolor="silver"
 
|Appuyer
 
|Appuyer
|Bleu
+
|Blanc
 
|D2
 
|D2
 
|D12
 
|D12
Ligne 151 : Ligne 221 :
 
|A1
 
|A1
 
|}
 
|}
Le boitier du microcontrôleur est découpé à la laser, voici un exemple de boitier possible :  [[:File:box_arduino.zip] Boitier Microcontrôleur].
+
Le boitier du microcontrôleur est découpé à la laser, voici un exemple de boitier possible :  [[:File:box_arduino.zip]].
  
 
===Programme===
 
===Programme===
 +
Le dernier programme utilisé pour le JimStick est disponible ici : [[:File:Ms_pc_e.zip]]
 +
Ce programme requiert l'installation de la librairie [https://www.arduino.cc/reference/en/libraries/ezbutton/ ezbutton]
 +
 +
===Boite V2===
 +
 +
[[File:Version 5-12-2023.png|400px]]
 +
 +
 +
[[File:RedimmJimStickV2.jpg|400px]]
 +
 +
 +
[[File:Redimm2JimStickV2.jpg.jpg|400px]]
 +
 +
 +
[[File:Redimm3JimStickV2.jpg.jpg|400px]]
 +
 +
 +
[[File:Redimm4JimStickV2.jpg.jpg|400px]]
 +
 +
 +
[[File:Redimm5JimStickV2.jpg.jpg|400px]]
  
==Journal de bord==
 
  
 
[[Category:Projets]]
 
[[Category:Projets]]
 
[[Category:En cours]]
 
[[Category:En cours]]
 
[[Category:Motricité]]
 
[[Category:Motricité]]
 +
[[Category:Inauguration]]

Version actuelle datée du 9 juin 2024 à 23:28

JimStick

Redimm2JimStickV2.jpg.jpg

Informations
Description Commande d'un téléphone (via un câble OTG) ou d’un ordinateur a une personne ne pouvant pas utiliser ses mains.
Catégorie Motricité
Etat d'avancement Réalisés
Techniques
Durée de fabrication de 4 à 8 h
Coût matériel De 10 à 50 euros
Niveau Facile
Licence by-sa
Date de création 2021-12-02
Équipe
Porteur de projet Amaury, Jimmy
Contributeurs David Z, Thibaut, Michel M
Fabmanager Yo
Référent documentation Davidz, Yo
Nom humanlab Humanlab_MHK
Documentation
Statut de la documentation Complète
Relecture de la documentation Non vérifiée

Description du projet

Le but de ce système est de rendre possible la commande d'un téléphone (via un câble OTG) ou d’un ordinateur à une personne ne pouvant pas utiliser ses mains. Pour cela nous réalisons un système qui sera considéré par l’appareil comme une souris et qui est composé de trois parties :

  • une boîte (ou plusieurs) contenant quatre boutons,
  • un joystick,
  • une boîte contenant un microcontrôleur.

Cahier des charges

Les besoins identifiés pour ce projet sont :

  • Utilisation d'un smartphone, une tablette ou d'un ordinateur
  • Système facilement transportable
  • Système modulable


L'architecture choisie afin de satisfaire ces besoins a été l’utilisation d’un joystick afin de contrôler le déplacement de la souris, ainsi que 4 boutons dont les fonctions sont :

  • un appui sur le bouton gauche en mode clic génère un clic gauche souris, voir plus loin dans le cas du mode appuyer
  • un appui sur le bouton droit, idem précédemment mais pour la version de droite.
  • un appui sur le bouton molette, bascule entre le mode déplacement souris et le mode molette.
  • un appui sur le bouton appuyer, bascule entre le mode appuyé et relâché


Cet ensemble est fixé devant un écran ou un support téléphone dans « un support type Tableau magnétique», avec sur le côté gauche une boîte composé de quatre boutons lumineux, puis sur le côté droit un joystick muni d’un manche adapté (U). Et enfin pour connecté ces deux éléments (les boutons et le joystick) au milieu la boîte avec le microcontrôleur, elle même connecté à l’ordinateur.

Schema.png

Analyse de l'existant

https://handicat.com/at-num-28697.html

[[1]]

Equipe (Porteur de projet et contributeurs)

  • Porteurs du projet : Jimmy, Amaury
  • Concepteurs/contributeurs : David Z, Thibaut, Michel M
  • Fabmanager référent : Yohann

Matériel nécessaire

Outils nécessaires

Coût

 ~15 euro

Délai estimé

4 heures

Etapes de fabrication pas à pas

Le schéma

File:JimStick_Schema_V2.pdf

JimStick Schema V2.png


PCB

Pour fiabiliser le prototype nous avons réalisé un circuit imprimé.

Nous avons envoyé le dossier GERBER chez JLCPCB en Chine.

JimStick Avec Jack.png

Le dossier GERBER est disponible ici :

File:GERBER.zip

Boutons de commande

Il faut réaliser 4 boutons de commande afin d'accomplir toutes les fonctions d’une souris Chaque bouton sert pour effectuer une action. Les deux boutons ‘gauche’ et ‘droit’ permettent de simuler un appui souris. Le troisième permet d’utiliser l’axe y du joystick pour simuler la molette. Le quatrième permet enclencher le mode appuyer/relâcher pour simuler un appui long

Les boutons choisis sont des boutons d'arcade équipés d’une diode lumineuse et d’un interrupteur. La diode est branché en série avec une résistance (220Ω). Ces boutons sont reliés à 4 connecteurs 3,5 mm et ces connecteurs se trouve sur le coté droit de la boîte, positionné de façon à ne pas gêner les boutons.

Les boutons choisis sont des boutons d’arcade possédant une LED à l’intérieur. Chacun des 4 boutons doit être soudé à un connecteur jack. Les deux masses doivent être reliées au S, La sortie LED 5V doit être soudé à une résistance 220Ω puis au T du jack. Enfin le contact sec doit être relié au R. Le montage à réaliser est le suivant : Bouton montage1.png

Jack b.jpg

Les boitiers des boutons sont modélisés en 3D, voici quelques exemples de boitiers possibles : File:box_boutons.zip IMG 20220607 143117.jpg


Version JimStick 23/02/2023

Bouton noté M = Molette

Bouton noté R = Clic Gauche

Bouton noté V = Clic Droit

Bouton noté D = Défilement


Le joystick

Le joystick est muni d’un manche adapté (U), les deux potentiomètres (axe X et Y) sont relié à deux connecteurs 3,5 mm.

Joystick U.png

Jack axe: pointe = en série avec une résistance puis connecté au plus. milieu = la valeur est fonction de la position base = masse

L’axe X est branché sur l’entrée A0. L’axe Y est branché sur l’entrée A1. Joystick montage3.png
Le boitier du joystick est modélisé en 3D, voici un exemple de boitier possible : File:box_joystick.zip

Le déplacement du joystick est découpé en trois zones. Dans la zone du milieu même si les valeurs mesurées du joystick change dans une certaine limite, la souris elle ne se déplace pas. Dans les zones de chaque cotés, la position de la souris évolue (ex:512+100>1..5).


3D

JimStick Complet.jpeg

Les fichiers 3D sont disponible ici :

Boite pour la carte électronique

Couvercle pour la boite

Boite pour les boutons : File:JimStick Bouton.stl

Boite pour le joystick : File:JimStick Joystick.stl

Enjoliveur pour l'USB : File:Enjol 2 USB JimStick.stl Boite pour la carte électronique

Microcontrôleur

La boîte contient un microcontrôleur permettant de simuler une souris ainsi qu’un buzzer, elle est relié à l’ordinateur via un câble USB.


Ces deux éléments sont connecté via 6 (4+2) connecteurs (jack 3,5 mm, 3 fils) à une carte (Arduino micro) qui est elle même connecté via un câble USB type A mâle à un port USB de l’ordinateur.

Cas d’utilisation :

  • un appui sur le bouton gauche en mode clic génère un clic gauche souris, voir plus loin dans le mode appuyer
  • un appui sur le bouton droit, idem précédemment mais pour la version droite.
  • un appui sur le bouton molette, bascule du mode déplacement souris en mode molette.
  • un appui sur le bouton appuyer, active le mode appuyé/relâché

un premier appui sur le bouton génère le début d’un clic long, Un second appui sur le même bouton génère le relâchement du clic (équivalent).


Fonction Couleur Entrée Sortie
Bouton Gauche Bleu D5 D8
Bouton Droit Rouge D4 D10
Molette Vert D3 D11
Appuyer Blanc D2 D12
Piedzo D9
Axe X A0
Axe Y A1

Le boitier du microcontrôleur est découpé à la laser, voici un exemple de boitier possible : File:box_arduino.zip.

Programme

Le dernier programme utilisé pour le JimStick est disponible ici : File:Ms_pc_e.zip Ce programme requiert l'installation de la librairie ezbutton

Boite V2

Version 5-12-2023.png


RedimmJimStickV2.jpg


Redimm2JimStickV2.jpg.jpg


Redimm3JimStickV2.jpg.jpg


Redimm4JimStickV2.jpg.jpg


Redimm5JimStickV2.jpg.jpg