mercredi 1 janvier 2014

[Arduino] S'interfacer avec un joystick de manette de console de jeux

 Je vais régulièrement à la pêche aux accessoires auprès de mes amis. Ils ont tous dans leurs placards des tas d'objets électroniques qu'ils n'utilisent plus.
Un d'eux m'a ramené une manette de Playstation 2.


J'ai tout de suite pensé à l'adapter avec la librairie qui permet d'utiliser une manette PS2 sur Arduino.
http://www.billporter.info/2010/06/05/playstation-2-controller-arduino-library-v1-0/
Malheureusement cette manette s'est avérée non compatible.
Ni une ni deux, je la démonte!

On y trouve 2 moteurs vibrants et surtout 2 joysticks.

On va dans ce tuto s'intéresser aux joysticks.

Comment ça marche?

Un joystick est souvent composé de 2 résistances variables X et Y ainsi qu'un bouton central.
Grâce à une carte Arduino, on va pouvoir récupérer la position exact du joystick en X et en Y comme si on récupérait la valeur d'un potentiomètre.
La valeur peut varier de 0 à 1023 et par défaut le joystick est positionné au milieu des 2 axes.

Vérifier qu'il fonctionne

Pour vérifier que le joystick fonctionne, on va le tester à l'aide d'un multimètre. Cette étape va nous aider à identifier les bornes du joystick!
Dans mon cas, j'ai 8 fils sur la broche. Chaque axe comporte 3 fils (rouge, blanc et noir) et le bouton centrale comporte 2 fils (vert). Il se peut que votre joystick n'est pas de bouton central, il n'y aura pas de fils verts...

Bref adaptez!

Les fils de chaque axe X et Y doivent être regroupés. Identifier les 3 fils d'un axe. Prenons à présent le multimètre et positionnez le sur résistance ou ohms, et placez le fil rouge du multimètre sur le fil rouge de l'axe X ou Y du joystick. Ensuite placez le fil noir du multimètre sur un des 2 autres fils du même axe. Si votre bouton est en position central et que vous obtenez environ 10kohms, vous avez identifié le ground (GND) si vous avez une valeur d'environ 5kohms, vous avez identifié la sortie analogique.
Si vous êtes dans le 2ème cas, essayez de bouger le bouton tout en conservant les connexions. Vous devriez voir la valeur du multimètre varier entre 0 et 1023.
Faites de même avec l'autre axe et n'hésitez pas à faire un schéma pour ne pas oublier.

Vous êtes prêt à utiliser le Joystick avec un microcontrôleur type Arduino (cf. article suivant).

Aucun commentaire:

Enregistrer un commentaire