Borne d’arcade

Genèse

Depuis de nombreuses années, une borne d’arcade est présente dans la cafétéria étudiante de l’école. Elle a cependant fait son temps et il ne reste malheureusement que son squelette et quelques éléments en guise de vestige… Les poignées des joysticks ayant servis de balle de babyfoot, ils sont par exemple portés disparus…

Ancienne borne d’arcade de la cafétéria

Le Club Informatique avait donc pour projet de recréer une nouvelle version, plus jolie et plus performante.

Hors la présence d’une nouvelle CNC (fraiseuse à commande numérique) au sein du Club Robotique a fait naître l’idée de créer un projet inter-club mêlant le Club Robot pour la partie conception et fabrication de la borne et le Club Info pour l’aspect design (peinture), logiciel (retro-pi) et la sélection des jeux. Cela est également l’occasion de rapprocher et renforcer la coopération entre les différents clubs de l’école.

Je me suis donc chargé de l’ensemble du développement mécanique : conception du modèle 3D de la borne et sa fabrication (usinage à la CNC, à la main, assemblage, finissions…). Pour se faire, j’ai été aidé par quelques membres du Club Robot et du Club Info : Daphné, Damien, Vincent, Matthieu, Nathan, Rémi, Mathis, Vincent… Merci à vous pour votre précieuse aide !

Cahier des charges

Cette borne d’arcade a deux principaux objectifs :

  1. Remplacer la précédente version de la borne au sein de la cafétéria étudiante (cela s’inscrit plus largement dans un projet de rénovation de la cafétéria opéré par le bureau des étudiants)
  2. Permettre d’être mobile afin d’être emporté et utilisé lors de divers évènements organisés par les clubs : journées portes ouvertes, barbecue des clubs et principalement lors des LAN jeux vidéos du Club Info (soirée jeux en réseaux organisé jusqu’au bout de la nuit trois fois dans l’année)

Seule la partie haute de la borne est intéressante à avoir lors d’évènements. Elle sera donc constituée de deux parties : un stand fixé à demeure à la cafétéria et la borne dites « bartop » qui peut-être utilisée sur son stand ou simplement posée sur une table.

Côté électronique et informatique embarquée, la borne sera basée sur une Raspberry Pi 4 qui exécutera RétroPi, qui est un émulateur de jeux d’arcade.

Liste des fournitures

Il aura donc fallu acheter pour réaliser cette borne :

  • 1 kit de démarrage Raspberry Pi 4 (2 Go de RAM) : 90 €
    Il a été commandé à l’époque où les prix n’étaient pas encore affolants et où il y avait du stock !
  • 1 kit contrôleur d’arcade deux joueurs (cartes d’acquisition USB, 8 boutons colorés par joueur et 4 boutons menu) : 45 €
  • 1 écran d’ordinateur d’occasion 21.5″ : 20 €
  • 1 lot d’enceintes filaires : 10 €
  • Électronique diverse (ruban LED adressable, capteur de présence PIR…) : 30 €
  • 2 panneaux MDF 250 x 122 cm de 18 mm d’épaisseur : 100 €
  • Tasseaux sapin : 30 €
  • 1 plaque plexi de récupération : 0 €
  • Quincaillerie diverse (équerres, vis, serrure…) : 45 €
  • Peinture et accessoires : 80 € environ

Le budget total de ce projet est donc d’environ 450 €.

Modélisation 3D

La première étape de la conception a été la modélisation 3D de la borne, d’abord sommaire pour définir son allure générale, puis détaillée afin de pouvoir passer à la fabrication. Elle est réalisée sur SolidWorks où chaque pièce unique est modélisée puis ajouté à l’assemblage général.

Vue éclatée de la borne

La borne sur son stand mesure 175 cm de hauteur, 77 cm de largeur et 51 cm de profondeur.

Les différents procédés d’assemblage sont réfléchis lors de cette phase : assemblages par tourillons, vissés, équerres… La plaque du milieu du pied est amovible, afin de permettre un accès aux tasseaux et la fixation du stand au mur. De la même manière, dans un objectif de simplifier la maintenance, une trappe est créée sur le côté gauche de la borne afin de permettre d’accéder simplement à tous les éléments de la borne et en particulier au Raspberry Pi. Via cette trappe, il est également possible d’accéder aux écrous papillons qui assurent la fixation la borne à son support et ainsi permettre sa désolidarisation. Si il y a besoin d’accéder plus simplement à l’intérieur, il est possible de retirer la plaque à l’arrière de la borne lorsque celle-ci n’est pas sur son stand.

