L'affichage 5×5 leds

Pour que les fonctions ci-dessous soient disponibles, il faut importer le module microbit en ajoutant la ligne suivante en début de programme :

from microbit import *

 

La programmation de l'allumage et de l'extinction des leds de la matrice de 5×5 leds se fait par l'intermédiaire de l'objet display qui dispose de plusieurs méthodes.

Travailler avec les leds une par une

Fonctions disponibles

display.set_pixel(x, y, val) : allume le pixel de coordonnées x (entre 0 et 4) et y (entre 0 et 4) avec une intensité égale à val (valeur entre 0 et 9)

display.clear() : éteint toutes les leds

display.get_pixel(x, y) : renvoie l'intensité (entre 0 et 9) de la led de coordonnées x (entre 0 et 4) et y (entre 0 et 4).

Exemple

Le programme suivant allume alternativement les leds de la 3ème ligne.

from microbit import *

display.clear()
num_colonne = 0
num_ligne = 2
while True:
    display.set_pixel(num_colonne, num_ligne, 0)
    num_colonne = (num_colonne + 1) % 5
    display.set_pixel(num_colonne, num_ligne, 7)
    sleep(100)

Afficher du texte ou des nombres

Fonctions disponibles

display.show(texte/nombre, delay=400, wait=True, loop=False, clear=False)

display.scroll(value, delay=150, *, wait=True, loop=False, monospace=False)

display.scroll(string, delay=400)

Remarque

Seules les caractères ASCII sont valides.

Exemple

Le programme ci-dessous permet d'afficher les nombres de 0 à 9 en boucle au rythme de 1 par seconde.

from microbit import *

i = 0
while True:
    display.show(i, delay=1000, wait=True, loop=False, clear=True)
    i = (i + 1) % 10

Utiliser les images

Le module microbit donne la possibilité de créer et d'utiliser des images.

Les images prédéfinies

Voici quelques exemples :

Image.HEART
Image.ARROW_E
Image.CLOCK6
Image.YES

La liste des images prédéfinies est la suivante :

HEART, HEART_SMALL, HAPPY, SMILE, SAD, CONFUSED, ANGRY, ASLEEP, SURPRISED, SILLY, FABULOUS, MEH, YES, NO, CLOCK12, CLOCK11, CLOCK10, CLOCK9, CLOCK8, CLOCK7, CLOCK6, CLOCK5, CLOCK4, CLOCK3, CLOCK2, CLOCK1, ARROW_N, ARROW_NE, ARROW_E, ARROW_SE, ARROW_S, ARROW_SW, ARROW_W, ARROW_NW, TRIANGLE, TRIANGLE_LEFT, CHESSBOARD, DIAMOND, DIAMOND_SMALL, SQUARE, SQUARE_SMALL, MUSIC_CROTCHET, MUSIC_QUAVER, MUSIC_QUAVERS, PITCHFORK, XMAS, PACMAN, TARGET, TSHIRT, ROLLERSKATE, , HOUSE, TORTOISE, STICKFIGURE, GHOST, SKULL, UMBRELLA, SWORD, SNAKE, RABBIT, COW, GIRAFFE, DUCK, BUTTERFLY

Afficher une image ou une suite d'images

Pour afficher une image, l'instruction est la suivante :

display.show(nom_image, delay=0, wait=True, loop=False, clear=False)

display.show(nom_liste_images, delay=400, wait=True, loop=False, clear=False)

Céer ses propres images

Pour créer une image, il faut d'abord lui choisir un nom, puis définir l'intensité lumineuse (valeur de 0 à 9) de chaque pixel.

Exemple :

boat = Image("05050:"
"05050:"
"05050:"
"99999:"
"09990")

Ou sur une seule ligne :

boat = Image("05050:05050:05050:99999:09990")

Modifier une image

Les principales méthodes pour travailler avec les images sont les suivantes :

nom_image.set_pixel(x, y, value) : modifie l'intensité lumineuse d'un pixel d'une image crée par l'utilisateur

nom_image.get_pixel(x, y) : retourne l'intensité lumineuse d'un pixel d'une image

nom_image.shift_left(n) : retourne une nouvelle image décalée vers la gauche de n colonnes

nom_image.shift_right(n) : retourne une nouvelle image décalée vers la droite de n colonnes

nom_image.shift_up(n) : retourne une nouvelle image décalée vers le haut de n colonnes

nom_image.shift_down(n) : retourne une nouvelle image décalée vers le haut de n colonnes

nom_image.copy() : retourne une copie de l'image

nom_image.invert() : retourne une nouvelle image négative (inversion de l'intensité lumineuse de chaque led)

nom_image.fill(value) : modifie une image crée par l'utilisateur en mettant l'intensité de tous les pixels à la valeur value (entre 0 et 9)

Desactiver les leds

display.on() et display.off() : permettent d'activer ou de désactiver la matrice de leds. Cela peut s'avérer utile si l'on souhaite utiliser les connexions associées (broches 3, 4, 5, 7, 9 et 10) pour autre chose.

display.is_on() : Renvoie True si la matrice de leds est activée.