Programmer un chenillard

Ce tutoriel explique comment faire clignoter selon une séquence cyclique les trois diodes électroluminescentes de la carte NUCLEO-WB55 avec MicroPython. C’est ce que l’on appelle un “chenillard”. Dans tous nos tutoriels, pour éviter d’éventuelles confusions entre les acronymes français et anglo-saxons, nous ferons le choix d’utiliser systématiquement les acronymes anglo-saxons. Donc, nous désignerons par la suite les diodes électroluminescentes par l’acronyme LED (pour Light Emitting Diode).

Matériel requis

La carte NUCLEO-WB55. Nous ferons clignoter ses LED 1, 2 et 3 :

LEDS

Voici l’organisation des LED par couleur et numéro:

  1. LED 1 : Bleu
  2. LED 2 : Vert
  3. LED 3 : Rouge

Le code MicroPython

Les scripts présentés ci-après sont disponibles dans la zone de téléchargement.

Sous MicroPython, le module pyb.LED permet de gérer les LED très simplement. Éditez le script main.py contenu dans le répertoire du disque USB virtuel associé à la NUCLEO-WB55 : PYBFLASH.

# Objet du script : Programmer un "chenillard"
# Exemple de configuration des GPIO pour une gestion des LED intégrées de la NUCLEO-WB55

import pyb # Pour les accès aux périphériques (GPIO, LED, etc.)
from time import sleep_ms # Pour les pauses système

print( "Les LED avec MicroPython c'est facile" )

# Initialisation des LED
led_bleu = pyb.LED(3) # sérigraphiée LED1 sur le PCB
led_vert = pyb.LED(2) # sérigraphiée LED2 sur le PCB
led_rouge = pyb.LED(1) # sérigraphiée LED3 sur le PCB

# Initialisation du compteur de LED
compteur_de_led = 0

while True: # Création d'une boucle "infinie" (pas de clause de sortie)
	
	if compteur_de_led == 0:
		led_bleu.on()
		led_rouge.off()
		led_vert.off()
	elif compteur_de_led == 1:
		led_bleu.off()
		led_vert.on()
		led_rouge.off()
	else :
		led_bleu.off()
		led_vert.off()
		led_rouge.on()
		
	# On veut allumer la prochaine LED à la prochaine itération de la boucle
	compteur_de_led = compteur_de_led + 1
	if compteur_de_led > 2:
		compteur_de_led = 0
	
	sleep_ms(500) # Temporisation de 500ms

Vous pouvez lancer le script avec Ctrl + D sur le terminal Putty et observer les 3 leds qui s’allument puis s’éteignent selon la séquence LED3 -> LED2 -> LED1 -> LED3 -> LED2 …

Pour aller plus loin

Vous trouverez ici une variante de ce code qui explique comment lui rajouter une interaction avec un bouton en utilisant le mécanisme des interruptions.