RetroPie Arcade V4.0

Avec toutes les arcades RetroPie/Raspberry Pi développées, j'ai décidé de m'essayer à celle d'un Raspberry Pi 3 - mais je voulais que la mienne soit un peu différente. Je n'ai jamais trouvé utile d'exposer les ports du Pi pour brancher un câble d'alimentation/vidéo/USB, j'ai donc utilisé des ports intermédiaires. J'ai également délaissé l'écran, car le système est conçu pour se connecter à un téléviseur/moniteur et ma maison n'est pas assez grande, même pour une machine d'arcade deux fois plus petite que la normale. Un excitateur audio interne est inclus avec un commutateur permettant de passer du port HDMI à la sortie audio interne/écouteurs, et un potentiomètre pour contrôler le volume de l'excitateur. Comme il existe de nombreux projets en ligne qui décrivent la configuration du système d'exploitation et des boutons, je vais simplement vous expliquer ce que j'ai fait différemment.

Une carte de microcontrôleur Teensy LC de SparkFun commande le circuit de puissance. Lorsqu'on appuie sur le bouton d'alimentation, la carte Teensy LC qui surveille l'alimentation active le relais de commande de puissance du Raspberry Pi pour l'allumer. Le Raspberry Pi envoie ensuite un signal élevé au microcontrôleur pour lui indiquer qu'il est actif et la carte Teensy allume les LED des boutons et du levier. En appuyant à nouveau sur le bouton d'alimentation pour éteindre le Pi, la carte Teensy envoie un signal au Pi pour lancer le processus d'arrêt. Après l'arrêt complet du système d'exploitation, la carte Teensy désactive le relais pour totalement arrêter le Pi et éteindre les voyants lumineux. La carte Teensy est alimentée lorsque la machine est branchée, mais la consommation de courant est minimale, donc je ne m'en fais pas trop pour ça. Il y a aussi une petite LED rouge sur le couvercle du boîtier pour indiquer que le système est branché.

À l'arrière du boîtier se trouvent le commutateur du potentiomètre pour l'audio, un jack d'écouteurs/haut-parleur externe, un connecteur cylindrique pour l'alimentation, un logement pour carte microSD, une connexion HDMI et deux ports USB. L'un des ports USB passe par le port USB du Raspberry Pi, ce qui me permet de connecter un lecteur Flash, des manettes supplémentaires, etc. L'autre port USB se connecte à la carte Teensy, ce qui me permet de la reprogrammer si je souhaite modifier l'éclairage sans avoir à ouvrir le boîtier. Deux fentes latérales laissent passer l'air et donnent un aspect assez sympa lorsque les lumières sont allumées. Le logement de carte microSD externe est relié au Pi via un câble d'extension de carte microSD.

Les étiquettes autocollantes au niveau des ports ont été créées à l'aide d'une machine Cricut. Les anciennes versions du boîtier avaient des dessins de jeux sur le couvercle et les côtés, mais je préfère cette nouvelle version avec son aspect noir monochrome et ses boutons luminescents.

Les boutons sont des boutons d'arcade transparents d'Adafruit. Je les trouvais un peu trop mous, alors j'ai ajouté un ressort à chacun d'entre eux, ce qui leur confère un côté plus ferme. Comme les boutons étaient transparents, j'ai ajouté une bande de 6 NeoPixels autour de chaque bouton pour ajouter des effets lumineux. Étant donné que les LED sont individuellement adressables et RVB, je peux créer de nombreux effets lumineux pour chacun des boutons, y compris plusieurs couleurs pour un seul bouton. Pour l'instant, les boutons s'allument en fonction du système émulé : seuls deux boutons s'allument pour NES, les six boutons s'allument pour SNES (de la même couleur que la manette d'origine), un bouton s'allume pour Daphne, etc. Pour cela, il a fallu écrire un petit script python permettant la lecture du système actif et la transmission des données à la carte Teensy à l'aide d'une interface 1 bit à 3 canaux (que j'ai appelée « DragonSpeech », pas mal, non ?). Le joystick s'allume également, grâce à un mini NeoPixel à l'intérieur du levier creux et de la boule, trouvé sur www.paradisearcadeshop.com. Il y a aussi des effets lumineux aléatoires lorsque le système est allumé, mais qu'aucun jeu n'est en cours.

Les boutons sont adaptés aux jeux d'arcade, mais j'ai aussi une manette PlayStation 3 connectée via Bluetooth et une manette de jeu USB pour les jeux de console. Une petite clé branchée au Pi me permet d'utiliser un clavier et une souris sans fil. Je peux ainsi jouer à des jeux DOS et travailler sur le terminal sans avoir à ouvrir le boîtier ni à utiliser le port USB externe. Le port USB est vraiment pratique pour brancher un lecteur Flash et transférer des fichiers, ou pour brancher une autre manette USB.

J'ai utilisé un câble plat et des connecteurs rectangulaires pour pouvoir faire tous les branchements au niveau du couvercle, pour faciliter le retrait. Il est beaucoup plus facile de faire des modifications et des réparations avec le couvercle détaché. Le levier de l'arcade et tous les boutons externes ont été directement configurés via les GPIO du Pi, grâce au super tutoriel Pocket PiGRRL d'Adafruit. D'autres fils relient les boutons à la carte Teensy, qui les surveille, crée des interruptions et les fait clignoter en blanc lorsqu'on appuie dessus.

Voici le boîtier sans couvercle. On n'y voit pas très clair avec tous ces fils, mais c'est difficile de faire autrement avec le peu d'espace disponible. Je finirai bien par arranger tout ça un jour ou l'autre. ☺

De nombreux éléments de cette conception sont de trop et il existe des machines de jeu RetroPie beaucoup moins chères à concevoir, mais c'était surtout une expérience d'apprentissage. J'ai eu beaucoup de plaisir à ajouter des composants et à chercher comment tout faire fonctionner.

À propos de l'auteur

Image of Jerry Sturre

Jerry Sturre, Superviseur - Ingénierie des applications chez DigiKey, travaille avec son équipe pour aider les clients à trouver de meilleures façons d'utiliser les nouvelles technologies et les nouveaux composants pour mener à bien leurs projets. Il a rejoint DigiKey en 2001, puis le service d'ingénierie des applications en 2014. Jerry est diplômé en sciences appliquées (technologies électroniques) du Northland Community and Technical College. Bricoleur et joueur passionné, il passe une grande partie de son temps libre avec un fer à souder ou une manette de jeu dans les mains.

More posts by Jerry Sturre
 TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum