LEs LEDS et LES Boutons de la micro:bit

1.La matrice led 5x5

La carte Micro:Bit présente sur sa face avant une matrice (un tableau) de 25 LEDS qui peuvent être allumées indépendamment les unes des autres. Ainsi il est possible d'afficher des dessins tout prêts ou de personnaliser l'affichage.

La ligne de code Python permettant d'afficher un symbole est :

display.show(Image.SMILE) (pour afficher le smiley par exemple)

D'autres symboles tout prêts sont disponibles ICI

Travail à faire :

  • Réaliser un programme qui affiche l'émoticône de votre choix

  • Améliorer le programme en faisant afficher plusieurs émoticônes successivement en insérant une pause entre eux

Note : la fonction sleep() permet de faire une pause. Le temps de pause en millisecondes s'insère entre les parenthèses.

2.Images personnelles

Bien sûr, il est possible de créer sa propre image sur le micro:bit. C’est facile.

Chaque pixel LED sur l’affichage physique peut prendre une parmi dix valeurs. Si un pixel prend la valeur 0 (zéro) c’est qu’il est éteint. Littéralement, il a une luminosité de zéro. En revanche, s’il prend la valeur 9 il est à la luminosité maximale. Les valeurs de 1 à 8 représentent des niveaux de luminosité entre éteint (0) et « à fond » (9).

Muni de ces informations, il est possible de créer une nouvelle image comme ça :

from microbit import *

bateau = Image("05050:"

"05050:"

"05050:"

"99999:"

"09990")

display.show(bateau)

(Une fois lancé, l’appareil devrait afficher un bateau à voile dont le mât est moins brillant que la coque).

Chaque ligne de l’affichage physique est représentée par une ligne de nombres se terminant par : et entourée de " guillemets doubles.

Chaque nombre indique une luminosité. Il y a cinq lignes de cinq nombres donc il est possible de spécifier la luminosité individuelle de chacune des cinq LED sur chacune des cinq lignes sur l’affichage physique.

C’est ainsi qu’on créé une image.

REMARQUE : Avec l'instruction display.set_pixel(x,y,l) il est possible de régler la luminosité des pixels de l'affichage individuellement de 0 (désactivé) à 9 (luminosité maximale). x et y varient de 0 à 4
Exemple : display.set_pixel(1, 4, 9) allume la 2ème LED de la 5ème ligne

Travail à faire :

  • Copier le code ci-dessus et afficher le "bateau" sur les LEDS de votre carte micro:bit.

  • Sur papier, dessiner un motif sur une matrice de 5 par 5 (tableau 5 colonnes par 5 lignes) et encodez ce dessin pour le faire afficher par la carte micro:bit

3.Les boutons

2 boutons sont présents sur la carte afin de rajouter de l’interactivité dans les programmes. Les fonctions associées sont :

button_a.is_pressed() renvoie True si le bouton est effectivement appuyé

button_a.was_pressed() renvoie True si le bouton a été appuyé

button_a.get_pressed() renvoie le nombre de fois que le bouton a été appuyé.

Les mêmes fonctions existent pour le bouton B en remplaçant la lettre a dans le nom par b.

Travail à faire :

  • Proposer un programme qui affiche un smiley qui sourit 😊 lorsqu'on appuie sur le bouton A et un smiley triste 🙁 lorsqu'on appuie sur le bouton B

AIDE :

  • Dans une une structure de boucle infinie (while True) inclure une structure conditionnelle (if appui bouton A -> action 😊 elif appui bouton B -> action 🙁)

4.lancer de dé

A partir des parties précédentes, réaliser un programme qui simulera un lancer de déà 6 faces. Le programme devra choisir un chiffre entre 1 et 6 au hasard (On utilisera la fonction random qu'il faudra importer via l'instruction import random)

Un bouton servira à effectuer le lancer de dé tandis que l'autre permettra d'effacer l'écran.

Améliorations possibles :

  • On pourrait faire s'afficher une petite animation sur l'écran simulant un dé qui roule ou des numéros qui défilent.

  • Au lieu d'afficher un chiffre, pourrait s'afficher un nombre de points, un peu à la façon des véritables dés.