Procesamiento de datos del entorno obtenidos con tarjetas micro:bit

Imagen con edificio y placa microbit
  • Nivel:
    • Bachillerato
    • E.S.O.
    • F.P.
  • Área del pensamiento computacional:
    • Programación

A partir de los datos obtenidos por alguno de los sensores de una placa Micro:bit, o de los sensores conectados a dicha placa, podremos obtener una hoja de cálculo con las distintas mediciones que se realicen.

¿Qué debo saber para empezar a trabajar con este recurso?

Niveles a los que va dirigido

ESO, Bachillerato, FP

Asignatura/s

Robótica, Tecnología y Digitalización, Matemáticas, Biología y Geología, Física y Química, Educación Física, Educación Plástica, Visual y Audiovisual.

Además en ciclos formativos se podría utilizar en módulos relacionados con la computación, con el uso de aplicaciones ofimáticas, o de carácter científico en los que se realice una toma de datos con un sensor compatible con la placa micro:bit.

¿Se requieren conocimientos previos, cuáles son?

Se recomienda tener conocimientos básicos de computación utilizando programación por bloques (tipo Scratch), así como conocimientos básicos de la placa micro:bit.

Operaciones básicas de cálculo con hojas de cálculo.

Conocer distintos tipos de sensores compatibles con la placa Micro:bit (o Arduino), para utilizar los sensores adecuados en la recogida de datos.

¿Qué objetivos se persigue con el recurso?

Los objetivos de este recurso son los siguientes:

  • Comprender el impacto que la computación y la robótica tienen en nuestra sociedad, sus aplicaciones en los diferentes ámbitos de conocimiento, beneficios y riesgos
  • Desarrollar el pensamiento computacional, aprendiendo a resolver problemas con la ayuda de un ordenador y otros dispositivos de procesamiento, a saber, formularlos, a analizar información, a modelar y automatizar soluciones algorítmicas, y a evaluarlas y generalizarlas.
  • Realizar proyectos de construcción de sistemas digitales, que cubran el ciclo de vida, reaccionando a situaciones que se produzcan en su entorno y solucionando problemas del mundo real de una forma creativa.
  • Construir sistemas robóticos sencillos, que perciban su entorno, comprendiendo los principios básicos de ingeniería sobre los que se basan y reconociendo las diferentes tecnologías empleadas.
  • Recopilar, almacenar y procesar datos con el objetivo de encontrar patrones, descubrir conexiones y resolver problemas, utilizando herramientas de análisis y visualización que permitan extraer información, presentarla y construir conocimiento.

¿En qué consiste el recurso?

Las tarjetas micro:bit disponen de una serie de sensores integrados que permiten obtener datos del entorno como el sensor de temperatura, acelerómetro, intensidad de luz, brújula, micrófono, o botones. También se pueden obtener datos de otros sensores externos que se puedan conectar a una placa micro:bit, como humedad, presión atmosférica, CO2, nivel de agua, campo magnético, detector de humo, gas, alcohol, vapor, etc.

Esos datos obtenidos pueden ser recogidos en un ordenador a través de la consola del monitor serie que ofrece micro:bit.

Si los datos son muestreados durante un determinado tiempo, se puede obtener un registro de todos los datos obtenidos, los cuales pueden ser analizados utilizando una hoja de cálculo para llegar a una serie de conclusiones.

En este ejemplo concreto se va a usar el micrófono como sensor de sonido para determinar el nivel de ruido que se detecta durante un tiempo. Hay que tener en cuenta que el micrófono viene integrado en las placas micro:bit a partir de la versión 2.

Y ahora que sé para que sirve, ¿cómo lo pongo en práctica?

Paso 1: Acceso al entorno de desarrollo

Accede al entorno de desarrollo de micro:bit usando la dirección https://makecode.microbit.org/

Haz clic en la zona “Nuevo proyecto” para empezar a crear la actividad. Asigna el nombre que desees al proyecto. En este ejemplo se le ha llamado “Analizador de ruido”.

Haz clic en el botón “Crear” para empezar con la programación.

Si no conoces este entorno de desarrollo para la placa micro:bit, observa que en el panel izquierdo aparece un emulador de la placa que podrás usar para realizar algunas pruebas antes de usar el código en una placa real, o si no dispones de una de estas placas.