Lorsque le modèle est validé, les différents plans de découpe sont édités grâce à l’outil de mise en plan. Pour les pièces découpées à la CNC, les fichiers vectoriels sont exportés afin de pouvoir être ouverts par le logiciel de la machine.

Fabrication

Usinage à la CNC

L’outil le plus important de cette construction est une CNC DIY de type « Mostly Printed CNC » qui a été donné par un de ses membre au Club Robot. Si cela vous intéresse, la documentation de ce modèle de CNC est disponible sur le site suivant : V1 Engineering Documentation.

La plupart des pièces avec des découpes arrondies ou avec des trous (pour les tourillons, boutons, écran…) sont réalisées grâce à la CNC.

Assemblage

Certaines autres pièces plus simple ont été fabriquées à la main. Merci à Nicolas pour le prêt de la scie circulaire, particulièrement pratique pour débiter les grands panneaux de MDF.

Au fur et à mesure de la fabrication des pièces, elles sont assemblées et la borne prend forme.

Afin que tous les éléments soient correctement maintenus en place, des fixations customisées sont modélisées puis imprimées en 3D.

Peinture et design

La peinture et le design de la borne est réalisé par le Club Info. Une première base violette / dégradé de bleu a été faites. Elle sera complétée par l’ajout de grafitis, dessins, motifs et autres dans un futur proche. Les logos des deux clubs y seront également représentés.

Je me suis chargé de réaliser la plaque en plexiglas sur le dessus de la borne. Grâce à sa gravure et son rétroéclairage, il s’agira de l’élément « tape à l’œil » de celle-ci. La découpe et la gravure de la plaque sont réalisées à la CNC. Un ruban de 44 LEDs adressables l’illumine et peut-être piloté par le Raspberry Pi.

Vu de près, on distingue aisément le parcours de la fraise et le rendu fait un peu brouillon. Il aurait été préférable de réaliser la gravure grâce à une découpeuse laser, cependant celle que j’aurais pu utiliser ne dispose pas d’un plateau suffisamment grand.

Rendu final

Une fois terminée et installée dans la cafétéria étudiante, la borne ressemble à cela :

Gyrophare piloté par Discord

De nos jours, avec tous les casques à réduction de bruit ou les outils (CNC) bruyant, pas sûr de réussir à entendre la douce mélodie d’une sonnette. Alors quoi de mieux qu’un gyrophare ?
Cet article présente comment réaliser un gyrophare connecté à Discord qui peut, entre autres, servir de sonnette. Il a été conçu et sert depuis près de 3 ans au Club Robotique de l’Esisar !

L’article présente tout d’abord comment faire le circuit électronique principal du gyro, lui permettant de se connecter à internet, puis le circuit secondaire, qui permet de l’utiliser sur n’importe qu’elle alimentation sans soucis. Enfin il présente le programme embarqué et la configuration de l’interface avec Discord.

Circuit électronique avec ESP8266

Le circuit principal est basé sur un ESP8266 au format ESP-01. Il est composé d’un régulateur 5V, d’un module relais, d’un transistor. Sont également reliés à ce circuit : le connecteur de programmation, une LED et deux boutons.

Son schéma électronique est le suivant :

Schéma électronique du circuit principal

Le circuit est réalisé à partir de composants de récupération assemblés sur une « perf-board ». Il est monté dans le fond du socle du gyrophare afin de faire une solution tout intégré.

Socle du gyrophare avec le circuit principal

Si c’est à refaire : privilégiez l’utilisation d’un autre format d’ESP8266, comme par exemple un Wemos Mini D1, qui se programme facilement via USB.

Circuit « soft-start »

Suivant l’alimentation que vous utilisez, vous pouvez être confronté régulièrement à un problème : elle se met en sécurité suite au déclenchement du gyro. Cela se produit notamment lorsque l’on utilise une alimentation ATX d’ordinateur et une ampoule halogène et est dû au pic de courant induit à la mise sous tension de l’ampoule. En effet, l’ampoule halogène a une résistance quasi-nulle quand elle est froide : l’intensité est donc très élevée à la commutation et entraîne la mise en sécurité de l’alimentation.

Afin de résoudre ce problème, il est possible d’utiliser un circuit de « soft-start », pour démarrage progressif. L’idée est de mettre en série avec l’ampoule, durant quelques secondes, une résistance de puissance de faible valeur. Cette résistance limitera l’intensité maximale demandée à l’allumage de l’ampoule.

Le schéma retenu est le suivant. Il est réalisé avec des composants de récupération.

Schéma électronique du circuit soft-start

