Skip to main content

Bloques de entradas: sonómetro, magnetómetro y acelerómetro con una sola línea de código

Sensor de sonido

Para usar los sensores integrados de micro:bit no es necesario cargar ni inicializar bibliotecas de código. Las medidas de los sensores se encuentran disponibles en el menú Entrada en forma de variables. En el lenguaje de bloques las variables se representan mediante rectángulos de extremos redondeados.

La versión 2 de micro:bit dispone de un micrófono que además de grabar sonidos puede medir el nivel de ruido. La variable nivel de sonido nos dará lecturas entre 0 (nivel mínimo de sonido) y 255 (nivel máximo). Estos niveles no se corresponden con ninguna unidad física, como el dB por ejemplo, y deben usarse con fines comparativos.

La razón de que algunos sensores de micro:bit proporcionen medidas entre 0 y 255, es que con un byte (8 bits) sólo se pueden representar 28 = 256 números distintos, es decir, el 0 y los 255 primeros números naturales.

El bloque plot bar graph of del menú LED permite construir un sencillo medidor de sonido ambiente. Como 255 es un valor muy alto de intensidad de sonido, ajustamos el rango de medida de la barra, up to, a la mitad, es decir, a 128. Así la barra reflejará mejor el sonido de una voz o el sonido ambiental normal.

Programa de barra de sonido.jpg

La variable nivel de sonido debe arrastrarse desde el menú Entrada. En el momento en el que la variable haya sido introducida en el programa, el simulador de micro:bit cambiará, mostrando una barra ajustable que simulará el nivel de sonido captado por el micrófono. El valor numérico del nivel de sonido simulado también será mostrado al lado del LED del micrófono.

microbit-Sonido.png

Tras descargar el programa en la placa real, la matriz de LED representará continuamente el sonido recogido por el micrófono en forma de barra vertical. El LED del micrófono iluminado indicará que micro:bit está captando sonido.

Barra de sonido.gif

Una tarjeta micro:bit ejecutando este programa puede agotar un par de pilas alcalinas IEC R03 (AAA) en unas 40 horas (Frost 2018). Para ahorrar energía y prolongar la autonomía del medidor podemos reducir tanto el brillo de la pantalla como el número de medidas por segundo que realiza el sensor. Para conseguir esto último introduciremos en el bucle para siempre un bloque pausa (ms). Si el bloque se ajusta a 100 ms, el sensor sólo realizará 10 mediciones del nivel de sonido cada segundo.

Ahorro de energía.jpg

Magnetómetro y acelerómetro

Con una mínima modificación, el código anterior puede usarse para monitorizar aquellas magnitudes que puedan variar rápidamente. Por ejemplo, podemos usar el sensor integrado de campo magnético (magnetómetro) para medir el campo magnético de la Tierra, el de una imán o el de una masa de hierro. 

Podemos acceder al sensor mediante la variable fuerza magnética (µT), que proporciona la inducción magnética medida en microtesla. Al cargar el programa, micro:bit comenzará a medir el campo magnético terrestre que varía, según la localización, entre 25 y 65 µT. Nótese que el magnetómetro no limita sus medidas al valor de 255.

Programa de inducción magnética.jpg

Otra medida interesante es la de la aceleración de la placa. La variable de acceso al acelerómetro se llama aceleración (mg) y proporciona las aceleraciones medidas en milésimas de g. Cuando la placa esté en reposo medirá  la aceleración de la gravedad terrestre, que es de 1 g. Los movimientos bruscos de la placa en cualquier dirección deberían alterar el valor medido.

Programa de aceleración.jpg