La matrice LED

Allumer, éteindre l'écran

  • les commandes display.on() et display.off() permettent d'allumer et d'éteindre l'écran. Éteindre l'écran peut être utile lorsqu'on veut récupérer les broches d'entrée sortie associées à la matrice de LED (broches 3,4,5,7,9,10).

  • les commandes display.is_on() et display.is_off() permettent de tester l'état de l'écran.

  • ne pas confondre ces commandes avec display.clear() qui se contente d'éteindre les pixels de l'écran.

Exemple

Tapez les lignes suivantes dans le REPL pour constater l'effet. Le rallumage de l'écran remet ce dernier dans l'état ou il était. Il n'a donc pas été effacé.

1
>>> display.show(1)
2
>>> display.off()
3
>>> display.on() 

Afficher des messages

display.show() et display scrool()

Affiche un texte ou un nombre sur l'écran. La méthode show() montre caractère par caractère alors que la méthode scroll() fait défiler plus progressivement.

Testez dans le REPL différentes commandes afin de voir le rôle des paramètres optionnels wait et loop

  • display.show(23)

  • display.scroll('Hello World!', loop=True)

  • display.show('Hello World!', wait=False, loop=True)

Afficher / Lire des pixels

display.get_pixel() et display.set_pixel()

display.get_pixel(x, y) retourne l'illumination du pixel situé à la colonne x et la ligne y sous forme d'un entier de 0 (éteint) à 9 (complètement allumé)

display.set_pixel(x, y, value) allume le pixel situé à la colonne x et la ligne y avec une illumination value de 0 (éteint) à 9 (complètement allumé)

ExempleDégradé

testez le programme suivant

1
from microbit import *
2
3
for x in range(5):
4
    for y in range(5):
5
        display.set_pixel(x,y,(x+y)%9)

Afficher des images

Images prédéfinies

tester display.show (Image.HAPPY)

Il y a d'autres images prédéfinies dans MicroPython sur microbit que je vous laisse tester. On peut les obtenir par la commande dir(Image) :

'HEART', 'HEART_SMALL', 'HAPPY', 'SMILE', 'SAD', 'CONFUSED', 'ANGRY', 'ASLEEP', 'SURPRISED', 'SILLY', 'FABULOUS', 'MEH', 'YES', 'NO', 'CLOCK12', 'CLOCK1', 'CLOCK2', 'CLOCK3', 'CLOCK4', 'CLOCK5', 'CLOCK6', 'CLOCK7', 'CLOCK8', 'CLOCK9', 'CLOCK10', 'CLOCK11', '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', 'RABBIT', 'COW', 'MUSIC_CROTCHET', 'MUSIC_QUAVER', 'MUSIC_QUAVERS', 'PITCHFORK', 'XMAS', 'PACMAN', 'TARGET', 'ALL_CLOCKS', 'ALL_ARROWS', 'TSHIRT', 'ROLLERSKATE', 'DUCK', 'HOUSE', 'TORTOISE', 'BUTTERFLY', 'STICKFIGURE', 'GHOST', 'SWORD', 'GIRAFFE', 'SKULL', 'UMBRELLA', 'SNAKE'

Créer sa propre image

Testez dans REPL l'exemple suivant :

>>> monImage = Image("90009:06060:00300:06060:90009")

>>> display.show(monImage)

On peut aussi présenter différemment :

>>> monImage = Image("90009:"

"06060:"

"00300:"

"06060:"

"06060:")

>>> display.show(monImage)

Chaque chiffre représente la valeur du pixel.

Afficher des animations

On peut définir une liste (ou un tuple) d'images pour les afficher sous forme d'une animation : essayez dans le REPL

>>> display.show(Image.ALL_CLOCKS)

>>> display.show(Image.ALL_CLOCKS, delay=1000)

>>> display.show(Image.ALL_CLOCKS, delay=100)

>>> display.show([Image.SAD, Image.HAPPY], delay=1000, loop=True, wait=False)

Complément

Pour arrêter l'animation lorsqu'elle est jouée en tâche de fond, il suffit de faire un display.clear()