podometre.py

micro:bit V2 (BBC micro:bit v2) · Archivo : podometre.py · Lenguaje : MicroPython · Uso : Compteur de pas et détection de secousse avec l'accéléromètre

El acelerómetro integrado cuenta pasos (get_steps) y detecta la sacudida (was_gesture shake) que reinicia el contador. El número de pasos se muestra en binario en la matriz y cada paso se traza en la consola serie.

Material necesario

Una BBC micro:bit V2 (nRF52833, matriz LED 5×5, botones A/B, acelerómetro + brújula, micrófono y altavoz) alimentada por USB o pila. Sin componentes: la V2 lleva un acelerómetro LSM303 integrado.

Cableado

Sin cableado. Lleva la placa al cinturón para un mejor conteo de pasos.

Funcionamiento

get_steps() devuelve un contador de pasos por hardware; was_gesture lee gestos calculados por el driver (shake, tilt); reset_steps() pone el contador a cero tras la sacudida.

Ejecución

Abre python.microbit.org, pega el programa MicroPython y envíalo a la placa (la micro:bit aparece como unidad MICROBIT). Pulsa reset para relanzar.

Variantes

Muestra la inclinación con accelerometer.get_tilt(), o combínalo con radio para enviar el contador a otra placa.

podometre.py

# Podometre : pas + secousses + inclinaison avec l'accelerometre.
from microbit import *

dernier = 0
display.show(Image.CHECK)
sleep(800)
display.clear()

while True:
    pas = accelerometer.get_steps()
    if pas != dernier:
        dernier = pas
        # Afficher le nombre de pas en binaire decimal (2 chiffres).
        display.clear()
        display.set_pixel(4, 0, 9)          # separateur
        n = pas
        for y in range(1, 5):
            if n % 2:
                display.set_pixel(2, 4 - y + 1, 9)
            n //= 2
        print('pas =', pas)

    if accelerometer.was_gesture('shake'):
        display.show(Image.SILLY)
        accelerometer.reset_tilt_direction()
        sleep(1000)
        accelerometer.reset_steps()   # remettre le compteur a zero
        dernier = 0
    sleep(50)

← Volver a la ficha