Nous revoici pour la suite de notre étude sur le MiniGameCenter :
J'ai nommé celle-ci de cette manière pour évoquer une salle d'arcade, réunissant donc plusieurs bornes… sinon j'aurais plutôt dit « MiniBorne »…
L'important au final c'est qu'on puisse donc interagir avec plusieurs machines sans que cela ne devienne compliqué, ni que ça ressemble à une usine à gaz.
Et c'est pour cette raison que j'écris ceci… Je me suis rendu compte que mon idée de départ, à savoir comme on l'a vu lors du billet N°3, piloter chaque borne par ses GPIO se révélerait assez inadaptée, nous allons voir pourquoi.
C'est impec pour une seule borne, mais pour plusieurs on se retrouverait alors avec un tas de boutons poussoirs de partout.
- J'ai alors pensé à les mutualiser, c'est à dire relier ensembles les GPIO respectifs de chaque Rpi et d'utiliser la masse comme sélecteur de Rpi. En effet si on débranche la masse, de tous les Rpi sauf un seul, alors on pilotera seulement celui-ci avec les boutons. Pour cela j'aurais utilisé des CD4066B (quad bilateral switch), piloté avec un Arduino, et quelques boutons supplémentaire pour choisir à quel Rpi on se serait adressé. Je n'ai dessiné que pour deux Rpi, mais on peut en rajouter presque autant qu'on veut (la limite venant du nombre d'in/out de l'arduino):
- Et puis… bon, au final c'est plus un hack qu'une solution académique, alors je me serais orienté vers une solution à base de 74LS573 (Octal D-Type Latch with 3-STATE Outputs).
Et puis en dessinant tout ça, de vite me rendre compte que Ok, j'ai un nombre minimum de boutons poussoir, mais il va y avoir un gros tas de câbles à passer dans le faux plancher du MiniGameCenter, et des boutons à mettre quelque part, et qu'en plus de ça, si on le place en vitrine, bah on pilote rien sans avoir à l'ouvrir pour actionner les boutons… Cerise sur le gâteau, faut en plus se taper une nouvelle carte électronique à réaliser, voire à revoir le Pi-Hat pour y intégrer les 74LS573.
- Alors pour le pilotage à travers la vitrine, j'ai expérimenté très facilement d'utiliser un capteur infrarouge sur l'Arduino et une télécommande de récup.
Ça fonctionne très bien, et j'aurais conservé l'idée à base de 74LS573 + boutons + Arduino + capteur IR, mais non, tout ce câblage et une PCB à faire… La flemme, il me fallait continuer à expérimenter d'autres solutions, et puis j'ai repensé au fait que le Rpi Zero W embarquait un module Bluetooth…