Skip to content

Test d'une matrice 8x8 LEDs i2C

Ce que l'on va faire ici

Voici comment utiliser une matrice de 8x8 LEDs à communication I2C.

Le matériel

  • La carte micropython

  • Une matrice à LEDs 8x8 I2C :

Le montage

Sur la Pi Pico, on connecte :

  • les broches SDA/SCL du module connectées en GP16(SDA) /GP17 (SCL) qui corresponde à I2C n°0

  • Vbus (=5V alim USB) ou VSys idéalement ~5V et GND de la carte vers Vcc / GND du module.

ATTENTION : ce module nécessite du 5V en 500mA soit 2.5W

Pré-requis

Ce module nécessite une librairie dédiée pour le CI HT16K33.

Une autre ici :

Le code

from machine import I2C, Pin, Timer
from ht16k33_matrix import Matrix8x8

import utime

i2c=I2C(0,sda=Pin(16), scl=Pin(17)) # definition I2C

leds=Matrix8x8(i2c) # definition matrice

timer=Timer()

leds.brightness(8) # luminosite

leds.fill(True) # écran entier
leds.show() # affiche les modifs

utime.sleep_ms(2000)

leds.fill(False) # écran entier
leds.show() # affiche les modifs

x=0
y=0

compt=0

def loop(timer):

        global compt,x,y

        if x==0 and y==0 : 
                leds.fill(False) # écran entier
                leds.show() # affiche les modifs

        leds.pixel(x,y,True)
        leds.show()

        compt=compt+1
        x=compt%8
        if compt%8==0 : 
                y=y+1
        if y==8 : 
                y=0

timer.init(freq=20, callback=loop)

Résultat

Après un affichage transitoire de toutes les LEDs, les colonnes se remplissent successivement.