Le Simon DIY : fabriquer son propre Simon avec Arduino et LED
Le Simon est l’un des jeux électroniques les plus emblématiques de l’histoire. Quatre couleurs, quatre sons, une séquence qui s’allonge - un concept d’une simplicité géniale. Mais saviez-vous qu’il est possible de fabriquer votre propre Simon chez vous, avec quelques composants électroniques et une carte Arduino ? Ce projet est devenu un classique du monde maker, accessible aux débutants comme aux passionnés d’électronique. Voici un guide complet pour construire votre Simon physique, du matériel au code.
Pourquoi le Simon est le projet Arduino parfait
Le Simon occupe une place à part dans l’univers des projets DIY (« Do It Yourself », faites-le vous-même). Il réunit plusieurs caractéristiques qui en font un projet pédagogique idéal :
- Des entrées et des sorties. Le Simon combine des boutons-poussoirs (entrées) avec des LED et un buzzer (sorties). C’est l’essence même de l’électronique interactive : lire un signal, le traiter, produire une réponse.
- Une logique progressive. Le programme commence simplement (allumer une LED) et se complexifie (gérer une séquence aléatoire de longueur croissante). Chaque étape de développement est testable indépendamment.
- Un résultat gratifiant. Contrairement à un projet qui clignote dans le vide, le Simon produit un jeu jouable. On peut y jouer, le montrer, le faire essayer à ses proches.
Ralph Baer, l’inventeur du Simon original en 1978, serait certainement ravi de voir son jeu devenir un outil d’apprentissage de l’électronique. Comme le rappelle notre article sur l’histoire du Simon, Baer était lui-même un ingénieur passionné par l’idée de rendre la technologie accessible au grand public.
Le matériel nécessaire
La beauté du projet Simon réside dans son coût modique. Pour moins de 20 euros, vous pouvez rassembler tout le nécessaire. Voici la liste des composants :
- Une carte Arduino Uno (ou un clone compatible). C’est le cerveau du projet. L’Uno est la carte la plus répandue et la mieux documentée, parfaite pour les débutants.
- 4 LED de couleurs différentes : rouge, bleu, vert et jaune, pour reproduire les quatre quadrants du Simon original. Préférez des LED diffuses (5 mm ou 10 mm) plutôt que des LED claires, pour un éclairage plus uniforme.
- 4 boutons-poussoirs (tactile switches). Choisissez des modèles avec un bon retour tactile : le « clic » sous le doigt fait partie de l’expérience de jeu.
- 4 résistances de 220 Ω pour les LED (elles limitent le courant et protègent les LED) et 4 résistances de 10 kΩ pour les boutons (en configuration pull-down).
- Un buzzer piézoélectrique. C’est lui qui produira les sons caractéristiques du Simon. Un buzzer passif (sans oscillateur intégré) est préférable car il permet de contrôler la fréquence du son.
- Une breadboard (plaque de prototypage) et des fils de connexion (jumper wires).
- Un câble USB pour programmer l’Arduino depuis votre ordinateur.
Optionnellement, vous pouvez ajouter un écran LCD pour afficher le score, un potentiomètre pour régler le volume, ou un boîtier imprimé en 3D pour donner à votre Simon un aspect professionnel.
Le câblage : connecter les composants
Le câblage du Simon suit un schéma logique et répétitif. Chaque couleur est un module identique composé d’une LED, d’un bouton et de leurs résistances respectives. Cette répétition est une force : si vous réussissez le câblage d’une couleur, les trois autres suivent le même principe.
Pour chaque couleur, le circuit est le suivant :
- La LED est connectée entre une broche de sortie numérique de l’Arduino (par exemple les broches 8, 9, 10 et 11) et le GND (masse), avec une résistance de 220 Ω en série pour limiter le courant.
- Le bouton-poussoir est connecté entre le 5V de l’Arduino et une broche d’entrée numérique (par exemple les broches 2, 3, 4 et 5). Une résistance de 10 kΩ relie la broche d’entrée au GND (configuration pull-down) : quand le bouton n’est pas pressé, la broche lit LOW ; quand il est pressé, elle lit HIGH.
Le buzzer piézo se connecte simplement entre une broche numérique (par exemple la broche 12) et le GND. L’Arduino génère un signal carré à la fréquence souhaitée pour produire les différentes notes.
Un conseil pratique : testez chaque composant individuellement avant d’assembler le tout. Écrivez un petit programme qui allume chaque LED, puis un autre qui détecte chaque bouton, puis un autre qui joue chaque note. Cette approche incrémentale évite les heures de débogage frustrant.
La logique du programme
Le cœur du Simon, c’est son algorithme de jeu. Malgré les apparences, la logique est remarquablement simple et se décompose en quelques étapes clés :
Étape 1 : Générer la séquence. Un tableau stocke la séquence complète (typiquement jusqu’à 100 éléments). Chaque élément est un nombre aléatoire entre 0 et 3, représentant l’une des quatre couleurs. La fonction random() d’Arduino, initialisée avec la lecture d’une broche analogique flottante, fournit un générateur suffisamment aléatoire.
Étape 2 : Afficher la séquence. Le programme parcourt le tableau du début jusqu’à la position courante, allumant chaque LED avec son son associé pendant environ 500 millisecondes. L’intervalle entre chaque note peut diminuer à mesure que la difficulté augmente, reproduisant l’accélération du Simon original.
Étape 3 : Lire la réponse du joueur. Après l’affichage, le programme attend que le joueur appuie sur les boutons dans le bon ordre. À chaque pression, il compare le bouton pressé avec l’élément correspondant du tableau. Si c’est correct, il allume la LED et joue le son, puis passe à l’élément suivant. Si c’est incorrect, il déclenche la séquence d’échec.
Étape 4 : Gérer la progression. Si le joueur reproduit toute la séquence correctement, le programme ajoute un élément aléatoire à la suite, joue une petite animation de succès, puis revient à l’étape 2 avec la séquence allongée.
Les sons : reproduire les notes du Simon
Les sons sont un élément essentiel de l’expérience Simon. Comme le détaille notre article sur le rôle de la musique et du rythme dans la mémorisation, l’association couleur-son est fondamentale pour la mémorisation des séquences. Reproduire fidèlement ces notes dans votre version DIY fera toute la différence.
Les fréquences du Simon original sont bien documentées :
- Vert : 415 Hz (Sol#/Lab)
- Rouge : 310 Hz (Ré#/Mib)
- Jaune : 252 Hz (Si/Do)
- Bleu : 209 Hz (Sol#/Lab, une octave plus bas que le vert)
Sur Arduino, la fonction tone(pin, frequency, duration) génère un signal carré à la fréquence spécifiée. C’est tout ce qu’il faut pour produire les notes. Le son d’un buzzer piézo est naturellement « 8-bit » et rétro, ce qui donne un charme supplémentaire à votre création.
Pour le son d’échec (quand le joueur se trompe), le Simon original joue une note basse et désagréable, généralement autour de 42 Hz. Vous pouvez aussi créer un effet de « descente » en jouant une série de notes décroissantes rapidement.
Améliorations et variantes
Une fois le Simon de base fonctionnel, les possibilités d’amélioration sont infinies. C’est l’un des grands plaisirs du DIY : chaque projet est une base que l’on peut étendre indéfiniment.
Ajouter des modes de difficulté. Le Simon original proposait quatre niveaux. Vous pouvez les reproduire en modifiant la vitesse d’affichage, la durée des pauses entre les notes, ou en ajoutant un timeout pour les réponses du joueur. Au niveau le plus difficile, la séquence défile si vite que seule la mémoire auditive peut suivre.
Remplacer les LED par des NeoPixels. Les bandes LED adressables de type WS2812B (NeoPixels) permettent de contrôler la couleur, la luminosité et les effets d’animation de chaque LED individuellement. Vous pouvez créer des animations de transition spectaculaires entre les notes, des effets arc-en-ciel pour les succès ou un fondu au rouge pour les échecs.
Ajouter un écran. Un petit écran OLED (128×64 pixels) connecté en I2C peut afficher le score actuel, le meilleur score enregistré en EEPROM (mémoire persistante de l’Arduino), et même un menu de sélection de mode. Quelques lignes de code et votre Simon acquiert une interface utilisateur digne d’un produit commercial.
Passer au multijoueur. En doublant le nombre de boutons et de LED, vous pouvez créer un mode à deux joueurs où chacun reproduit la même séquence en alternance. Le premier à se tromper perd. C’est le principe qu’on retrouve dans notre approche du jeu multijoueur en ligne, transposé dans le monde physique.
Intégrer du Bluetooth. Avec un module HC-05 ou un ESP32 (qui intègre le Bluetooth nativement), votre Simon peut communiquer avec un smartphone. Vous pouvez créer une application compagnon qui enregistre les scores, propose des défis quotidiens ou permet de jouer à distance avec des amis.
Le boîtier : donner forme à votre Simon
Un Simon fonctionnel sur une breadboard, c’est satisfaisant. Un Simon dans un boîtier fini, c’est magique. Plusieurs options s’offrent à vous pour l’habillage de votre création :
L’impression 3D. Si vous avez accès à une imprimante 3D (en fablab, en médiathèque ou chez un ami), des modèles de boîtiers Simon sont disponibles gratuitement sur Thingiverse et Printables. Vous pouvez les personnaliser dans un logiciel comme Tinkercad ou Fusion 360. Imprimez le boîtier en plastique blanc et laissez la lumière des LED diffuser à travers les parois fines des quadrants colorés.
Le boîtier en bois. Une boîte en bois découpée au laser ou même taillée à la main donne un aspect chaleureux et rétro. Percez quatre trous ronds pour les boutons, quatre trous plus petits pour les LED, et un orifice pour le buzzer. Poncez, vernissez, et vous obtenez un objet qui a de l’allure sur une étagère.
Le détournement d’objet. Certains makers utilisent des boîtes de conserve, des boîtes à cigares, de vieux boîtiers de télécommande ou même des Tupperware. L’esprit DIY, c’est aussi la créativité dans la récupération.
Un projet pour apprendre, un jeu pour s’amuser
Construire un Simon avec Arduino, c’est bien plus qu’un exercice technique. C’est un voyage qui vous fait passer par l’électronique analogique (LED, résistances), l’électronique numérique (signaux logiques, PWM), la programmation (boucles, tableaux, aléatoire) et le design (ergonomie, esthétique du boîtier). En un seul projet, vous touchez à toutes les dimensions du making.
Et au bout du chemin, vous avez entre les mains un objet qui n’est pas seulement fonctionnel mais attachant. Un Simon que vous avez construit vous-même a une âme que le plastique moulé en usine n’aura jamais. Chaque LED que vous avez soudée, chaque ligne de code que vous avez écrite, chaque problème que vous avez résolu - tout cela fait partie du jeu.
Alors, prêt à vous lancer ? Branchez votre Arduino, ouvrez l’IDE, et donnez vie à votre propre Simon. Et quand vous aurez terminé, n’hésitez pas à comparer vos scores sur votre création maison avec ceux que vous obtenez sur notre version en ligne. Vous pourriez être surpris de découvrir que le plaisir est le même, qu’il passe par des LED physiques ou des pixels à l’écran.