Différences entre versions de « Projets:JimStick »
Ligne 102 : | Ligne 102 : | ||
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. | ||
+ | |||
+ | 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.512+100>1..5) | ||
+ | @fr mettre 5 en max et escalier) | ||
==Journal de bord== | ==Journal de bord== |
Version du 28 avril 2022 à 18:03
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.
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.
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.512+100>1..5)
@fr mettre 5 en max et escalier)