9 Aug 2017, 12:34

@valentin-le-palud said in Besoin d'ade pour un projet de retrogamepad avec joystick analogique:

@fardenco Merci pour t'es réponse c'est vraiment cool 😉

Pour les boutons n'importe lequel fera l'affaire, nous on veut simplement des contacts donc tu n'as que 2 broches à connecter.
Une à la masse et l'autre à l'entrée du contrôleur (que ça soit un rasp directement ou bien l'Arduino si tu veux bel et bien des sticks analogiques)

Donc 2 broches que je veut, au piff ? et quand tu dit a la "masse" que veut tu dire pas la ?

Donc du coup le plus simple est d'utiliser le Xin-Mo analog controller ? sauf que si j'ai bien compris je peut mettre seulement 1 stick c'est bien ça ?

Ce qu'on appelle la masse, c'est le potentiel de référence du circuit électrique. Souvent marqué "GND".

Il faut voir les boutons comme de simples contacts. Tu appuies pas, il n'y a pas de contact entre les 2 broches, tu appuies, il y a un contact.
Pour le premier type de bouton que tu nous as montré, il s'agit d'un inverseur :
https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRSwIlN8fVrrkk4a92KP1ioNgqYeSs1ioOTB5eZ9qClc31_H4rM
Comme tu peux voir sur le schéma, tu as 3 broches : COM, L1 et L2. Quand tu n'actionne pas l'inverseur, COM est relié à L1. Quand tu l'actionnes, COM est relié à L2.
Dans ton cas, L1 ne sert à rien.

Pour faire simple, le contrôleur de la manette considère qu'un input est activé quand la broche correspondante est reliée à la masse. Si on veux appuyer sur "X", on va simplement relier la broche associée à "X" à la masse. Pour ça, on utilise un contact : d'un côté du contact on a la masse, de l'autre on a l'entrée du contrôleur.
Si le contact n'est pas actionné (on n'appuie pas sur le bouton), alors l'entrée n'est pas reliée à la masse. Par contre, dès qu'on l'actionne, l'entrée est reliée à la masse, le contrôleur le détecte, et l'input "X" est activé.

Il faut voir tes interrupteurs (quels qu'ils soient) comme ça :
https://i.stack.imgur.com/2QnT6.png

Tout ce que tu as à faire, c'est trouver quel broche correspond à quelle partie de l'interrupteur. Pour les inverseurs du type de ceux que tu nous as montré, en général il y a un schéma sur le plastique. Pour l'autre type de bouton, les pattes opposées sont reliées entre elles :
http://shallowsky.com/arduino/class/buttonlegsdiag.jpg

Apparemment le Xin-Mo analog dispose de 4 entrées analogiques. Un joystick est sur 2 axes donc tu peux avoir 2 joysticks (pour un total de 4 axes).

Le câblage est toujours le même : un fil va de la masse (GND sur le xin-mo) à chacun des interrupteurs, et ensuite chaque interrupteur va à une entrée du xin-mo.
Le schéma sur le site montre pour 3 boutons, c'est pareil pour tous les autres :
http://www.xin-mo.com/

@substring said in Besoin d'ade pour un projet de retrogamepad avec joystick analogique:

@voljega c'est in xinmo 1 joueur, donc pas de soucis particulier à première vue. Le seul sujet sera plutôt sur la valeur du potard à coller sur chaque broche analogique, savoir si c'est standard ou pas. L'autre sujet sera aussi d'etre sûr que le potard renvoie bien des évènements de stick, ce dont je n'ai aucune raison de douter vu ce que fait xinmo

Pour ce qui est de la valeur des potentiomètres, elle n'est pas standard mais elle n'est pas vraiment importante (tant qu'elle n'est pas trop élevée, si non c'est sujet aux interférences).
En général on utilise des potentiomètres de 10k, il me semble que c'est ce qu'on retrouve dans les joysticks de ce type :
http://robot.sumo.free.fr/Images/La fabrique/Joystick.png

Mais encore une fois, ce qui est important ça n'est pas la valeur totale du potentiomètre, car celui-ci ne sert qu'à obtenir une tension variable proportionnelle à la position du curseur. Le contrôleur mesure cette tension, et pas la résistance du potentiomètre.

Pour ce qui est de la compatibilité, je n'ai aucune certitude (à part pour le système avec UnoJoy)
Car même si c'est bien un Xin-Mo 1 joueur, ça reste une carte différente de celle qui est très utilisée (qui elle ne dispose pas d'entrée analogique).