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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.