Aller au contenu


Photo
* * * * * 1 note(s)

Joystick USB-ARDUINO


21 réponses à ce sujet

#21 Glomeridae

Glomeridae

    Membre occasionnel

  • Membres
  • Pip
  • 83 messages
  • Gender:Male
  • Location:On t'en pose des question ?

Posté 27 octobre 2015 - 03:39

l'arduino Léonardo peut aussi simuler une souris ou un joystick (j'ai juste testé clavier et souris, ça fonctionne bien).. 
https://www.arduino....e/MouseKeyboard
 
edit : pour le joystick je me suis un peu avancé, ils ont utilisé les fonctions clavier et souris pour faire une sorte de joystick.
https://www.arduino....ickMouseControl
 
re-edit : par contre si tu retiens cette solution pense a prévoir un bouton pour désactiver les fonctions clavier et souris, sinan ça peut poser des soucis en cas d'erreurs de programmation. (si ton arduino envoie des caracteres sans fin en emulation de clavier, il sera difficile de le reprogrammer : http://www.robot-maker.com/forum/topic/8589-processing-keyevent/?p=64663 )


Merci pour ta réponse :)

Je vais potasser cela

#22 sky99

sky99

    Habitué

  • Membres
  • PipPip
  • 271 messages
  • Gender:Male

Posté 09 novembre 2015 - 02:00

Bonsoir,

je me suis intéréssé à ça, également pour faire des commandes de simu de vol ou autre.

Je confirme ce que dit un autre forumeur, c'est plus simple avec un léonardo.

Je peux te conseiller les lonardo pro mini ou pro micro chez les chinois (aliexpress ou autres),

qui sont pas chers (genre 2€/pièce), du coup tu peux en prendre plein pour faire des modules

indépendants. Par exemple, une boite avec plein de boutons pour gérer les freins de stationnement,

les lumières, la radio, etc, un autre pour gérer l'axe du manche, un autre pour la manette des gaz, etc.

ça simplifie la gestion du projet, tu fais un module, tu teste, tu l'installes, et ensuite du passes au suivant,

plutôt que d'avoir 50 000 câbles dans une grosse boite, avec en plus de longs cables pour aller partout ou il faut

mettre des boutons.

Avec le léonardo, tu peux faire de l'émulation clavier facilement (c'est juste du code, pas de flashage de firmware requis),

parfait pour tous les boutons. Tu les mappes sur des touches du clavier, celles qui correspondent aux actions que tu veux.

 

Pour les axes analogiques, là il faut faire de l'émulation joystick, tu peux avoir 8 axes par arduino, et 64 boutons.

Je crois qu'avec le léonardo tu n'as toutefois que 6 entrées analogiques, mais bon 6 axes c'est bien hein...

Et si ça suffit pas tu en rajoutes un second.

 

les simu/jeux gèrent généralement bien d'avoir plusieurs joysticks/claviers...

 

Autre truc au passage : regarde les teensy, ils sont TRES utilisés par les gars qui font des contrôleurs home-made;

y'a plein de code déja disponible, et le teensy est considérablement plus puissant qu'un Arduino classique.

Du coup on peut faire plein de choses avec, sans se fatiguer, car encore une fois y'a des librairies bien développées

et documentées, alors que pour le léonardo, la doc sur les interfaces homme-machine est plus rare et absconse.

 

Pour ce qui est des écrans LCD en revanche, je n'ai pas trouvé de solution évidente. En effet, pour afficher par exemple la vitesse

air d'un avion sur un LCD, il faut extraire l'info du jeu. Or, je ne crois pas que ce soit par défaut dans les normes de joystick, et

généralement ce sont des trucs spécifiques aux constructeurs qui sont supportés ou nom par le jeu.

 

maintenant, je pense que selon le jeu/simu, il doit y avoir moyen de rajouter un plugin pour extraire les données et les envoyer vers un programme

qui a son tour fait du serie-USB pour sortie sur un écran.

 

petite astuce : tu peux aussi utiliser des LED adressables, genre W2812 pour faire des affichage, par exemple une jauge, ou encore des indicateurs on/off, etc.

Pour la manette des gaz par exemple, en prenant une bande de led adressables RGB, tu peux, en fonction de la position du levier, allumer les N premières LED.

Comme elles sont RGB, le premier tiers peut s'allumer en vert, le second en jaune, le troisième en rouge... et là, que le jeu supporte ou pas, comme le arduino connait la position du potentiomètre de la manette des gaz, il peut afficher l'indicateur.

 

Dans mon projet, j'ai commencé à faire les modèles 3D pour le couplage de l'axe du potard à un levier, j'ai imprimé les pièces, et j'avais prévu de rajouter un servomoteur,

pour faire le retour de force, ou encore le mouvement auto de la manette des gaz par l'autopilote.

Mais bon, ce projet à été relégué en fin de liste, car j'en ai d'autres plus urgents ^^.

 

Mais d'ici quelques mois si j'ai avancé je publierai les fichiers 3D/plans découpe laser avec le code sous licence libre bien sur, si ça t'intéresse toujours.


Mon site principal : http://www.nagashur.com/ (format blog, un wiki y est aussi)

Mon profil sur hackaday.io : https://hackaday.io/sky99 (hackerspace en anglais, j'y ai plein de projets)

Mon Github : https://github.com/sarinkhan/




Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users