J’avais vu ce jeu de course de LEDs Open LED Race sur plusieurs salons et j’ai toujours pensé que c’était une superbe réalisation. Comme vous le savez peut-être je suis fan de LEDs (Bouncing LEDs, jeu de memory, ventilateur holographique que vous avez pu voir sur le stand). Il fallait donc que je réalise ce projet. Le salon de Vitré 2024 a été l’occasion et j’ai travaillé depuis début janvier sur la réalisation de cette course.
Au sommaire :
Une course de LEDs : Open LED Race
Prérequis : Avant de vous lancer dans cette fabrication, il est souhaitable que vous soyez à l’aise avec un Arduino, que vous sachiez comment téléverser un programme depuis l’IDE, installer une bibliothèque. C’est bien aussi de savoir installer un driver CH340 (sous Windows et/ou sous Linux) car les versions chinoises de l’Arduino utilisent ce circuit qui pose parfois problème avec le driver (le vrai) qui détecte la copie et oblige à installer une ancienne version du driver qui ne gère pas les fake CH340… A défaut d’être vous même au top en Arduino, assurez vous d’avoir quelqu’un qui pourra vous aider (FabLab, association…)
Le projet est open-source
Le projet Open LED Race a son site dédié, où vous trouverez pas mal d’informations. En particulier le software est bien détaillé et vous trouverez les liens vers les différentes versions et le github. J’ai posé quelques questions lorsque j’ai constaté des écarts entre la doc. et la réalité et l’équipe a été réactive.
Le programme que j’ai utilisé est celui qui est disponible sur le github du projet. Cet article parle surtout de la mise en œuvre, de la réalisation et des parties imprimées en 3D.
L’Arduino Nano permet de gérer 300 LEDs (ici on a une bande de 5m avec 60 LEDs par mètre) alors que l’Arduino Every qui a plus de mémoire peut gérer jusque 1500 LEDS soit 25 mètres de ruban avec 60 LEDs par mètre. Un plus pour les salons maker par exemple.
Le matériel
Pour ce genre de projet je modélise d’abord pour avoir une vue d’ensemble de la réalisation. Je pense que vous pourrez repérer les différents éléments ci-dessus. Pour les autres vous les découvrirez plus loin dans l’article. Vous trouverez ci-dessous une liste du matériel utilisé. Certains liens sont affiliés et permettent au site de vivre.
Matériel boîtier |
Lien | Quantité |
Alimentation à découpage 5V/5A | https://s.click.aliexpress.com/e/_DDhldo5 | 1 |
Arduino Nano Every | https://amzn.to/49TXOl5 | 1 |
Support bornier à vis Arduino Nano | https://s.click.aliexpress.com/e/_DFoK9Wv | 1 |
Haut-parleur (équivalent) | https://s.click.aliexpress.com/e/_DmTx6bJ | 1 |
Ampli BF PAM8302A | https://s.click.aliexpress.com/e/_DBxGxn3 | 1 |
Jack châssis femelle 3,5mm | https://amzn.to/3uYi1Y7 | 4 |
Connecteur RCA plaque de 2 | https://s.click.aliexpress.com/e/_DFtzkkp | 1 |
Interrupteur secteur avec fusible | https://fr.aliexpress.com/item/1005005047781409.html | 1 |
Potentiomètre 47K | https://amzn.to/3T4hrjs | 1 |
Câble secteur | https://amzn.to/3T2vZAj | 1 |
Fil jack 3,5 mm cordon 2 m | https://amzn.to/3IkBAgb | 4 |
ou Fil jack 3,5 mm cordon 1,5 m | https://amzn.to/49WLp09 | 4 |
Matériel manettes de jeu | Lien | Quantité |
Bouton d’arcade avec LED | https://s.click.aliexpress.com/e/_Dn3GuGZ | 4 |
Impression 3D | Informations | Quantité |
Base boîtier |
PLA gris | 1 |
Couvercle boîtier | PLA gris | 1 |
Manette de jeu | 1 verte – 1 bleue – 1 blanche – 1 rouge | 4 |
Bouchon manette de jeu | 1 verte – 1 bleue – 1 blanche – 1 rouge | 4 |
Ruban de LEDs |
Lien | Quantité |
Bande de LEDs RVB (5m / 300 LEDs)
WS2812B |
https://s.click.aliexpress.com/e/_DFVjbZR | 1 |
C’est le matériel qui a été utilisé pour cette version. Après les tests aux portes ouvertes de l’IUT du Creusot (1 journée) mais surtout 3 jours intenses de salon sur Tech’Inn Vitré, j’ai décidé certaines évolutions dont je vous parlerai par la suite.
Le schéma
Je suis bien entendu parti du schéma d’origine disponible en ligne pour réaliser mon montage. Non pas que le schéma d’origine e soit pas bon, mais je n’aimais pas le fait de connecter 2 manettes sur une seule prise jack stéréo, et je voulais mettre une bouton d’arcade avec LED, ce qui n’est pas possible avec cette solution.
A part l’ajout de 2 jacks femelles 3,5mm, on peut noter les 4 résistances de 150 Ω qui alimentent les LEDs des manettes, ainsi que l’ajout d’un ampli PAM8302 d’Adafruit. Si la sortie de l’Arduino convient à la maison, sur un salon maker il y a beaucoup de bruit et je voulais que les bips de départ et la musique de fin de partie soient audibles. Un potentiomètre sur la carte ampli permet de régler le volume. J’ai par la suite ajouté un potentiomètre sur la sortie pour avoir un réglage plus facile du volume une fois le boitier fermé…
La sortie vers le ruban de LEDs a été confiée à deux prises RCA. La première (rouge) amène le +5v (centre) et la masse (extérieur), la seconde prise RCA (blanche) amène le signal de commande des LEDs Din au centre et la masse à l’extérieur. Cela permet de débrancher rapidement le ruban de LED si nécessaire. Par exemple dans un cas d’utilisation, le ruban était dans un passage et il fallait le déconnecter pour passer…
Une prochaine version fera appel à des prises verrouillables dites « aviation », ce sont celles qu’on trouve sur les micro d’appareils de CB par exemple. La connexion sera plus solide que des jacks et à l’arrière une prise suffira. Je prévois des fiches 3 broches à l’avant pour les manettes et une 5 broches à l’arrière pour le ruban de LEDs. Comme cela il sera impossible d’inverser les branchements.
Conversion potentiomètre linéaire en logarithmique
J’ai utilisé un potentiomètre de 47K que j’avais dans la boîte. La transformation en log se fait en ajoutant une résistance de 10% de la valeur (environ, mais 10 à 20% ça marche) entre la sortie et la masse… Ce n’est pas 100% logarithmique mais ça convient.
La réalisation matérielle
La modélisation a été faite avec Fusion 360 et le découpage avec CURA. Impression sur une Ender 3 S1. Chaque manette a été imprimée de la couleur indiquée par le bouton et la LED. Une manette de secours Rose a été également prévue.
Boîtier avec aération | Boîtier sans aération |
Si vous ne souhaitez pas imprimer le boîtier, on trouve des boîtiers de taille équivalente.
J’ai opté pour des inserts métalliques pour fixer les deux parties du boîtier. Cela garantit une meilleure résistance et une durée dans le temps. Les inserts sont mis en place au fer à souder, le PLA fond et l’insert pénètre dans le PLA. Après refroidissement, la tenue est très bonne car l’insert est cannelé.
Les fichiers 3D
Tous les fichiers 3D sont disponibles sur Thingiverse : https://www.thingiverse.com/thing:6516290
Transférer le programme dans l’Arduino
Vous pouvez téléverser le programme dans l’Arduino, soit depuis l’IDE Arduino, soit depuis l’interface Desktop fournie avec le programme.
Adapter le programme à vos besoins
Par défaut la documentation indique ces possibilités :
- 4 joueurs / jusqu’à 4 feux de course
- Longueur de la piste / nombre de bandes LED connectées
- Le logiciel peut être configuré pour gérer jusqu’à 5 bandes LED (piste de 25 mètres avec des rubans de 5 mètres avec 60 LEDs par mètre) – avec Arduino Nano Every uniquement
- Configuration de la longueur de la course (nombre de tours)
- Mode de départ de la course : Auto/Confirmation des joueurs (on appuie sur tous les boutons)
- Le compte à rebours pour une nouvelle course démarre automatiquement ou le compte à rebours démarre lorsque tous les joueurs appuient sur le bouton en même temps.
- Configuration de la pitlane (ravitaillement) (activation/désactivation, position)
- La bande LED peut être pliée pour mettre en place une Pitlane où les joueurs entrent pour attraper un cookie donnant à la voiture une vitesse supplémentaire.
- Configuration de la pente (marche/arrêt, position, hauteur)
- Une partie de la bande LED représente une pente. Les voitures doivent atteindre la colline à une vitesse assez rapide pour la gravir.
- Mode démo activé/désactivé
- Lorsque personne n’utilise les boutons (aucun utilisateur ne participe à une course), une course simulée démarre automatiquement. Utile dans les foires, les Maker Faire etc.
Sous Windows
Sous Windows on peut télécharger un programme qui s’installe et dialogue via le port USB avec la carte Arduino du jeu. Pour ma part malgré des échanges avec Luca de l’équipe Open Led Race, je n’ai jamais pu le faire fonctionner sous Windows 10 ou Windows 11. Il se lance et s’arrête dès l’ouverture de la fenêtre… Pas possible non plus de lui faire enregistrer un journal de Log.
On peut aussi piloter manuellement la carte avec des commandes envoyées depuis un terminal. J’ai testé avec putty sans problème…
Sous Linux
Par contre sous Linux pas de souci. J’utilise Linux Mint. Après téléchargement de l’archive (avec Java) puis décompression, on trouve un fichier OLR_Desktop dans le dossier créé. Il suffit de le lancer depuis un terminal pour accéder à l’appli :
./OLR_Desktop
La fenêtre qui s’ouvre donne accès à l’appli de gestion
On voit en haut de la fenêtre que la carte Arduino Nano Every a été détectée et que la version actuelle du logiciel est la 0.9.9 pour 2/3/4 joueurs.La description concerne les caractéristiques du programme et ses mises à jour.
Au centre de la fenêtre l’onglet Upload new Software permet de téléverser la version de programme de votre choix dans l’Arduino. On voit dans le fenêtre de terminal les échanges entre la carte Arduino et l’appli. Toutes les infos à ce sujet sont disponibles en ligne.
Enfin le dernier onglet Configure Board vous permet de configurer la carte avec l’application.
Vous pouvez régler le démarrage automatique (Autostart), le nombre de joueurs, le nombre de tours (How many Laps), le nombre de rubans de LED (How many LED Strips), la longueur de la zone de ravitaillement (pitlane), la pente activée ou pas, sa position et sa hauteur. Enfin un mode démo permet de faire tourner le jeu automatiquement si personne ne l’utilise. Le mode expert enlève les curseurs et permet de rentrer directement les valeurs sous forme de chiffres
RS-25-SPEC
Enfin si vous ne voulez pas utiliser l’appli de configuration, vous pouvez toujours modifier le programme directement 😀
Vidéos
Les étudiants de GMP de l’IUT du Creusot testent le jeu quand il y a moins de public…
Une version 2 du Jeu de LEDs
Pour un neveu j’ai été amené à réaliser un deuxième jeu. J’en ai profité pour apporter quelques améliorations ou modifications.
D’abord les câbles souples en 2 mètres ne sont plus disponibles et j’ai utilisé des câbles de 1,5 mètre disponibles sur Amazon (https://amzn.to/43omQ9U). C’est un câble sous gaine tressée, à l’intérieur une protection souple (caoutchouc silicone ?) et 3 fils multibrins émaillés. On peut les dénuder simplement en mettant de l’étain en fusion sur le bout du fil. Il faudrait trouver ce même fil en rouleau pour trouver un prix plus bas. Ici il y a une prise jack à chaque extrémité que je dois couper pour récupérer le câble…
Deuxième modif, j’ai utilisé un boîtier du commerce pour gagner du temps et de l’impression 3D. J’ai juste imprimé une plaque de fond sur laquelle j’ai monté l’alim à découpage et l’Arduino.
Dernière modif, j’ai utilisé des prises à vis plus efficaces que les jacks. Plus simples à souder et à mon avis plus résistantes à la traction. Ce sont des modèles GX12 (12mm de diamètre)
Il y a des 5 broches en Ø12mm à l’avant et une 3 broches en Ø12mm à l’arrière.
J’ai finalisé les sorties de prise avec du caoutchouc auto vulcanisant car le serre câble est un peu juste pour bloquer le câble souple.
Les manettes de la version 2. Elles sont identiques à la version 1 sauf qu’elles sont équipées de prises GX12 à vis et que j’ai soudé les LEDs à l’intérieur pour éviter qu’elles ne se déplacent.
Vue de la totalité du jeu lors des essais.
Le boîtier vu de dessus. Au dessus de l’alimentation, le cylindre noir est un buzzer passif, suffisant pour entendre les sons du jeu dans une pièce calme, même lorsque le boîtier est fermé.
Schéma de la V2
Notice de la V2
Comme c’est pour un neveu, j’ai écrit une notice de prise en main que vous pouvez télécharger en cliquant sur ce lien.
Conclusion
Un grand merci à l’équipe qui a créé Open LED Race et continue son développement. Merci pour la réactivité et l’aide que j’ai pu obtenir.
Les essais de ce jeu ont été faits à la maison avec Léane et François, mes petits enfants qui ont confirmé l’intérêt de ce jeu. il est ensuite passé dans les mains d’écoliers (CM1 et CM2) de l’école de Gourdon (71), venus à l’IUT pour des découvertes en électricité et en modélisation 3D avec le FabLab.
Les portes ouvertes de l’IUT ont également été l’occasion de tester le jeu. Parents et enfants visiteurs en ont profité et les étudiants de GMP qui présentaient leurs activités venaient faire une partie quand le public était absent (le temps du midi par exemple !).
Enfin c’est à Tech’Inn Vitré que le jeu a été le plus malmené. Une journée de scolaires le vendredi (plus de 400) et plusieurs milliers de visiteurs le samedi et le dimanche. Une manette a lâché. Les joueurs l’ont mise à l’envers pour taper sur la table avec le bouton ! du coup la LED est tombée (elle est juste tenue par un contact en lyre) et a coincé le bouton. Heureusement j’avais prévu une manette de secours. Le jeu a fonctionné de 10h à 16h sans interruption et sans défaillance.
Ca m’a donné des infos pour son évolutions (souder les LEDs des boutons d’arcade, sécuriser les prises…). Mais dans l’ensemble un jeu tout simple qui intéresse tout public !
Si vous réalisez ce jeu d’après cet article n’hésitez pas à envoyer des photos ou à mettre un commentaire, ainsi qu’un petit Like et des photos sur Thingiverse si vous réalisez le montage…
Voici ma configuration. j’ai activé les 4 joueurs car les manettes sont toutes occupées sur les salons. Pour mettre la pente en place il suffit d’appuyer sur la manette bleue lors du démarrage. Pour les plus jeunes qui ont des difficultés à passer la pente, on démarre sans appuyer sur les manettes et la pente n’est pas activée.
Je n’utilise pas le démarrage automatique. Il faut appuyer simultanément sur les 4 manettes, ce qui déclenche le compte à rebours puis le démarrage de la course. Il faut faire 5 tours pour gagner. A vous de jouer !
La version FabLab UtoPi
J’emmenais mon jeu sur les événements auxquels le FabLab participait. devant le succès du jeu on a décidé d’en fabriquer un pour le FabLab, Je viens de le terminer. Voici quelques images.
Le boîtier est en medium découpé au Laser . Les manettes sont imprimées sur la BambuLab, elles sont de toute beauté. (merci Rémi et Christian pour le coup de main sur ces deux parties)
==Edit du 28/4/2024 ==
Sur un des modèle que j’ai monté, équipé d’un buzzer comme ci-dessus, il a fallu que je rajoute une résistance de 330Ω en série dans le fil du buzzer (entre la sortie D3 et le buzzer. De temps en temps l’Arduino démarrait le programme (appui sur tous les boutons, puis s’arrêtait et revenait au départ). Après plusieurs essais on pouvait jouer. La résistance a réglé le problème. La carte utilisée était un Arduino Every.
Deuxième remarque, la prise + interrupteur + fusible que j’avais commandée sur Aliexpress était équipée de 2 fusibles (un sur la phase et un sur le neutre). Le souci c’est que les deux fusibles étaient des fusibles RAPIDES 200mA ! Au premier démarrage avec une alim « sans marque » ils ont sauté. Je les ai remplacés et mis une alim 5V/5A MeanWell. Les fusibles ont tenu lors du premier démarrage et … ont sauté au deuxième. Après réflexion (oui ça m’arrive) et quelques recherches, il apparait que les fusibles rapides peuvent convenir pour des petits appareils électroménagers. Par contre pour des alims à découpage qui font un fort appel de courant au démarrage (charge de condensateurs) il faut des fusibles temporisés. J’avais des fusibles 500mA temporisés que j’ai utilisés et tout va bien maintenant.
Sources
Page du projet
https://openledrace.net/
Télécharger le logiciel
https://openledrace.net/open-software/
Dépôt Github
https://gitlab.com/open-led-race/olr-arduino
Source de l’appli Desktop
https://gitlab.com/open-led-race/desktopapp
Application PC pour paramétrer OLR
https://openledrace.net/desktopapp-download/
Documentation des commandes
https://gitlab.com/open-led-race/olr-arduino/-/blob/master/doc/OLR_Protocol_Serial.pdf?ref_type=heads
Transformer potentiomètre Lin en Log
https://djjondent.blogspot.com/2019/12/kjhfkl.html
Ping : Open Led Race, Faites courir les LEDs !
Excellent !!!!
Merci 🙂
Super!
Une idée à la louche du coût total ?
J’y vois un jeu éducatif par les aspects de constructions / programmation, et qui prend bien moins de place qu’un circuit de voiture classique !
Bonjour Sébastien
en principe je ne chiffre pas mais là je vais en faire un pour le FabLab
je vais chiffrer ça pour jeudi
mais à la louche on doit etre vers 50 ou 60 €
Merci!
Ping : Un afficheur pour la course de LEDs Open LED Race - Framboise 314, le Raspberry Pi à la sauce française....
Merci pour cette réalisation !
j’ai commencé de mon coté avec les liens proposés et je donne mon expérience:
-Pour les manettes, n’ayant que du fil blanc (imprimante 3D) j’ai opté pour les Switch avec led, mais j’ai peut être été un peu vite dans mes choix, l’inter possède un contact qui dépasse sur le coté, du coup pas possible de le mettre dans la manette sans modif et la led est noté 12V ?
-j’ai plié le contact qui dépasse et avec la panne du fer chauffé un peu le PLA de l’intérieur de la manette pour insérer switch et inter.
-mais c’est sans doute aussi du au modèle de la manette, j’ai récupéré le fichier sur le site officiel et les manettes sont différentes (le fil arrive par le fond)
-j’ai utilisé un câble souple (silicone) pour les manettes mais je n’avais pas vérifié le diamètre des prises « aviation » et mon câble est trop gros du coup….re modif, mais c’est fait.
-Pour le boitier, j’ai aussi choisi le boitier « du commerce » proposé, j’ai positionné l’alim (la même qu’ici) verticalement et je vais réaliser un petit PCB pour éviter trop de câblage.
-Je suis parti sur un petit ampli LM386 avec potentiomètre incorporé.
-Pour le programme de gestion, sous Windows 11 ….pareil ça s’ouvre et se ferme aussitôt.
-j’en suis là, pas encore réalisé mon petit PCB et donc pas de test de réalisé mais ça avance.
Une question quand même ?
-Pour la led des switch, il y a une résistance série de 150 Ohm prévu sur le montage, j’ai testé sur une alim, la luminosité est un peu faible et la conso 1mA sous 5V, je me demande si ce ne sont pas des led avec résistances incorporées ? mes switch (les led) sont donnés pour 12v sans autre indication.
Est-ce que je peux les brancher directement sur le 5V (sans résistance) ?
une idée ?
Bonjour Pascal
merci pour le retour
j ai eu le même souci avec la patte de mes switch, je l’ai tordue au ras du switch et ça rentre sans probleme dans la manette imprimée.
pour les LEDs je ne sais pas… si ce sont vraiment des LEDS ? en 12V ? ce serai comme celles ci :
https://www.reichelt.com/fr/fr/led-avec-r-sistance-en-s-rie-rouge-5-mm-12-volts-led-5mm-12v-rt-p54106.html?PROVID=2810&gad_source=1&gclid=CjwKCAjw8diwBhAbEiwA7i_sJSzGklbO8N20LekApFTGE7EOXReYeF1hChnHXZ4CaLnaTyJAjVAxyhoCCGgQAvD_BwE
dans ce cas le résistance est intégrée et on peut les connecter directement en 5v mais ça n’éclairera sans doute pas plus fort…
vous me direz
cordialement
françois
Test effectué avec 12V (sans résistance) le courant est de 20mA
sous 5V c’est moins lumineux mais ça reste correcte.
cordialement
merci pour l’info !
cdt
francois
Bonjour,
Merci pour cet article
je viens de réaliser le montage sans soucis particulier
pour les modification de programmation même soucis avec « ORL DesktopApp » il se ferme automatiquement sous Windows
N’ayant pas de connaissance Linux j’essaie en vain de faire les modifs directement sur le code
Les modifs que j’aimerai faire:
Activer le mode démo
Valider les 4 joueurs
J’ai vu sur de vidéos l’allumage de tout le ruban à la couleur du vainqueur et que les « voitures » s’agrandissent à chaque tour de circuit
Coté matériel, j’ai trouvé chez Aliexpress un circuit voiture à 40€ l’effet de course est plus réaliste
Le bandeau led est fixé avec des clips et les tronçons de route sont vissés ensemble par sections (montage et démontage assez rapide), le tout est posé sur 2 morceaux de médium de 80 x 70 (pratique pour le transport
Pour les boutons j’ai un modèle avec led en 24 mm qui rentre juste dans le modèle sur thingiverse
J’utilise comme vous des connecteurs « aviation »
j’envisage de faire également le module d’affichage
Je suis sûr que mes petits enfants vont être ravis
Merci pour ce retour
Bon amusement !
Bonsoir,
est-il possible de modifier la vitesse de défilement des leds; j’ai changer le ruban leds 60 leds/m par un 160 leds /m et la vitesse est plus lente
J’ai regardé sur le code mais n’étant pas spécialite, je n’ai rien trouvé
Cordialement