MICROBIT : UN “NIVEAU À BULLE”
L’objectif est de créer un “niveau à bulle” , c’est-à-dire un outil qui permette de vérifier l’horizontalité ou la verticalité d’une surface.
Il n’y aura pas de bulle dans notre niveau à bulle …
Nous allons proposer deux solutions différentes
- un affichage qui utilise les LED de la carte
- un affichage qui déplace une lumière sur un Neopixel
Principe de fonctionnement
L’accéléromètre du microbit mesure constamment aussi bien l’accélération de la pesanteur à la surface de la terre (environ 9.81 m/s2), dirigée verticalement vers le bas, que des accélérations dues aux changements de vitesse dans les deux autres directions.
L’accéléromètre est bien visible sur la carte du micro:bit. Il est tout-à-fait analogue à ceux qui se trouvent dans les smartphones et qui permettent de déterminer leur orientation ou leurs mouvements.
Ce capteur peut mesurer l’accélération dans chacune des trois dimensions (axes x, y et z), y compris l’accélération de la pesanteur terrestre.
À partir de ces valeurs lues en permanence par le capteur, il est possible de déterminer l’inclinaison avant (pitch) et l’inclinaison latérale (roll).
1/ Mise en œuvre
Il y a une méthode pour chaque axe qui renvoie un nombre positif ou négatif qui indique une mesure en milli-g. Lorsque la lecture est de 0, il y a un alignement selon cet axe.
Par exemple, voici un « niveau à bulle » très simple qui utilise get_x pour mesurer l’alignement de l’appareil selon l’axe X:
from microbit import * while True: acc = accelerometer.get_x() print (acc) if acc > 0: display.show(Image.ARROW_E) else: display.show(Image.ARROW_W) sleep(100) |
![]() |
E1 : Testez le programme précédent sur la microbit |
2/ Utilisation avancée de l’écran (display)
Les valeurs renvoyées par les méthodes get_x() et get_y() sont comprises entre -1024 et +1024.
E2 : Écrivez un programme qui va allumer un pixel de l’écran au centre, lorsque la carte est parfaitement horizontale. |
E3 : Écrivez un programme qui va allumer un pixel de l’écran au centre, lorsque la carte est parfaitement horizontale. |
E4 : Enfin, le pixel se déplace sur tout l’écran selon les rotations de l’axe x ou l’axe y |
3/ Niveau à bulle et Neopixel
Il s’agit de visualiser le niveau sur un axe, avec un rendu LED, grâce à un Neopixel.
E5 : En partant des programmes précédents et du TP sur Neopixel, la bulle de l’axe x est maintenant matérialisée par une lumière qui se déplace sur le Neopixel. Si vous avez le temps : une couleur pour la bulle x et une autre couleur pour la bulle y |