まこと の ブログ

MaKoTo no burogu — Journal de bord…

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

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...

mardi, 1 novembre 2022

Inktober 2022, semaine 4/4

Suite de la série :
On termine cette semaine avec les thèmes suivants :

  • Jour 25 : tentation, Une caravane, qui fait des frites… Tentant non ?
  • Jour 26 : égo, Mon avatar par Pierolalune, avec quelques modifications.



  • Jour 27 : goûter/collation, Le goûter type de mon enfance, tartines beurrées avec carrés de chocolat passées au four.
  • Jour 28 : camping, Moui, bof quoi…



  • Jour 29 : Oh-Oh/oups !, Ce bon vieux Coyote en mauvaise posture.
  • Jour 30 : équipement/engrenage, Nautilus gears. Et ça fonctionne réellement !



  • Jour 31 : ferme, P-Chan, alias Ryouga après l'eau froide. À défaut de mieux, ce dernier thème ne m'inspirant rien de très original.

  • Bilan de fin d'événement.

- J'ai confirmé que je n'aime pas faire les décors, je préfère largement dessiner des personnages. Les méchas, ça dépend, j'ai un peu de mal avec quand même. Je comprend mieux pourquoi je suis plus admiratifs devant des décors et véhicules bien représentés que face à des personnages qui bien qu'impressionnant ont moins de secret pour moi.
C'est ainsi que certaines thématiques m'ont mises en difficulté, du moins par rapport aux idées qu'elles m'ont suscité et dont je n'avais pas le bagage technique qui m'aurait permis de dessiner quelque chose d'intéressant à mon goût.
- J'ai tenté autant que possible l'originalité, il y a des choses qui fonctionnent très bien et dont je suis bien content, si on met de côté la réalisation qui laisse parfois à désirer. En jouant avec les mots j'ai pu compter parmi celleux qui ont su se démarquer des autres, qui avaient tendances à tous dessiner les mêmes choses.
- D'un point de vue global, Inktober est une expérience intéressante. Motivé au début, pressé de rentrer pour dessiner, anticiper, se documenter, préparer, programmer un post sur twitter. Buter sur les premiers thèmes compliqués, y passer beaucoup de temps, trouver des solutions en dehors de sa zone de confort, avancer… À mi-chemin, fatiguer, perdre son avance, travailler la veille pour le lendemain, ça va. Voir la fin arriver, se mettre à décompter les jours, les thèmes bloquants n'aidant pas, travailler pour le jour même, poster deux heures avant la limite. Le dernier jour, thème bloqué plus changement d'heure, énergie à zero, procrastination/sieste, et dernier élan pour le principe juste avant l'heure limite.
- Techniquement j'ai pu expérimenter les ombrages avec lesquels je n'étais pas familier, en utilisant des dégradés de gris, soit au crayon gras (3H, 4H, et même HB) estompé au doigt, soit au feutre à l'alcool (qui s'est usé au dessin 20, obligé de le terminer sur gimp, et de passer définitivement au crayon pour les autres… flemme d'aller au magasin). Avoir un stylo gel blanc c'est aussi très bien pour corriger des erreurs où effectuer des effets sur des aplats noir. La plume bic réversible à montré ses limites, il faudra que j'en essaye d'autres.

mardi, 25 octobre 2022

Inktober 2022, semaine 3/4

Suite de la série : :
On continue cette semaine avec les thèmes suivants :

  • Jour 17 : salé/irrité, Une tentative semi-réaliste en larmes.
  • Jour 18 : rayer/gratter, Un médiator, outil de grattage de cordes de guitare.



  • Jour 19 : queue de cheval, J’ai voulu dessiner la caricature de Dorothée par Cabu, et puis finalement j’ai changé pour un Trunks
  • Jour 20 : bluffer, Alors là, faut avoir la réf, de la réf, de la réf pour bien en profiter. Bluffer, par ex l'activité du magicien -> le célèbre Mandrake (le vrai où le héros de BD que j'ai failli dessiner…) -> Linux Mandrake -> Tux en Mandrake



  • Jour 21 : chien méchant, Le fameux Killer de Tom & Jerry. (nommé aussi Spike ou Butch)
  • Jour 22 : vol/cambriolage, Un des frères Rapetou (me demandez pas lequel !).



  • Jour 23 : crotte de nez, Concours tir à la boulette ?
  • Jour 24 : fée, Mixage d’un corps aléatoire trouvé sur le net, avec la tête de Gally.



Avec ces deux derniers dessins, j’ai complètement perdu le rythme de parution, et suis contraint de dessiner à la dernière minute plutôt qu’avec un jour d’avance. J’essaye de combler mon retard afin de retrouver un peu plus de confort…


À Suivre…

mardi, 18 octobre 2022

Inktober 2022, semaine 2/4

Suite de la série : :
On continue cette semaine avec les thèmes suivants :

  • Jour 9 : nid, C’est moche, j’avais une idée, mais pas les moyens de la réaliser… Dessiner un décors c’est pas ma came t’as vu…
  • Jour 10 : grincheux, Les petits ont faim ! En lien avec le thème précédent… Idem, pas les moyens de mon ambition.



  • Jour 11 : aigle, C’est un peu mieux, et on arrive à l’aboutissement du lien que j’ai trouvé amusant de faire entre ces 4 thèmes.
  • Jour 12 : oublier, Il s’agit de la mécanique d’un disque dur dont on a retiré le capot.



  • Jour 13 : kind, J’ai gardé le thème en anglais pour faire référence à la bande originale d’Highlander de Queen.
  • Jour 14 : vide, Je n’ai pas eu le cran de rendre une page blanche ! La terre est sèche, y’a plus d’eau. d’une effrayante actualité…



  • Jour 15 : tatou, Cédant à la facilité, référence à l’ancien logo d’infogrames.
  • Jour 16 : volaille, Une simple girouette.



Certains thèmes ne m’inspirent pas toujours, et je commence à fatiguer. Je n’ai toujours pas d’idées pour la moitié des dessins restant à venir… Le peu d’avance que j’avais pu anticiper au départ est désormais réduit à 24h, dessinant la veille pour le lendemain.


À Suivre…

- page 1 de 166