Faire clignoter 2 LEDs à vitesse différentes¶
Ce que l'on va faire ici¶
Dans ce programme Micropython, nous allons faire clignoter non pas une mais 2 LEDs à des vitesses différentes.
Success
Ce programme vous montre tout l'intérêt d'utiliser des Timers pour faire du "multi-tâches" très simplement. Merci Micropython !
Matériel¶
- une carte Pi Pico flashée avec MicroPython et préparée pour utilisation en vertical sur plaque d'essai
- 2 x LED 5mm
- 2 x résistance 270 Ohms (entre 200 et 300 Ohms)
- une petite plaque d'essai
- quelques jumpers
Une autre possibilité est l'utilisation de 2 modules prêt à câbler à LED :
Le schéma théorique¶
Les 2 LEDs en série avec leur résistance sont connectée entre une broche et le 0V (GND).
Le montage à réaliser¶
- On utilise ici la carte Pi Pico en vertical sur la plaque d'essai.
- La 1ère LED et la résistance en série sont connectées sur la broche 16.
-
La 2ème LED et la résistance en série sont connectées sur la broche 18.
-
Le bus du 0V de la plaque d'essai est connecté à une broche GND de la carte.
Le code¶
- les broches utilisées sont mises en sortie
- on utilise 2 Timers pour assurer le clignotement à des fréquences différentes
# code Micropython - www.micropython.fr - CC-BY-SA
from machine import Pin, Timer # importe les classes Pin et Timer
led1=Pin(16,Pin.OUT) # déclaration broche en sortie
led2=Pin(18,Pin.OUT) # déclaration broche en sortie
timer1=Timer() # création objet timer
timer2=Timer() # création objet timer
def loop1(timer1): # fonction de clignotement
led1.toggle() # inverse état LED
def loop2(timer2): # fonction de clignotement
led2.toggle() # inverse état LED
# rappel fonction loop à fréquence voulue
timer1.init(freq=2, callback=loop1)
# rappel fonction loop à fréquence voulue
timer2.init(freq=10, callback=loop2)
# Note : La LED clignote à la fréquence f/2
Résultat¶
Les 2 LEDs clignotent à des fréquences différentes.
Info
N'hésitez pas à modifier la valeur des fréquences de clignotement pour voir les LEDs clignoter à des fréquences différentes.