Exercice : Jouer avec les boutons
Soit le code suivant :
from microbit import *
compteur = 0
while True:
if button_a.was_pressed():
display.show(str(compteur))
sleep(1000)
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 :
from microbit import *
x = 0
y = 0
while True:
display.set_pixel(x,y,0)
if button_a.was_pressed():
x = x - 1
if button_b.was_pressed():
x = x + 1
x = max(0, min(x, 4))
display.set_pixel(x,y,9)
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.
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.