まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - Manette-Joypad-Joystick

Fil des billets - Fil des commentaires

jeudi, 3 novembre 2022

IR Light Gun avec Arduino

Certains jeux vidéos d'arcade sont jouables uniquement avec certains accessoires.
Un volant et des pédales, un tapis de danse, des boutons à frapper, etc, tout ce qui fait le charme des bornes dédiées.
Parmi elles, il y a les jeux de flingues qui sont particulièrement amusants, mais les évolutions technologiques ont rendu les pistolets optiques obsolètes, car inopérant par la disparition du téléviseur à tube cathodique.

De plus, aucun émulateur n'est capable de faire fonctionner un pistolet optique, et ce même si on utilise une télé à tube.
En fait les émulateurs simulent le déplacement du réticule de visée soit par les mouvements de la souris, soit par les mouvements d'un joystick analogique. (mame permet les deux)

Pour résumer, la problématique :
- Dans le cas des jeux originaux, sur console ou arcade, le pistolet optique ne fonctionne pas sur une télé LCD.
- Dans le cas des jeux émulés, console ou arcade, le pistolet optique n'est pas supporté par l'émulateur.

Les solutions disponibles :
- Dans le cas des jeux originaux, certains jeux d'arcade utilisent les coordonnées X,Y d'un potentiomètre analogique pour déplacer le réticule de visée.
- Dans le cas des jeux émulés, on peut utiliser la souris ou un joystick analogique pour déplacer le réticule de visée.

  • Par le passé (oui il y a quasi 10 ans…) j’avais expérimenté ici ce pistolet infra-rouge G2N pour un appareil fonctionnel qu’il restait à finaliser, chose que je n’ai pas pris le temps de faire, emporté par d’autres sujets… (j’ai supprimé la série de billets pour plus de clarté)
  • Depuis, une nouvelle version plus simple à mettre en œuvre a fait son apparition, et après avoir réalisé rapidement un module de test fonctionnel, je me suis rendu compte qu’il me faudrait adapter le code et le hardware à mes besoins.

Je vais donc décrire ici toute la documentation utile à la réalisation de ce pistolet Infra-Rouge maison.


Schéma de principe :


Un simple Arduino Pro Micro 5V constitue le cœur du système de traitement de la donnée.
Il est chargé via le bus I²C, de récupérer les informations de positionnement en X et Y d'une caméra infra-rouge disposée dans le pistolet, par rapport à deux références infra-Rouge accrochées au dessus de l'écran.
L’Arduino fait ensuite l'interface avec l’ordinateur de jeux en transposant tout ceci en « HID Device », Joystick et Souris USB (oui, simultanément), afin de déplacer le réticule des jeux de tir.

Dans le pistolet nous retrouvons donc une caméra IR volée dans une Wiimote, à laquelle nous avons joint quelques composants essentiels.
Tout d’abord un LM317 et ses satellites permettant de fabriquer le 3,3V nécessaire au bon fonctionnement de la caméra, à partir du 5V fournit par le port USB.
Un crystal à 24 ou 25 Mhz, un circuit de reset et une conversion de niveaux logiques 3,3V <-> 5V, afin que l’Arduino puisse bien s’entendre avec la caméra sur le bus I²C.
Reste à déporter aussi quelques entrées de l’Arduino pour y raccorder des boutons faisant offices de gâchette et autre choses utiles.
Je pense qu'on pourrait se passer des conversions de tension et de niveaux logiques en 3,3V en utilisant directement un Arduino Pro Micro 3,3V, mais le fait est que je n'en disposais pas lors de la réalisation de ce sujet… À essayer à l'occasion.

Gun PCB :

On doit pouvoir se débrouiller facilement avec l’électronique disponible sous forme de modules (Arduino, Logic level converter…) et une carte perforée à souder pour fabriquer une plaquette sur mesure pour aller dans le flingue.

  • Pour autant on pourrait aussi avoir envie de router une plaquette soit-même, aussi j’ai entrepris de dessiner ce schéma que d’aucun préféreront sans doute au crobar Fritzing précédent.

Lire la suite...

samedi, 28 mai 2022

Sound Voltex -7- [Fin]

Suite de la bidouille précédente :

Pour aller plus loin en réalisme et en fonctionnalités, on va voir ici comment intégrer un lecteur RFID et un pavé numérique permettant de s'authentifier en tant que joueur·euse, afin de charger son profil, accéder à la sauvegarde des scores et autres joyeusetés !


L'Arduino va donc communiquer avec les deux modules en I²C via les broches SDA et SCL, c'est plutôt très pratique ce protocole de communication !

  • Attention cependant, autant y'a pas de soucis avec le PN532 qui fonctionne en 5V, autant il faut bien faire attention avec le MPR121 qui lui fonctionne en 3,3V.

Donc on ne l'alimente pas en 5V par erreur, mais avec le 3,3V issu par exemple d'un LM317 ou autre, et on lui parle correctement en niveaux logiques compatibles, d'où l'utilisation du convertisseur, chargé de la transformation 5V <-> 3,3V.
L'Arduino va alors proposer la lecture de badges NFC, et via son port USB, un HID device sous forme d'un clavier, limité au pavé numérique.

Câblage :

  • J'ai soudé ce montage sur une petite plaquette à trous. Pour gagner de la place le convertisseur de niveau est planqué sous l'Arduino.


Rien de compliqué, ça doit bien se passer si on est rigoureux, c'est juste long à faire ces machins-là.

Lire la suite...

dimanche, 22 mai 2022

Sound Voltex -6-

Suite de la bidouille précédente :

C'est presque terminé !
Tout est en place et utilisable, mais on va voir comment améliorer encore l'aspect et la jouabilité.


Changement des Leds :

Les boutons viennent par défaut avec des Leds blanches, et c'est un peu tristoune.
Pour s'approcher du schéma de couleur du jeu d'arcade, je me suis procuré des lots de leds afin de faire quelque essais.

- Quelques leds 5 mm « super bright » de différentes couleurs : moins de 2€ le lot de 50

  • Grâce au feuillet de caractéristiques fournies par le vendeur, j'ai pu calculer la valeur des résistances au plus juste, et câbler les couleurs sur une plaquette labo :


110Ω pour les leds en 2.2V et 160Ω pour les 3,2V.

  • Les boutons disposent d'un bloc enfichable constitué du microswitch et du support de led. Il est alors vraiment facile d'y remplacer la led, en ayant pris soins souder la résistance, puis d'entortiller ses pattes sur le support avant de l'insérer en place.


  • Ensuite place aux essais, qui ont consistés à disposer des jeux de couleurs côte à côte pour déterminer lesquelles allaient le mieux ensemble…

Selon mon bon goût, bien évidemment.




Lire la suite...

jeudi, 19 mai 2022

Sound Voltex -5-

Suite de la bidouille précédente :

Nous avons maintenant tous les éléments constitutifs de l'appareil sous la main, nous allons les passer en revue avant de les intégrer au caisson afin de procéder au montage de ce « TV Game/Contrôleur SDVX ».


Le panel :

  • Avant et après avoir retiré les films de protections sur le plexi et les boutons.



Sonorisation :

  • Le potentiomètre de volume de l'ampli a été dessoudé de la plaquette pour être déporté sur 3 fils afin de pouvoir le fixer sur la façade métallique.

  • Une alimentation 12V est vissée sur son bornier, et une prise Jack d'alim en parallèle servira à alimenter les ventilateurs.

Comme je disais la fois dernière, ce sont les mêmes HP utilisés que sur le Bartop, et les mêmes grilles, imprimées en noir.

  • Le système d'anneau permet ici de coincer un bas-culotte (la partie culotte est plus épaisse, c'est mieux) afin de s'affranchir de la poussière.



La façade :

  • On retrouve ici toutes les connectiques informatiques permettant de déporter les prises de l'ordi sur la caisse de l'appareil. Le trou restant étant destiné au potentiomètre de l'ampli audio.


On remarque également le câble USB blanc qui traverse la plaque. Il servira au panel de jeu, soit à être connecté à l'ordi interne (mode TV Game), soit en tirant sur la longueur du câble, à le connecter sur un ordi externe (mode contrôleur).

Lire la suite...

- page 1 de 8