La résistance de puissance est faite d’un assemblage de 30 résistances 1W de 100 ohms reliées en parallèle. Il s’agit donc d’une résistance de 3,3 ohms.

Résistance de puissance

Voici le résultat en image et une démonstration en vidéo :

A gauche : résistance de puissance, au fond : circuit principal, en haut : circuit soft-start, à droite : le gyrophare

Les mesures montrent que la résistance de puissance est mise en série avec le gyrophare durant 2,15 secondes et elle dissipe environ 30 W. La tension aux bornes de l’ampoule est d’environ 3 V, ce qui suffit à ce qu’elle chauffe et s’illumine un petit peu.

Programme Arduino

Une fois l’électronique du gyrophare assemblée, il va désormais falloir programmer l’ESP8266 grâce au port de programmation que l’on aura au préalable laissé accessible.

Prérequis

Avant de commencer, il est nécessaire d’avoir :

  • Configuré un broker MQTT accessible depuis l’ESP et créé un compte pour le gyro (tutoriel)
  • Installé l’Arduino IDE
  • Ajouté le support des cartes à base d’ESP8266 (tutoriel)
  • Installé les librairies : ArduinoJson (v6), PubSubClient

Programme

Le programme utilisé est disponible sur le répo GitLab du projet :

Il convient de mettre à jour les paramètres du fichier config.h selon votre configuration du Wifi et du broker MQTT.

Ce gyro équipe actuellement le Club Robotique de l’Esisar. La problématique que nous avons est que nous ne disposons pas d’un réseau wifi privé dont nous avons la maitrise. Le gyro se connecte donc à « wifi-campus » et s’authentifie via le portail captif afin d’accéder à internet. Les ports sortants ouverts étant limités, le broker est installé sur un port spécifique.

Procédure de téléversement

Afin de pouvoir téléverser le programme sur l’ESP8266, il est nécessaire qu’il soit démarré en mode « ROM serial bootloader ».

  1. Lancer le téléversement dans l’IDE (Ctrl+U)
  2. Lorsque « Connecting… » s’affiche, appuyez sur les deux boutons et maintenez
  3. Relâchez « RST »
  4. Maintenez jusqu’à temps que le téléversement soit fini et relâchez « GPIO0 »
  5. Appuyez un court instant sur « RST » pour redémarrer l’ESP en mode normal

Interface MQTT – Discord

L’interface entre les différents topics MQTT et l’API de Discord est actuellement réalisée via Node-Red. Ça fonctionne mais pas vraiment très simple à appréhender. C’est pour cela qu’elle est en cours de modernisation…

Un channel lui est dédié sur le serveur Discord du club. Il suffit d’envoyer « !gyro » et il se met à tourner pendant une vingtaine de secondes environ.

Utilisation du gyro sur Discord

Ressources complémentaires

Mini-fusée PoulpyRocket

Présentation

L’objectif du projet est de réaliser une mini-fusée expérimentale qui réalise les missions décrites ci-après. Cette fusée sera lancée lors de la campagne nationale de lancement, dénommée C’Space 2022, organisée par le CNES et Planète Sciences mi-Juillet.

Cahier des charges

Afin de pouvoir être homologué et pouvoir lancer une fusée durant le C’Space, il faut que celle-ci respecte le cahier des charges édicté par Planète Science. Des revues de projet avec les bénévoles de Planète Science, dites Rencontres Clubs Espace (RCE) ont lieu durant l’année pour évaluer l’avancement du projet et s’assurer du respect des contraintes.

Mission 1 : Parachute et système de récupération

La seule mission du cahier des charges mini-fusée qui est obligatoire est la mise en œuvre d’un système de récupération. La raison est simple : sécurité. Dans le cas où celui-ci échoue, l’équipe gagne le droit de creuser plusieurs heures si nécessaire pour récupérer les morceaux… ce qui ne nous a jamais vraiment enthousiasmé.

Pour une première fusée, nous avons fabriqué un système simple basé sur une minuterie. La détection du décollage était effectuée grâce à un jumper attaché à la rampe de lancement, un « jack » comme il se dit beaucoup au C’Space. A partir de ce moment, une minuterie déclenchait de la trappe du parachute après un délai configuré en amont pour correspondre à l’apogée du vol.

Le PCB de la minuterie a été réalisé « at home » en utilisant la technique du transfert de toner par la chaleur et la gravure au perchlorure de fer.

Mission 2 : Largage à l’apogée du CanSat PoulpySat I

La seconde mission a pour objet de larguer une sonde à l’apogée du vol. La fusée devient donc un vecteur pour amener cette sonde à 300 mètres d’altitude et lui permettre de réaliser ses expériences durant la descente. Celui-ci est éjecté par une trappé située dans la partie supérieure de la fusée, une seconde environ avant le déploiement du parachute.