A continuación, a su derecha, puedes encontrar los distintos bloques que podrás usar para realizar la programación, los cuales se encuentran organizados por secciones (“Básico”, “Entrada”, “Música”, etc).

Y el panel que está más a la derecha es el panel de trabajo, donde deberás ir colocando los bloques de código que formen la aplicación a ejecutar en la tarjeta micro:bit.

Inicialmente puedes encontrar dos bloques:

  • “Al iniciar”: Los bloques que coloques dentro de él se ejecutarán una sola vez, al conectar la placa a la alimentación a través de baterías o por el cable USB.
  • “Para siempre”: Los bloques que coloques dentro de él se ejecutarán repetidamente hasta que desconectes la alimentación de la tarjeta.

Así que cuando vayas a añadir un bloque de código nuevo deberás determinar en primer lugar si deseas que se ejecute únicamente al iniciar la placa o repetidamente de manera indefinida.

Paso 2: Consultar el nivel de sonido

En esta actividad se va a usar el micrófono de la placa (recuerda que para usar este sensor con una tarjeta micro:bit real, debes usar una de la versión 2 o superior) como sensor de ruido ambiental. Ten en cuenta que esta actividad se puede realizar de manera similar para cualquiera de los sensores que ofrece esta placa (acelerómetro, temperatura, intensidad de luz, brújula, micrófono) o incluso un sensor externo que conectes (humedad, presión atmosférica, CO2, nivel de agua, campo magnético, detector de humo, gas, alcohol, vapor, etc).

El bloque de código que permite obtener el nivel de sonido se encuentra en la sección “Entrada”, en la parte final.

Si no conoces este entorno de programación, o no estás acostumbrado a usar lenguajes de programación por bloques al estilo Scratch, debes recordar que hay que observar la forma de cada bloque que vayas a añadir al código para saber cómo debes colocar cada bloque.

Ese bloque tiene los lados con forma redondeada, por lo que sólo puedes usarlo dentro de otro bloque que admita un valor. Para empezar a hacer alguna pequeña prueba de funcionamiento, vamos a mostrar en la pequeña pantalla de leds de la tarjeta micro:bit el valor obtenido del nivel de sonido.

Utiliza el bloque “Mostrar número” de la sección “Básico”, que permite mostrar un valor numérico en la mini-pantalla de la tarjeta micro:bit. Añádelo arrastrándolo dentro del bloque “Para siempre” para que muestre el valor repetidamente.

Observa que en cuanto añades el bloque “Mostrar número 0”, aparece el valor 0 en la pantalla de leds del simulador.

El hueco que deja el bloque “Mostrar número” tiene los lados redondeados, por lo que podemos añadir ahí el bloque “Nivel de sonido” que vimos anteriormente, para que en lugar del valor 0, ahora muestre el valor obtenido por el sensor de sonido.

En el simulador se puede cambiar manualmente el valor obtenido por el sensor de sonido modificando la barra vertical que ha aparecido junto a la pantalla, como se puede apreciar en la imagen. El valor establecido en esa barra es el que se muestra en la pantalla.

Observa que el nivel de sonido obtenido por el sensor oscila entre los valores 0 (silencio) y 255 (máximo sonido).

Paso 3: Ejecutar en la tarjeta micro:bit real

Si dispones de una tarjeta micro:bit, conéctala al ordenador mediante un cable USB adecuado para que puedas ejecutar el código anterior detectando el nivel de sonido real.

En el siguiente vídeo vas a poder ver el proceso que se va a describir a continuación:

https://youtu.be/LJEb467t3Y0

La primera vez que vayas a ejecutar el código en la placa micro:bit que has conectado, deberás establecer la conexión en el entorno de desarrollo que estamos usando. Para ello, usa el botón de los puntos suspensivos que puedes encontrar junto al botón “Descargar”. Selecciona la opción “Connect device” (conectar dispositivo).

Avanza por las pantallas que aparecen hasta que cambie el icono del botón de “Descargar” por el icono de micro:bit.

Ahora, si pulsas el botón “Descargar” se enviará directamente a la tarjeta micro:bit el código que has elaborado y se ejecutará.

