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.