podometre.py
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)