Nous avons réutilisé le CanSat PoulpySat I, vainqueur du concours CanSat France Etudiant lors du C’Space 2021. Nous lui avons juste retiré les pieds qui se déploient automatique, par manque de place dans la fusée. Il a durant la descente envoyé toutes les mesures de ses capteurs à la station sol en temps réel.

Mission 3 : Estimation de position et d’apogée

La mini-fusée embarque une carte électronique expérience avec de nombreux capteurs. Nous pouvons notamment cité un accéléromètre / gyroscope 3 axes, un module GPS / boussole 3 axes et un baromètre.

La fusion des données mesurée par l’ensemble de ces capteurs par l’implémentation d’un filtre de Kalmann permet de déterminer la position dans l’espace de la fusée. Ceci permettant déterminer avec précision sa trajectoire et le moment de son apogée. Cette donnée peut servir, dans une version future, au pilotage des trappes et du système de récupération.

En images

En vidéo

Rapport de projet

Soutiens

Ce projet a été rendu possible par le soutien de notre école, Grenoble INP – Esisar, UGA, et des partenaires privés du club, Elsys Design et SOTIC.

Ressources complémentaires

CanSat PoulpySat I

Présentation

L’appellation « CanSat » vient de la contraction de « Cannette Satellite », soit une sonde atmosphérique, de la taille d’une canette de 33 cL, qui est larguée sous parachute et réalise des expériences durant la descente. Il est largué durant la compétition par un ballon captif.

Le projet est présenté plus en détails dans la vidéo de présentation et la conférence disponible en fin d’article.

Cahier des charges

Ce projet s’inscrit dans le cadre de la compétition CanSat France Etudiant organisée par le CNES et Planète Sciences. Ainsi, chaque année, un cahier des charges est donné par l’organisation aux participants. Il y fixe l’ensemble des contraintes et les modalités d’organisation de la compétition.

Le cahier des charges ayant évolué depuis, celui correspondant à notre participation est disponibles ci-dessous.

Mission obligatoire : Envoi d’un message

La première mission est imposée par le cahier des charges. Il est demandé à ce que le CanSat envoi un message à la station sol pour informer qu’il a été largué.

Nous sommes allé plus loin en implémentant la télémétrie complète des données de l’ensemble de nos capteurs embarqués sur le circuit électronique expérience. La carte embarque notamment les capteurs suivants : accéléromètre / gyroscope / boussole 3 axes, GPS, baromètre et un thermomètre. Elle peut communiquer les données via un port série USB, une carte micro-SD ou par radio grâce à son module de radio-communication intégré.

Afin de recevoir les données reçues, un second CanSat est utilisé comme station sol et envoi les données par USB à un ordinateur. Un script Python interprète les données et elles sont affichées dans une interface Grafana en temps réel.

Mission libre 1 : Déploiement mécanique

Le CanSat est composée de deux parties distinctes : le corps, avec l’électronique et les pieds déployables, et la coiffe. A une altitude pré-déterminée, une commande est envoyée a un petit actionneur afin de procéder à la séparation des deux parties.

Mission libre 2 : Estimation de position dans l’espace

En fusionnant les données reçues des différents capteurs à l’aide d’algorithmes dédiés, notamment les filtres de Kalmann ou les AHRS, il est possible de calculer la position exacte du CanSat dans l’espace et son orientation. Cela permet d’obtenir la trajectoire précise qu’il a réalisé durant la descente.

Compétition CanSat France

La compétition s’est terminée durant le C’Space 2022, campagne de lancement de projets spatiaux (mini-fusées, fusées expérimentales, ballons stratosphériques et CanSat) organisée par le CNES et Planète Sciences. Il a lui chaque année, à la mi-Juillet, au Camps de Ger du 1er Régiment de Hussards Parachutistes à Tarbes.

Lors du C’Space, nous avons eu le droit de réaliser un vol de test afin de s’assurer que tout fonctionne et il était suivi du vol de qualification. Nos deux vols se sont déroulés de manière tout à fait nominale.
Nous avons ensuite soutenu le projet lors d’une présentation devant un jury d’experts. A la suite de quoi, nous avons été nommés vainqueurs de la compétition nationale.

En images

En vidéos

Rapport de projet

Soutiens

Ce projet a été rendu possible par le soutien de notre école, Grenoble INP – Esisar, UGA, et des partenaires privés du club, Elsys Design et SOTIC.

Ressources complémentaires