まこと の ブログ

MaKoTo no burogu — Journal de bord…

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

G2N, un pistolet pour jeux vidéos -1-

Attention : Le cœur de ce système électronique n'est pas libre, il nécessite l'achat d'un microcontrôleur auprès de l'auteur du G2N.

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 amusant, 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 fait 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.

Les solutions disponibles n'étant en l'état pas intéressantes, il restait à trouver comment les exploiter de manière à pouvoir les utiliser avec un pistolet, ce qu'Aganyte, membre du forum Gameoover s'est attelé à réaliser avec son pistolet infra-rouge ''G2N'' :
g2n02.png

Le montage est constitué de deux cartes électroniques.
Une main board contenant un micro-contrôleur PIC, qui permet de récupérer via le bus I2C, les informations de positionnement en X et Y d'une caméra Infra-rouge disposée sur la pistol board, par rapport à deux références disposées prés de l'écran.
La main board fait ensuite l'interface pour retranscrire et envoyer ces signaux sous la forme de valeurs ohmique comprise entre 0 et 10kOhm, compatible avec les entrées du système Arcade Naomi, afin de déplacer le réticule des jeux de tir.
Suite au succès populaire reçu par le projet, le montage et le firmware de la main board ont été adapté pour être compatible avec les entrées d'un joystick analogique USB, rendant alors le G2N compatible avec un PC.

Je vais détailler ici l'avancée de mes travaux sur le G2N, d'abord en réalisant un prototype de test afin de valider les modifications apportées au schéma d'origine, puis je verrais pour développer une carte fille remplaçant avantageusement le hack-pad USB.




Le prototype :

Schémas et nomenclatures :

Les schémas structurels sont dessinés avec Kicad; le projet complet lorsque la CAO est disponible en annexe de ce billet !

  • Main Board

G2N-MainBoard-Makoto-V1.02.png

Par rapport au G2N original, j'ai modifié les valeurs de C1 et C2, et le modèle de Q1.
Il manque sur ce schéma des condensateurs MKT de découplage de 100nF associés à IC1, IC2 et IC3.

Liste des composants:

Nom                 Type et valeur
R1                  Résistance  100kΩ
R2, R3, R4, R5      Résistances  10kΩ
RV1, RV2, RV3       Potentiomètres  10kΩ         
C1, C2              Condensateurs céramiques 22pF
C3, C4              Condensateurs électrochimiques polarisés 220µF 10V
IC1                 Microcontrôleur  PIC16F876A
IC2, IC3            Potentiomètres numériques  MCP41010
Q1                  Transistor  BC547
X1                  Quartz  24MHz
Écran LCD           HD44780
JP1, JP2, JP3, SW2  Interrupteurs inverseurs
SW1                 Interrupteur momentané
K2, K3              Borniers doubles

Attention :
Ni le code source, ni le binaire pour programmer le µC PIC16F876A ne sont fournit par son auteur !
Il faut donc acheter celui-ci déjà programmé auprès d'Aganyte, par le biais d'un message privé sur ce forum ou par e-mail.

  • Pistol Board

G2N_PistolBoard_Makoto-V1.02.png

Par rapport au G2N original, j'ai modifié les valeurs de C3 et R3.
Changé le modèle de XTAL1.
Supprimé la bidouille à base de diode censée fabriquer le 3,3V (mesuré 4V en charge !) à partir du 5V, pour la remplacer par un circuit de régulation à base de LM317.

Liste des composants:

Nom        Type et valeur
R1, R2     Résistances  2,2kΩ
R3         Résistance  220Ω
R4         Résistance  240Ω
R5         Résistance  300Ω
R6         Résistance  100Ω
C1         Condensateur électrochimique polarisé 0,1µF 10V
C2         Condensateur électrochimique polarisé 1µF 10V
C3         Condensateur électrochimique polarisé 10µF 10V
U1         Régulateur LM317T
XTAL1      Oscillateur HCMOS/TTL  25MHz 3V
SW1, SW2   Interrupteurs momentanés
K2, K3     Borniers doubles
K1         Camera Pixart Infra-Rouge, à récupérer dans une Wiimote
  • Description brève du fonctionnement :

Le programme du µC PIC étant un logiciel privateur, je ne peux pas en décrire le fonctionnement.
RV2 sert à régler la luminosité de l'écran LCD.
JP1 pour entrer dans les menus de réglages du µC.
RV3 et RV2 pour modifier les valeurs lors des réglages du µC.
SW1 pour ré-initialiser le µC.
JP3 sert à opter pour le mode PC ou le mode NAOMI.
JP2 permet de visualiser les valeurs émises par la caméra IR, sur l'écran LCD.
IC1 et IC2 permettent de transcrire les valeurs émises par la caméra IR en valeur ohmique compréhensibles pour le joystick USB.
SW2 sera utilisé pour activer le mode Reload.



Mise en œuvre :

Après avoir effectué le routage, j'ai gravé ces deux circuits, ça se passe sur ce billet !

  • Main Board

G2N-MainBoard-Makoto-PCB.png
G2N-MainBoard-Makoto-implantation.png G2N-MainBoard-Makoto-soudures.png

Les composants de la « main board ».
dsc09368.jpg dsc09367.jpg

Il y a deux staps à mettre, ici les fils bleu :
et un autre depuis le strap sur la pin 19 de IC1 :
dsc09371.jpg dsc09376.jpg

Tous les composants sont en places :
dsc09381.jpg dsc09380.jpg

Reste l'écran à relier avec des nappes et placer les circuits intégrés sur leurs supports respectifs :
dsc09386.jpg dsc09384.jpg dsc09385.jpg dsc09388.jpg

L'écran est fixé avec des boulons de 2 mm de diamètre et des entretoises découpées dans un tube plastique récupéré sur une bombe aérosol (air sec) :
dsc09383.jpg

Voilà !
dsc09389.jpg dsc09395.jpg dsc09390.jpg dsc09391.jpg dsc09394.jpg dsc09392.jpg

  • Pistol Board

La carte est perfectible et je vois déjà les modifs à faire, notamment sur l'empreinte du bouton gachette qui s'est avérée trop large pour le composant.
G2N-PistolBoard-Makoto-PCB.png
G2N-PistolBoard-Makoto-implantation.png G2N-PistolBoard-Makoto-soudures.png

Les cartes découpées et percées !
On remarque la couleur verte étrange qu'on prise les plaques… c'est que l'époxy que j'avais sous la main était du très fin, je l'ai donc collé sur des chutes d'époxy épais qui était vert, et on voit les traces de colle au travers.
Les composants de la « pistol board » près pour la soudure.
dsc09347.jpg dsc09355.jpg

On commence par les composants les plus fins, puis par ordre d'épaisseur.
On coupe les pattes au fur et à mesure pour ne pas être gêné dans le travail de soudure.
dsc09358.jpg dsc09361.jpg

La carte est terminée, j'y ai soudé les fils du bouton start, repris sur le circuit d'origine du gun.
dsc09366.jpg dsc09365.jpg

À suivre

Commentaires

1. Le samedi, 16 novembre 2013, 10:52 par ManuD

Bonjour

je reste admiratif , la carte est belle ( peut on dire ça d'une carte ? )
le post aussi ( peut on dire ça d'un post ? )

j’acquiesce : l'arrivée du flingue méritait tant d'effort.
beau boulot !

2. Le dimanche, 17 novembre 2013, 22:22 par MaKoTo

Oui on peut dire ça ^^ Merci !
La suite sous peu j'espère, le temps que je mette toutes mes notes qui se sont accumulées au clair.

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet