TP3 — Manipuler les boutons
La carte micro:bit a deux boutons A et B situés à gauche et à droite de l'écran. On peut détecter s'ils sont pressés en utilisant les deux fonctions suivantes :
button_a.is_pressed()qui renvoitTrue(vrai) si le bouton A est pressé au moment où cette fonction est exécutée, etFalse(faux) sinon ;button_a.was_pressed()qui renvoitTrue(vrai) si le bouton A a été pressé depuis que la carte a été allumée, ou depuis le dernier appel de cette fonction, etFalse(faux) sinon ;button_b.is_pressed()etbutton_b.was_pressed()a la même signification, mais pour l'autre bouton.
Les deux fonctions semblent à première vue très proche. Une différence apparaîtra en exécutant une action dans une boucle si le bouton est appuyé. Si le bouton est appuyé longtemps (plus d'un centième de secondes) :
- avec
is_pressed(), l'action risquera d'être exécutée plusieurs fois ; - avec
was_pressed(), l'action ne sera exécutée qu'une seule fois.
En pratique, vous aurez peu à vous soucier de cette différence.
Horloge
- Ouvrez l'activité
SNT - TP3 - HorlogesurCapytale(horloge.py) avec le code73a2-8402973et téléverser le programme sur votre cartemicro:bit. - Vérifiez qu'en appuyant sur le bouton de droite, l'aiguille s'arrête de tourner, et qu'en appuyant sur le bouton de gauche, elle se remet à tourner.
- Lisez et comprenez comment le programme fonctionne.
- Modifiez le programme pour inverser le rôle des deux boutons.
Compteur
- Ouvrez l'activité
SNT - TP3 - CompteursurCapytale(compteur.py) avec le code06eb-8403165et téléverser le programme sur votre cartemicro:bit. - Vérifiez qu'il fonctionne comme attendu : il doit afficher le nombre 0, et augmenter de 1 à chaque fois que vous appuyez sur le bouton B.
- Modifiez ce programme pour diminuer le compteur de 1 lorsque vous appuyez sur le bouton A.
Modifiez ce programme pour remettre le compteur à 0 lorsque vous appuyez sur les deux boutons en même temps. Pour faire ceci, vous devrez :
- utiliser le mot-clef
andpour tester deux conditions en même temps ; - utiliser, pour ce test,
is_pressed()plutôt quewas_pressed().
- utiliser le mot-clef
Bilan
- Demander puis compléter la fiche bilan de ce TP ;
- Rendez la fiche au professeur qui doit alors valider le fonctionnement de votre programme ;
- Passez au TP suivant.