Projets:JimStick

De wikilab

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 :

   • une boîte contenant quatre boutons,
   • un joystick,
   • une boîte contenant un microcontrôleur.

Cahier des charges

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.

Schema.png

Analyse de l'existant

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

[[1]]

Equipe (Porteur de projet et contributeurs)

  • Porteurs du projet : Amaury
  • Concepteurs/contributeurs : David Z
  • Fabmanager référent : Yohann

Matériel nécessaire

Outils nécessaires

Coût

Délai estimé

Fichiers source

Etapes de fabrication pas à pas

boîte de 4 boutons

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

Ils sont é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. Jack bouton: pointe = le + de la diode (anode) milieu = un contact sec en normalement ouvert base = la masse


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

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.

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); }


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


boîte micro

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.

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 appui sur l’un de ces deux boutons 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.

Journal de bord