Module 8 LEDs¶
Description¶
Le module 8 LEds associe 8 LEDs sur une petite carte avec un connecteur 9 broches, le 0V étant commun entre les LEDs. Ce module est parfois vendu "à souder" et c'est tellement simple que c'est un très bon exercice pratique.
2 possibilités de monter la broche commune
Le module peut être indifféremment monté avec broche Vcc commune (ce qui est prévue par le fabricant d'après la sérigraphie) mais aussi en GND commune, ce que je conseille, tout simplement en montant les LEDs en sens inverse de la sérigraphie.
Info
Ce petit module est intéressant :
- à titre didactique pour simuler l'octet de 8 bits, les jeux de lumière à LEDs, etc
- ou encore comme testeur logique en cas de problème sur un montage à sorties multiples,
- ou encore pour tester la communication i2C avec un module i2C vers GPIO
- etc...
Bref, un petit module pratique en pratique... et inusable en pratique.
Schéma électrique interne¶
Le module 8 LEDs, c'est simplement 8 LEDs avec leur résistance en parallèle sur une petite carte : si vous savez utiliser une LED, alors vous saurez utiliser ce module !
Warning
Ici schéma dans le cas d'un montage en GND (0V) commun : si vous êtes en V+ commun, simplement remplacé 0V par V+.
Brochage¶
Le module a logiquement 4 broches :
- une commune à l'ensemble des LEDs : La broche est le - (cathode commune)
- et une pour chaque LED de couleur.
Schéma de principe d'utilisation¶
Ce module se connecte très simplement sur 3 broches en sortie d'une carte à micro-contrôleur :
Exemples de montage¶
avec la carte Pi Pico¶
Le montage avec la carte Pi Pico est très simple à réaliser, directement sur le module (ou via une plaque d'essai comme on veut), en utilisant 2 groupes de 4 broches + la masse.
Avec une carte ESP UNO¶
On connecte les 8 LEDs sur 8 broches en sortie adjacentes (D4-7 + D8-11 par exemple) ainsi que la masse.
Code d'exemple : allumage successif des 8 Leds¶
Pi Pico¶
# code Micropython - www.micropython.fr - CC BY SA
from machine import Pin, Timer # importe les classes Pin et Timer
leds_pins=[6,7,8,9,10,11,12,13]
leds=[Pin(pin,Pin.OUT) for pin in leds_pins]
timer=Timer() # création objet timer
compt=0
def loop(timer): # fonction de clignotement
global compt
compt=compt+1 # incremente
for led in leds :
led.toggle()# allume / éteint toutes les leds
# rappel fonction loop à fréquence voulue
timer.init(freq=2, callback=loop)
ESP UNO¶
Test simple des LEDs¶
# code Micropython - www.micropython.fr - CC BY SA
from machine import Pin
import time
leds_pins=[D2,D3,D4,D5,D8,D9,D10,D11]
leds=[Pin(pin,Pin.OUT) for pin in leds_pins]
for led in leds: led.off() # leds off
#print(leds)
for led in leds:
led.on()
time.sleep(1)
Chenillard de LEDs¶
# code Micropython - www.micropython.fr - CC BY SA
from machine import Pin, Timer
timer=Timer(0) # création objet timer
compt=0
leds_pins=[D2,D3,D4,D5,D8,D9,D10,D11] # broches des leds
leds=[Pin(pin,Pin.OUT) for pin in leds_pins] # leds en sortie
for led in leds: led.off() # leds off
#print(leds)
def loop(timer): # fonction de clignotement
global compt
if compt==0: # 1er passage - leds off
for led in leds : led.off()
leds[compt].on()
compt=compt+1 # incremente
if compt==8:compt=0 # RAZ
# rappel fonction loop à fréquence voulue
timer.init(freq=10, callback=loop)