Ten en cuenta que si realizas esta operación en un ordenador con sistema operativo basado en Linux, no podrás hacer el envío directo del código a la tarjeta micro:bit. En ese caso, deberás descargar el archivo al ordenador (obtendrás un archivo con la extensión .hex) que deberás copiar a la unidad MICROBIT.

En este enlace puedes ver con más detalle cómo hacer la transferencia del código a la tarjeta micro:bit en los distintos sistemas operativos compatibles: https://microbit.org/es-es/get-started/first-steps/set-up/

Para que muestre un valor diferente al 0, deberás hablar o emitir algún sonido para que suba el nivel de sonido.

Paso 4: Obtener archivo de datos

El objetivo principal de esta actividad es llegar a conseguir que los datos obtenidos por el sensor (de sonido en este caso) se puedan analizar desde una aplicación como una hoja de cálculo.

Para eso necesitamos que los datos que se van obteniendo sucesivamente por el sensor se puedan volcar a un archivo. Para conseguirlo vamos a sacar los valores obtenidos por el sensor a lo que se denomina la Consola del monitor serie en vez de mostrarlos en la pantalla de la micro:bit.

Para conseguir enviar algo a la Consola del monitor serie, debes usar un bloque de la sección “Serial” que puedes encontrar al desplegar el apartado “Avanzado”. En concreto debes usar el bloque “Serial escribir línea” para que cada dato obtenido por el sensor se envíe en una línea diferente a la Consola.

Sustituye el bloque que mostraba el valor del sensor en la pantalla enviándolo a la papelera y añade ese bloque para escribir en la Consola del monitor serie (Serial).

Ten en cuenta que si se deja el bloque que mostraba los datos en la pantalla de la micro:bit, se ralentizará la aplicación ya que la actualización de la pantalla de leds es algo lenta, y no se podría ajustar correctamente el número de muestreos que luego se desee realizar en función del tiempo de ejecución transcurrido.

Al ejecutar el nuevo código con el simulador, observarás que se muestra bajo la imagen de la tarjeta micro:bit un enlace “Mostrar consola” donde se especifica que corresponde a los datos del “Simulador”.

Si usas ese enlace se mostrará en la parte derecha de la pantalla una representación gráfica de los valores recogidos, y en la parte inferior los datos numéricos correspondientes. Recuerda mover la barra del simulador que corresponde al sensor de sonido (o el que utilices) para obtener diferentes datos.

Usa el botón “Volver atrás” para volver a la pantalla anterior donde tenías el código de la aplicación que estás desarrollando.

Descarga el nuevo código en la tarjeta micro:bit real (si dispones de ella) de la misma manera que se hizo anteriormente, y observa que aparece un nuevo enlace en la ventana, indicando ahora “Mostrar consola dispositivo”.

Si usas ese enlace o botón para mostrar la consola del dispositivo y hablas junto a la placa o emites algunos sonidos, podrás ver que la gráfica va mostrando los niveles de sonidos recibidos, y en la parte inferior encontrarás también los datos numéricos.

Utiliza el botón de pausa (verde) cuando desees finalizar la captura de los datos, y usa el botón de descarga de los datos (azul) para obtener un archivo con los datos generados por el sensor.

El archivo obtenido se almacenará en la carpeta de “Descargas” de tu ordenador, o en la carpeta de descargas que tenga configurado tu navegador web. El nombre del archivo empezará por “microbit”, contendrá la fecha y hora en que ha sido generado y tendrá la extensión “.csv”.

Paso 5: Procesar archivo de datos CSV en hoja de cálculo

Para realizar cálculos con los datos obtenidos por el sensor vamos a utilizar una hoja de cálculo. En esta actividad se propone usar la hoja de cálculo de Google, pero podrías usar cualquier otra aplicación similar como Microsoft Excel o Calc de OpenOffice/LibreOffice.

