Exercice : Jouer avec les boutons

Soit le code suivant :

1
from microbit import *
2
3
compteur = 0
4
while True:
5
    if button_a.was_pressed():
6
        display.show(str(compteur))
7
        sleep(1000)
8
        display.clear()

Question

Analyser ce code. Que fait-il ?

Question

Vérifier votre réponse en le testant sur la carte ou le simulateur en ligne.

Question

Modifier le programme ci-dessus pour :

  • que le nombre augmente de 1 à chaque appui sur le bouton A.

  • que le nombre revienne à 0 lorsqu'on appuie sur le bouton B.

  • que le nombre reste affiché en permanence

Soit le code suivant :

1
from microbit import *
2
3
x = 0
4
y = 0
5
6
while True:
7
    display.set_pixel(x,y,0)
8
    if button_a.was_pressed():
9
        x = x - 1
10
    if button_b.was_pressed():
11
        x = x + 1
12
    x = max(0, min(x, 4))
13
    display.set_pixel(x,y,9)
14
    sleep(20)

Question

Analyser ce code. Que fait-il ?

Question

Vérifier votre réponse en le testant sur la carte ou le simulateur en ligne.

Question

Expliquez le rôle de la ligne x = max(0, min(x, 4))

Question

Adapter le programme ci-dessus afin que le point puisse se déplacer verticalement. On va pour cela utiliser l'accéléromètre de la carte :

Pour récupérer l'information d'orientation de la carte selon l'axe y, il faut utiliser la ligne dy = accelerometer.get_y()

  • Si la variable dy est plus grande que 600, le point sera sur la 5eme ligne

  • Si la variable dy est plus grande que 300, le point sera sur la 4eme ligne

  • Si la variable dy est plus petit que -600, le point sera sur la 1ère ligne

  • Si la variable dy est plus grande que -300, le point sera sur la 2ème ligne

  • Sinon, la carte est à peu près horizontale et le point sera sur la ligne centrale.

Indice

Vous pouvez simuler l'orientation de la carte microbit avec le simulateur en allant dans l'onglet Accelerometer puis en déplaçant le curseur y. Si vote exercice est correctement réalisé, vous devriez alors voir le point rouge se déplacer verticalement.

Question

Modifier le programme précédent afin de déplacer le pixel exclusivement avec l'accéléromètre. Selon que l'on penche la carte de droite à gauche, ou d'avant en arrière, le point se déplace sur la matrice LED sans avoir recours aux boutons A et B qui ne seront donc plus utilisés.