Faire clignoter une LED
| Projet | Durée | Difficulté | Âge | Logiciel STeaMi testé |
|---|---|---|---|---|
| I-Novmicro #2 | 15 min | Débutant | 11-99 ans | 0.23.1 |
Matériel et Montage
- 1 carte STeaMi
- 1 câble USB de données (micro-USB pour la STeaMi V1, USB-C pour la STeaMi V2).
- 1 ordinateur sous Windows, macOS ou Linux
- Un IDE compatible MicroPython : Thonny (voir la fiche Thonny : Prise en main de MicroPython) ou tout autre éditeur compatible (Mu, VS Code, Vittascience,
mpremote…).
De quoi parle-t-on ?
La LED (light-emitting diode) est un composant électronique qui produit de la lumière lorsqu'un courant la traverse. On la retrouve partout dans le quotidien : pour éclairer, pour signaler un état (réservoir presque vide, machine allumée…), ou simplement comme indicateur visuel.
La STeaMi intègre une LED RGB, accessibles sans aucun câblage, avec trois couleurs : rouge, verte et bleue. C'est le point de départ idéal pour comprendre comment un programme contrôle un composant physique : allumer, éteindre, attendre, recommencer. Le programme que vous allez écrire est le premier programme qu'on écrit quand on découvre l'électronique embarquée (les informaticiens appellent ça un « Hello World »).
Cette fiche reprend l'activité Let's STEAM Faire clignoter une LED, adaptée du couple STM32 IoT Node + MakeCode vers STeaMi + MicroPython.
Objectifs d'apprentissage
- Comprendre la structure d'un programme MicroPython simple (imports, initialisation, boucle infinie)
- Contrôler une LED connectée à un microcontrôleur
- Initialiser une LED en MicroPython avec le module
machineet la nommer par son nom de broche - Utiliser
sleep_mspour introduire des délais d'attente (parfois qualifié de "pause") dans un programme
Étape 1 : Construire
Ici, « construire » est rapide : la LED RGB est déjà soudée à la carte, aucun câblage additionnel n'est requis.
Localiser les LED sur la carte
La LED RGB de la STeaMi se trouve sur la face avant. Chaque couleur est pilotée individuellement et accessible dans le code via un nom de broche :

La LED RGB intégrée à la face avant de la STeaMi.
| Couleur | Nom de broche |
|---|---|
| Rouge | LED_RED |
| Verte | LED_GREEN |
| Bleue | LED_BLUE |
Connecter la carte à l'ordinateur
Brancher la STeaMi à l'ordinateur via le câble USB. Si l'IDE est déjà configuré (voir la fiche Thonny : Prise en main de MicroPython pour la mise en place initiale), la console MicroPython doit afficher >>>.
Étape 2 : Programmer
Le programme est court : on importe deux modules, on initialise la LED, et on entre dans une boucle qui continue sans jamais s'arrêter et qui allume et éteint la LED avec une pause (un délai d'attente) entre chaque étape pour qu'on ait le temps de voir les changements se produire.
Le code
# Testée avec firmware STeaMi 0.23.1
from machine import Pin
from time import sleep_ms
# Initialisation de la LED bleue
led_blue = Pin('LED_BLUE', Pin.OUT)
delay = 500 # durée en millisecondes entre chaque changement d'état
# Boucle infinie : la LED clignote indéfiniment
while True:
led_blue.on()
sleep_ms(delay)
led_blue.off()
sleep_ms(delay)
Comment ça marche ?
from machine import Pinimporte l'objetPindu modulemachine, qui permet de piloter les broches du microcontrôleur.from time import sleep_msimporte la fonctionsleep_ms, qui suspend l'exécution du programme pendant un nombre de millisecondes donné.Pin('LED_BLUE', Pin.OUT)crée un objet qui représente la LED bleue, configurée en sortie (la broche envoie un signal, elle ne le lit pas). Le firmware STeaMi expose les composants intégrés sous des noms parlants — pas besoin de mémoriser un numéro de broche.- La variable
delayfixe la durée de chaque état (allumée ou éteinte) à 500 millisecondes. Modifier cette valeur change directement la vitesse de clignotement. - La boucle
while True:s'exécute indéfiniment : elle allume la LED, attenddelayms, éteint la LED, attend encoredelayms, et recommence.
Exécution
- Test rapide : lancer le programme depuis l'IDE (typiquement bouton Run ▶ ou
F5). La LED bleue se met immédiatement à clignoter. - Programme persistant : enregistrer le fichier sous le nom
main.pysur la carte. Il sera relancé automatiquement à chaque démarrage, sans avoir à rouvrir l'éditeur.
Étape 3 : Améliorer
1. Faire clignoter les autres couleurs
La LED RGB possède trois canaux indépendants. Essayez de les faire clignoter les uns après les autres : il suffit de créer trois objets Pin (LED_RED, LED_GREEN, LED_BLUE) et de les allumer/éteindre tour à tour dans la boucle.
Une fois ce séquencement maîtrisé, vous tenez l'embryon d'un feu de signalisation : rouge plusieurs secondes, vert plusieurs secondes, orange (rouge + vert simultanés) en transition.
2. Le projet « temps de réaction »
Une fois le clignotement maîtrisé, une bonne piste pour aller plus loin est de réaliser le projet temps de réaction en une demi-seconde en MicroPython : la LED s'allume à un moment aléatoire, et le joueur doit appuyer sur un bouton le plus vite possible.
Aller plus loin
Pour comprendre
- Diode électroluminescente — Wikipedia : histoire des LED, principes physiques qui les sous-tendent, typologies et couleurs.
- Courant et tension — bases de l'électricité : tutoriel à destination des débutants en électronique pour explorer le courant, la tension, leur différence et leur fonctionnement (en anglais).
- Shuji Nakamura, l'inventeur de la LED bleue : prix Nobel de physique 2014. Sans sa LED bleue (résultat de 25 ans de recherche), pas d'éclairage LED blanc, pas d'écrans pleine couleur. Une belle histoire de persévérance face à des décennies d'échecs annoncés.
Pour s'inspirer
- Fête des Lumières de Lyon : 4 jours par an, la ville devient une scène d'installations lumineuses pilotées par des programmes — un exemple à grande échelle de ce qu'un peu de code et beaucoup de LED peuvent produire.
- The Bay Lights — Leo Villareal : 25 000 LED disposées sur le Bay Bridge de San Francisco, animées par un programme génératif qui ne se répète jamais. Une œuvre d'art urbain visible à des kilomètres.
- Faire un cube LED de A à Z (GreatScott!, en anglais) : le grand classique maker — 64 ou 512 LED soudées en 3D, multiplexage temporel pour les piloter avec quelques broches seulement, animations volumétriques.
- Word Clock — l'horloge à mots : une grille de LED qui éclaire des lettres pour écrire l'heure en toutes lettres (« IL EST DIX HEURES VINGT »). Petit projet de programmation + design plein de charme.
- Adafruit NeoPixel Überguide : les LED RGB adressables WS2812 — un bus de données, des centaines de LED en chaîne, des effets arc-en-ciel et des bandeaux décoratifs à l'infini. La suite logique quand une seule LED ne suffit plus.
Cette fiche fait partie du projet I-Novmicro #2 : Action EXAO. Adaptée du projet Let's STEAM (fiche r1as01-led) sous licence CC BY-SA 4.0.