🛠 Détecter l'inclinaison et les gestes avec l'accéléromètre

micro:bit V2 (BBC micro:bit v2) · debutant · Schéma : IMG-microbit-v2-debutant-3-microbit-v2-inclinaison-accelerometre.svg — micro:bit V2 inclinée avec flèches de mouvement, icône secouer et flèches haut/bas/gauche/droite autour de la carte

Objectifs

Exploiter le capteur combiné accéléromètre + magnétomètre embarqué (ST LSM303, ou NXP FXOS8700CQ selon les séries de fabrication) pour lire l'inclinaison (x, y, z en milli-g) et reconnaître les gestes officiels : shake, tilt up/down/left/right, face up/down, freefall.

Matériel

Code complet

from microbit import *

while True:
    # Inclinaison continue : flèches directionnelles
    if accelerometer.get_y < -300:      # penché vers le haut
        display.show(Image.ARROW_N)
    elif accelerometer.get_y > 300:     # penché vers le bas
        display.show(Image.ARROW_S)
    elif accelerometer.get_x < -300:    # penché à gauche
        display.show(Image.ARROW_W)
    elif accelerometer.get_x > 300:     # penché à droite
        display.show(Image.ARROW_E)
    # Gestes ponctuels
    elif accelerometer.was_gesture('shake'):
        display.show(Image.YES)
        sleep(400)
    elif accelerometer.is_ready:
        display.show(Image.HAPPY)
    sleep(50)

get_x/get_y/get_z renvoient l'accélération en milli-g (au repos, l'axe vers le bas indique environ 1000). Les seuils ±300 évitent les déclenchements parasites.

Vérification attendue

Inclinez la carte : une flèche pointe dans la direction du mouvement. Secouez-la : la coche « oui » apparaît. Posée à plat : smiley. Le tout fonctionne débranchée.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels