El árbol de la micro:bit
Le enseñas tres movimientos y ella sola dibuja las preguntas que los distinguen.
Lo que mide ahora (cada segundo)
1 · Enséñale: pulsa y haz ese movimiento 10 segundos
2 · Cada punto es un segundo de movimiento
3 · El árbol que ha aprendido
4 · Pruébalo: muévete
¿Qué mide la micro:bit y cómo elige el árbol?
La micro:bit tiene un acelerómetro: un chip que nota cuánto empuja el movimiento. Cada segundo calcula la fuerza de aceleración muchas veces y se queda con dos cosas: la fuerza máxima y la variación (máxima menos mínima).
Quieta marca unos 1000 mg: es la gravedad, que siempre tira de ella. Al andar, el pie da golpes y la variación sube. Al correr, los golpes son más fuertes.
El árbol prueba todas las preguntas del tipo «¿la variación es menor o igual que…?» y «¿la fuerza máxima es menor o igual que…?». Se queda con la que deja los grupos más separados y repite dentro de cada grupo. Dos preguntas como máximo, para que se pueda leer.
La micro:bit, por muy bien que mida, no es un instrumento de laboratorio: no dos micro:bit marcan igual y no es lo mismo llevarla en el bolsillo que en el tobillo. Por eso el árbol hay que entrenarlo siempre con la micro:bit puesta donde la vas a llevar.
El programa de la micro:bit (MakeCode)
Proyecto nuevo, añade la extensión Bluetooth y en Ajustes del proyecto activa «Sin emparejamiento». Cambia a JavaScript y pega:
let maximo = 0
let minimo = 0
let fuerza = 0
bluetooth.startUartService()
input.setAccelerometerRange(AcceleratorRange.EightG)
bluetooth.onBluetoothConnected(function () {
basic.showIcon(IconNames.Yes)
})
bluetooth.onBluetoothDisconnected(function () {
basic.showIcon(IconNames.No)
})
basic.forever(function () {
maximo = 0
minimo = 99999
for (let i = 0; i < 50; i++) {
fuerza = input.acceleration(Dimension.Strength)
maximo = Math.max(maximo, fuerza)
minimo = Math.min(minimo, fuerza)
basic.pause(20)
}
bluetooth.uartWriteLine("" + maximo + "," + minimo)
})