La matrice LED
Allumer, éteindre l'écran
les commandes
display.on()
etdisplay.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()
etdisplay.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é.
>>> display.show(1)
>>> display.off()
>>> 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é)
Exemple : Dégradé
testez le programme suivant
from microbit import *
for x in range(5):
for y in range(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
>>>
displa
y.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()