Desde Google Drive (https://drive.google.com), habiendo accedido con el usuario que desees, dirígete a la carpeta donde desees alojar la hoja de cálculo, y usa el botón “+ Nuevo” y selecciona la opción “Hoja de cálculo de Google”.

El contenido del archivo CSV que contiene los datos capturados por el sensor tiene un formato similar al siguiente:

Como puedes observar, está formado por dos columnas de datos, donde la primera es una medición de tiempo y en la segunda se encuentran los datos tomados por el sensor. El tiempo que aparece en la primera columna es el tiempo transcurrido en segundos desde que empieza la toma de datos desde la placa micro:bit. Como puedes apreciar, se utiliza un formato donde el separador de decimales es el punto en vez de la coma que usamos habitualmente en español. Por tanto, para que la hoja de cálculo interprete bien esos datos, se debe configurar para que los manipule en formato Inglés/Estados Unidos.

Así que lo primero que vamos a hacer en la hoja de cálculo de Google que acabamos de crear será cambiar su configuración regional para ponerla en Estados Unidos. No te preocupes por el idioma, porque esta acción no cambia el lenguaje del interfaz, sólo afecta a la manera de interpretar los datos.

Accede a la opción “Archivo > Configuración”.

En el cuadro de diálogo que aparece, cambia la configuración regional a “Estados Unidos” y pulsa el botón “Guardar y volver a cargar”.

Ahora, para añadir los datos del archivo CSV, usa la opción “Archivo > Importar”.

En la ventana de diálogo de “Importar archivo” selecciona la pestaña “Subir”.

Y arrastra sobre esta ventana el archivo CSV que se ha descargado anteriormente o utiliza el botón “Seleccionar un archivo de tu dispositivo” para buscarlo. Recuerda que lo más probable es que lo tengas en tu carpeta de “Descargas”.

Aparecerá a continuación una ventana de configuración de la importación de datos, donde debes cambiar la opción de “Ubicación de importación” para usar “Reemplazar la hoja actual”, para que así utilice la configuración regional que hemos hecho anteriormente.

Por tanto, asegúrate de que queda así la configuración y utiliza el botón “Importar datos” para finalizar la importación.

Si todo ha ido correctamente ya deberás ver en la hoja de cálculo los datos importados, debiendo aparecer de manera similar a la siguiente (con otros datos, lógicamente):

Recuerda siempre asignar un nombre a los documentos que generes, por lo que haz clic en la parte superior izquierda, donde aparece “Hoja de cálculo sin título” y escribe el nombre que desees para este documento.

Para que posteriormente aparezca la información mejor indicada, vamos a cambiar los textos que aparecen en las dos primeras filas, donde conviene especificar el tipo de información que contiene cada columna.

En primer lugar elimina la primera fila haciendo clic derecho sobre la fila y selecciona la opción “Eliminar fila”.

Cambia los textos de la primera fila actual, especificando que la primera columna contiene los datos del tiempo y la segunda columna contiene, en este caso, las mediciones del sonido.

Paso 6: Análisis de los datos

El análisis de los datos contenidos en la hoja de cálculo puede ser muy diverso dependiendo de la información que se desee extraer de ellos, por lo que deberás utilizar en cada caso la fórmula que mejor se adapte a tus necesidades. En este enlace puedes encontrar información sobre las fórmulas que puedes utilizar: https://support.google.com/docs/table/25273 y en este otro puedes ver cómo se añaden fórmulas: https://support.google.com/docs/answer/46977?hl%3Den%26ref_topic%3D1361471

Como ejemplo, vamos a ver en primer lugar cómo crear una gráfica de los datos recogidos.

Selecciona las dos columnas de datos que tenemos haciendo clic en la cabecera de la primera columna (A) y arrastra el ratón hasta la segunda (B) manteniéndolo pulsado. Deberán quedar en azul ambas columnas.

Selecciona la opción “Insertar > Gráfico”.

Directamente aparecerá sobre la hoja de cálculo una gráfica de los datos que podrías personalizar si lo deseas con las propiedades que aparecen en el panel derecho.

Paso 7: Cambio de la frecuencia de muestreo de datos

Como has podido observar, los datos del sensor de sonido se toman unas 40 veces por segundo, por lo que si dejas la placa micro:bit tomando datos durante varios minutos, la cantidad de información recogida puede ser bastante alta, y quizá no necesites que se tomen las muestras de datos tan rápidamente.

Vamos a poner el caso de que deseemos realizar la captura de datos del sensor una vez por segundo.

En la categoría “Básico” del entorno de programación de micro:bit puedes encontrar el bloque “pausa (ms)” (está casi al final). Ese bloque permite parar la ejecución del código durante el tiempo (en milisegundos) que se indique.

Añade ese bloque detrás de la toma de datos que se había hecho y modifica el parámetro que inicialmente indica el valor 100 (milisegundos) para asignar el valor “1 second” (1 segundo).

El parámetro cambiará a “1000” (milisegundos) que equivale a 1 segundo.

Sube el nuevo código a la tarjeta micro:bit de la misma manera que se explicó anteriormente y observa en la consola que los datos se obtienen de manera más pausada (una vez por segundo). En este video puede ver un ejemplo de la captura que se hace cada segundo: https://youtu.be/IqEAywj6HJ0

Si ves los datos en la hoja de cálculo podrás apreciar que los datos del tiempo de la primera columna se van incrementando más lentamente, cambiando de unidad en unidad.

Paso 8: Captura de datos a distancia (cercana)

Si tienes la posibilidad de tener dos tarjetas micro:bit (para este caso no podrías usar el simulador), puedes usar una para la recogida de datos de manera desconectada del ordenador, y la otra placa haría las funciones de receptor de los datos emitidos por la otra placa.

Para usar esta posibilidad hay que aprovechar la transmisión de datos que pueden hacer dos tarjetas micro:bit entre sí a través de ondas de radio.

Ten en cuenta que la distancia entre las dos tarjetas micro:bit no puede ser muy grande, especialmente si hay obstáculos entre ambas. La distancia entre ambas deberá ser tan sólo de unos pocos metros (menos de 10 metros aproximadamente).

La tarjeta que no esté conectada al ordenador deberá conectarse durante la recogida de datos a unas baterías como se muestra en la imagen. Puede usar un portapilas adecuado para las tarjetas micro:bit con dos pilas de tipo AAA, o cualquier otro tipo de pilas o baterías recargables que proporcionen 3 voltios a la tarjeta micro:bit.

Cada tarjeta micro:bit estará programada de manera diferente, ya que una va a ser la que capture los datos del sensor de sonido y hará la funciones de emisora de los datos. La otra tarjeta, conectada al ordenador, hará las funciones de recepción de los datos emitidos por la otra tarjeta.

Así que deberás crear un proyecto diferente para cada tarjeta. Vuelve a la pantalla inicial del entorno de programación de micro:bit y crea los proyectos para cada tarjeta. En este ejemplo se han creado los proyectos “Emisor datos sensor” y “Receptor datos a USB”.

Para configurar las tarjetas micro:bit de manera que sean capaces de comunicarse entre sí, hay que asignarles a cada una un mismo número de grupo de comunicación por radio. Eso se hace con el bloque “Radio establecer grupo” que encontrarás en la sección “Radio”.

El número de grupo que se indique debe ser el mismo para ambas tarjetas que se deban comunicar entre sí. Por tanto, si dejas el número 1, debes asignar ese mismo número de grupo a ambas tarjetas.

Esa asignación del número de grupo debes hacerla al iniciar la tarjeta, por lo que deberás añadir el bloque dentro del bloque “Al iniciar” en ambos proyectos.

CÓDIGO DE LA TARJETA A DISTANCIA

En el proyecto (“Emisor datos sensor”) de la tarjeta que no vaya a estar conectada al ordenador y que va a tomar los datos del sensor y enviarlos, deberás añadir un bloque “Radio enviar número” añadiendo el valor del sensor de sonido que antes se enviaba a la consola del monitor serie.

Ten en cuenta que para subir el código a la tarjeta tendrás que conectarla al ordenador. Luego la dejarás desconectada y alimentada por las baterías para la toma de datos.

CÓDIGO DE LA TARJETA CONECTADA

En el proyecto (“Receptor datos a USB”) de la tarjeta que vaya a quedar conectada al ordenador y que recibirá los datos por radio, deberás añadir un bloque “Al recibir radio”, cuyo contenido se ejecutará automáticamente cada vez que reciba un dato por radio.

Observa que el bloque “Al recibir radio” contiene una variable que ha recibido el nombre “receivedNumber”, que va a almacenar cada dato que se reciba por radio. Por eso, dentro de ese bloque se debe añadir un bloque “Serial escribir línea” usando esa variable, para que el dato que se reciba se envíe a la consola del monitor serie (la variable “receivedNumber” la puedes añadir al bloque “Serial escribir línea” arrastrándola desde el bloque “Al recibir radio”).

Sube el código de cada proyecto a su tarjeta correspondiente. Conecta al ordenador la tarjeta que tiene el código “Al recibir radio” y deja a distancia la tarjeta que tiene el código “Radio enviar número”, alimentada por las baterías.

Prueba a emitir sonido en la tarjeta que está alejada del ordenador y comprueba que la tarjeta que está conectada vuelca los datos a la consola del monitor serie.

Anímate a añadir el funcionamiento de los botones y los iconos a la tarjeta que queda a distancia, tal como se explicó anteriormente.

Recuerda también que puedes cambiar el tiempo de espera que se hace entre cada toma de datos del sensor. Se ha establecido 1000 ms (1 segundo), pero puedes establecer el que mejor te convenga para el proyecto que desees.

¿Qué habilidades de los alumnos desarrollo que no se pueden obtener de manera más tradicional?

La medición de datos de manera digitalizada, así como su posterior análisis, permite desarrollar habilidades digitales que les puede hacer ver que de una manera analógica serían menos precisos y especialmente con un procesamiento más lento y laborioso.

¿Qué ventaja obtengo de utilizar este recurso en el aula?

A través de los datos proporcionados por los sensores, el alumnado tiene la oportunidad de analizar la información extraída de datos reales de su entorno cercano.

¿Qué materiales necesito para ponerlo en práctica en el aula?

  • Ordenador con sistema operativo Windows, macOS o linux, conexión a Internet y navegador web (preferiblemente Chrome).
  • Web del entorno de desarrollo: makecode.microbit.org (Hay disponible versión desconectada para Windows y Mac en makecode.microbit.org/offline-app).
  • Placa micro:bit (opcionalmente se puede utilizar el simulador que ofrece el entorno de desarrollo, aunque no realizaría una toma de datos reales). En caso de querer utilizar el micrófono como sensor de ruido, se debe utilizar una placa micro:bit versión 2 o superior.
  • Una segunda placa micro:bit si se desea realizar la parte de la actividad que utiliza una tarjeta como emisora de datos y la otra como receptora. La segunda placa deberá ser alimentada por baterías.
  • Sensor que se necesite en cada proyecto dependiendo del tipo de datos a recoger, en caso de no usar alguno de los sensores incorporados en la placa micro:bit (acelerómetro, temperatura, intensidad de luz, brújula, micrófono, botones).
  • Hoja de cálculo de Google u otra equivalente.

¿Cómo evalúo las competencias adquiridas por mis alumnos con este recurso?

Esta actividad se puede llevar a cabo hasta distintos apartados entre los que se han tratado, dependiendo del nivel del alumnado. Por ejemplo, se puede hacer la actividad de manera que sólo se use el simulador, o con una única tarjeta, o llegando a la parte de mayor dificultad que requiere el uso de 2 tarjetas usando una de ellas a distancia.

También el procesamiento de los datos en la hoja de cálculo puede ser sencillo como se ha hecho en esta actividad o se puede complicar con otros cálculos más avanzados, dependiendo de la materia a la que se aplique esta actividad.

Se puede utilizar una lista de cotejo o una rúbrica que facilite la evaluación de la práctica. Un ejemplo de los ítems a calificar puede ser:

Sin necesidad de tarjeta micro:bit, se obtienen los datos del sensor con pruebas en el emulador, mostrándose en la consola en los intervalos de tiempo requeridos  
Con sólo una tarjeta micro:bit conectada al ordenador, se obtienen los datos del sensor de la placa micro:bit, mostrándose en la consola en los intervalos de tiempo requeridos  
Con 2 tarjetas micro:bit cercanas, se han recogido los datos del sensor en una de ellas, y se han enviado los datos a la otra tarjeta  
Se ha descargado el archivo de datos CSV y se ha importado en una hoja de cálculo  
Se han procesado los datos en la hoja de cálculo como se requiere