HomeTortue graphiqueGPanelGameGrid WebTigerPython
 Python - Online
display
Deutsch   English   Français   

2. AFFICHAGE LED

 

 

TU APPRENDRAS ICI...

 

comment afficher des messages textuels et des images simples sur l'écran LED du micro:bit.

 

 

25 LED

 

Les 25 LED de l'écran sont disposées en une matrice de 5 × 5 et peuvent être commandées individuellement à l'aide de leurs coordonnées x et y.

Avec la commande
display.set_pixel(x, y, n)
la LED située à la position x, y s'allume avec une intensité lumineuse n, où n est un nombre compris entre 0 et 9. Pour n = 9, la LED brille avec une intensité maximale. Pour n = 0, elle est éteinte. Tu peux éteindre toutes les LED avec la commande display.clear().

 

 

 

EXAMPLES

 

Allumer et éteindre les LED


Ton programme doit allumer et éteindre successivement les LED de la rangée centrale. La commande sleep(400) interrompt l'exécution du programme pendant 400 millisecondes. La LED actuellement allumée reste donc éclairée pendant cette durée.
 




Programme:

from microbit import *

for x in range(5):
    display.set_pixel(x, 2, 9)
    sleep(400)
    display.set_pixel(x, 2, 0)
► Copy to clipboard

Pour apprendre à programmer avec des nombres aléatoires, tu vas, dans cet exemple, allumer et éteindre successivement des LED choisies au hasard. Dans la fonction randomLed(), toutes les LED sont d'abord éteintes. Ensuite, deux nombres compris entre 0 et 4 sont choisis au hasard et la LED correspondant à ces coordonnées est allumée avec une intensité maximale.

 

Dans le programme principal, la fonction randomLed() est appelée toutes les 200 millisecondes dans une boucle infinie. Le programme continue donc à s'exécuter jusqu'à ce que tu transfères un nouveau programme, que tu appuies sur le bouton Reset (situé à côté du connecteur USB) ou que tu coupes l'alimentation électrique.

Programme:

from microbit import *
from random import randint

def randomLed():
    display.clear()
    x = randint(0, 4)
    y = randint(0, 4)    
    display.set_pixel(x, y, 9)

while True:
    randomLed()
    sleep(200)  
► Copy to clipboard

 

Afficher des images

Le module microbit contient plusieurs images de 5 × 5 pixels que tu peux afficher sur l'écran. Tu trouveras les noms de ces images ici ou dans la Dokumentation.

La commande display.show() permet d'afficher ces images. Dans cet exemple, des flèches pointant successivement vers le nord, l'est, le sud et l'ouest sont affichées.

 




Chaque image reste affichée pendant une seconde. À l'aide d'une boucle for, tu répètes cette séquence trois fois.

Programme:

from microbit import *

for i in range(3):
    display.show(Image.ARROW_N)
    sleep(1000)
    display.show(Image.ARROW_E)
    sleep(1000)
    display.show(Image.ARROW_S)
    sleep(1000)
    display.show(Image.ARROW_W)
    sleep(1000)
► Copy to clipboard

 

Créer ses propres images

Tu peux également créer tes propres images en passant à Image une chaîne de caractères composée de 5 groupes de 5 chiffres compris entre 0 et 9. Chaque groupe correspond à une ligne de l'image. Les chiffres déterminent l'intensité lumineuse des LED, de 0 (éteinte) à 9 (intensité maximale). Le programme suivant affiche un carré dont les pixels du contour brillent avec une intensité maximale.

 





Programme:

from microbit import *

img = Image('99999:90009:90009:90009:99999:')
display.show(img)
► Copy to clipboard

 

 

À RETENIR...

 

Pour commander l'écran LED, tu utilises l'objet display avec les fonctions set_pixel(), show(), scroll() et clear().

 

 

TO SOLVE BY YOURSELF

 

 

1.
Écris un programme qui affiche successivement quatre flèches diagonales :
Image.ARROW_NW
Image.ARROW_NE
Image.ARROW_SW
Image.ARROW_SE
 

2.

With a double for loop

for y in range(5):
    for x in range(5):
        display.set_pixel(x, y, 9)
        sleep(400)

tu peux allumer toutes les LED les unes après les autres. Ensuite, toutes les LED doivent s'éteindre simultanément à l'aide de la commande clear(), 1000 millisecondes après l'allumage de la dernière LED.



3.

Écris un programme qui allume d'abord la première rangée de LED, puis la deuxième, la troisième, et ainsi de suite. Fais répéter cette séquence indéfiniment à l'aide d'une boucle infinie.