まこと の ブログ

MaKoTo no burogu — Journal de bord…

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

jeudi, 3 novembre 2022

IR « Light » Gun avec Arduino (prototype)

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

lundi, 1 août 2022

jubeat -11- [Fin]

Suite de l'ouvrage précédent :

Nous y voilà enfin ! Ouf… J'ai pas mal procrastiné la retouche photo de la galerie qui va suivre, pour autant que je puisse améliorer le rendu, mon appareil n'est pourtant pas si mal, mais visiblement je ne sais pas bien m'en servir. Photographe, un métier…


Finalisation du meuble :

Avant cela je vous reparle du meuble qui accueille la borne, réalisé dans le billet N°6.
Il était suffisamment stable pour un meuble d'usage général, mais pour soutenir un jeu vidéo qui reçoit de nombreuses pichenettes à la seconde, ce n'était clairement pas suffisant, aussi j'avais entrepris d'utiliser une des étagères dudit meuble pour caler la structure et l'empêcher de brimbaler, avec succès, en attendant de trouver un système plus élégant.

  • J'ai eu beau me torturer l'esprit, je n'ai pas su trouver de solution différente de ce que j'avais entrepris sur la CandyCab à l'époque, à savoir une porte encastrée et ajustée, qui se ferme par frottement.

Et j'ai eu le coup de chance agréable de constater que le restant de contreplaqué de récup, que j'avais pourtant rescemment entamé, était pile poil à la bonne mesure en hauteur !!!
Restait donc à couper la largeur et pouf, voilà :)

  • Pour la fixation j'ai utilisé des charnières spéciales pour le verre, moyennant une petite défonce au ciseau à bois, et j'ai cette fois été plus malin que sur la CandyCab, en ne plaçant pas la charnière tout contre le montant du meuble. Ce qui permet de déporter l'axe de rotation, et donc d'ouvrir la porte sans gêne mécanique, là où sur la CandyCab, j'avais dû arrondir le montant de mes portes sinon il était impossible de les ouvrir…


  • Pour la fermeture, je reste fidèle aux aimants de meuble, c'est vraiment pratique c'est machins :)


  • 60 cm de profondeur, ce n'est pas banal pour un placard !


Mais j'en profite largement, sous le chiffon blanc c'est le TV Game SoundVoltex qui est rangé.

La galerie :

  • Malgré une lumière défavorable et un studio photo qui n'en est pas un, j'ai essayé de faire honneur au travail fournit, sous tous les angles qui m'ont inspirés…




Lire la suite...

samedi, 30 juillet 2022

TempéroClock

dsc03666.jpg

Étant donné que je m'amuse bien avec les capteurs de températures/humidités en ce moment, j'ai eu envie d'en ajouter un dans le salon/salle à manger/atelier/salle de jeu/dortoire à ratoux/chambre d'amis/biliothéque…

  • Et plutôt que d'entreprendre un nouvel afficheur, j'ai préféré utiliser celui que j'avais déjà, l'horloge de salon, elle même dérivée de l'horloge du WebRadioRéveilWifi, donc de conserver la même carte électronique, et simplement la modifier pour ajouter un capteur DHT11.
  • J'ai donc édité le schéma (projet kicad en annexe[1]) afin de documenter les modifications faites à la volée (comprendre charcutage de pistes au cutter, soudage de composants à la sauvage).


Ont donc été supprimé les leds alarmes et le buzzer, car finalement ça ne m'est pas utile, afin de disposer d'une sortie PWM de l'Arduino pour séparer la commande des deux leds constituant le « deux points » scindant heure et minutes.
Je n'ai pas de photos à montrer, j'ai refermé l'appareil là… flemme.

Le programme :

  • Le code est ici ou en annexe du billet[2], corrigé de quelques erreurs de jeunesse, mais je n'ai pas pris le temps de nettoyer le code et de commenter correctement, désolé…

  • Les boutons Alarmes ont donc été remplacées par :

- Un bouton « Temp/Humido » permettant de choisir d'afficher en permanence la température ou bien l'humidité (mise à jours toutes les 2 secondes).
- Un bouton « Caroussel » permettant d'afficher l'heure durant 8 secondes, puis de basculer 2 secondes sur la température, puis 2 secondes sur l'humidité.
- Le bouton « Horloge » permet comme auparavant de mettre à l'heure l'horloge en le combinant aux boutons « heures » ou « minutes », mais aussi de demander d'afficher uniquement l'heure.



- Pour le reste, les leds de l'horloge s'allument lorsque le capteur PIR détecte un mouvement, et ceci pour 3 heures durant, avant de s'éteindre.
- Pendant ce temps la photorésistance se charge d'ajuster l'intensité lumineuse des leds, plus forte s'il capte beaucoup de lumière et moins forte dans le cas contraire.



  • Une petite vidéo :

Notes

[1] À voir ci-dessous… Attention, je n'ai pas mis à jour le PCB, il n'y a que le structurel qui contient les modifications

[2] ci-dessous

dimanche, 17 juillet 2022

jubeat -10-

Suite de l'ouvrage précédent :

Donc la borne est remontée, et côté fonctionnalités on va d'abord améliorer le rendu de la plaque du monnayeur.


Monnayeur :

La plaque imprimée 3D c'était pour tester hein… Car ce n'est ni esthétique ni suffisamment rigide.
On va conserver le boîtier mais refaire la façade, ici avec une plaquette transparente de 4 mm d'épaisseur.

  • J'ai donc dessiné un gabarit de découpe et perçage, puis usiné la plaque sur la perceuse à colonne et à la scie sauteuse, avant de terminer le travail à la lime, y compris pour biseauter les bords à 45°.


Ensuite, pour obtenir le rendu brillant, les bords ont été poncés de manière dégressive (du papier 500 - 800 - 1000 - 1500 à l'eau). Puis polis à la pâte Tamiya (Coarse - fine - finish).

  • Résultat avant (gauche) et après (droite) polissage :



Lire la suite...

- page 3 de 62 -