# Registro y radiotransmisión de datos

# La extensión datalogger

**Una de las funciones más interesantes de la placa micro:bit es la de registro de datos** o *data logging*. Gracias a la memoria no volátil de la placa, los datos captados por los sensores pueden ser almacenados cada cierto tiempo para, posteriormente, ser recuperados en formato de hoja de cálculo, accesible como un archivo guardado dentro de micro:bit.

Micro:bit puede convertirse de esta forma en un instrumento de almacenamiento de medidas de mútiples magnitudes físicas, como temperatura, nivel de luz, aceleración, giro, humedad, presión, etc. Teniendo en cuenta que cualquier experiencia científica necesita realizar mediciones, se comprende la **potencia y versatilidad de la placa** en este tipo de actividades.

<p class="callout warning">El registro de datos sólo está disponible en las versiones 2.x de micro:bit .</p>

Micro:bit puede registrar datos mientras tenga alimentación eléctrica. Con un par de pilas alcalinas R03 podrá funcionar durante algo más de un día. Con una batería externa USB podremos alargar su funcionamiento durante varios días. Usando un cargador de móvil, el registro de datos durará hasta que se llene la memoria de la placa, que es de 512 kB.

La **captura** de datos puede ser **manual**, por ejemplo cada vez que se apriete un botón, o **automática**, programando un evento que registre los datos a intervalos regulares de tiempo. Estos intervalos pueden ser muy largos, como en la medición de magnitudes ambientales como la temperatura, o muy cortos, si es necesario medir fenómenos rápidos como las aceleraciones en una caída.

Para poder usar el registro de datos en MakeCode hay que cargar previamente la **extensión datalogging**. Primero pulsaremos sobre <span style="color: rgb(149, 165, 166);">**+Extensiones**</span> y posteriormente sobre el icono de <span style="color: rgb(53, 152, 219);">**datalogger**</span>.

![Data00.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data00.png)

Después de unos instantes se habrá cargado la biblioteca, y aparecerá un nuevo menú llamado <span style="color: rgb(22, 145, 121);">**Data Logger**</span> en la toolbox de MakeCode.

[![Data01.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data01.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data01.png)

El nuevo menú incluye bloques para crear, configurar, añadir datos y borrar el **registro de datos o log**. Los datos del **log** se organizan en una matriz de filas y columnas, como en una hoja de cálculo. La primera columna contiene los instantes en los que se realizan los registros. Las siguientes columnas almacenan los valores numéricos registrados.

[![Data03.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data03.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data03.png)

Los datos no se borran al apagar o reiniciar la placa. El **log** puede borrarse desde el programa con el bloque **<span style="color: rgb(22, 145, 121);">delete blog</span>** o bien cargando un nuevo programa en micro:bit.

# Registro automático de datos ambientales

Para ilustrar el funcionamiento de la biblioteca **<span style="color: rgb(22, 145, 121);">datalogger</span>** vamos a programar un **registrador quinceminutal** de temperatura y luminosidad ambiental.

Para inicializar el registro de datos o **log** tendremos que añadir dos bloques dentro del evento <span style="color: rgb(53, 152, 219);">**al** **iniciar**</span>. El bloque <span style="color: rgb(22, 145, 121);">**set timestamp hours**</span> añadirá el tiempo, expresado en horas, en las celdas de la primera columna del **log**. **<span style="color: rgb(22, 145, 121);">Set columns</span>** creará dos nuevas columnas en el **log**, una llamada **<span style="color: rgb(22, 145, 121);">Luminosidad</span>** y otra llamada <span style="color: rgb(22, 145, 121);">**Temperatura**</span>. Los botones **<span style="color: rgb(22, 145, 121);">+</span>** y <span style="color: rgb(22, 145, 121);">**-**</span> sirven, respectivamente, para añadir o quitar columnas de datos.

[![Data04.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data04.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data04.png)

Cada vez que se ejecute el evento <span style="color: rgb(45, 194, 107);">**cada...ms**</span> grabaremos una línea de datos en el **log**. El evento se ejecuta cada 60000 x 15 ms, es decir, cada 15 minutos. El bloque operador **<span style="color: rgb(132, 63, 161);">x</span>** se encuentra en el menú **<span style="color: rgb(132, 63, 161);">Matemática</span>**. Los valores que van a ser grabados en las celdas de las dos columnas son el <span style="color: rgb(185, 106, 217);">**nivel de luz**</span> y la **<span style="color: rgb(185, 106, 217);">temperatura (ºC)</span>**, del menú **<span style="color: rgb(185, 106, 217);">Entrada</span>**.

[![Data05.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data05.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data05.png)

Añadiremos un evento para parpadee una luz a modo de testigo o piloto de funcionamiento. Cada segundo, el <span style="color: rgb(224, 62, 45);">**LED**</span> central de la matriz alternará su estado entre encendido y apagado. El bloque <span style="color: rgb(132, 63, 161);">**invertir**</span> <span style="color: rgb(132, 63, 161);">**x...y...**</span> se encuentra en el menú **<span style="color: rgb(132, 63, 161);">LED</span>**.

[![Data06.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data06.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data06.png)

Una vez compuestos los tres bloques de código, el **simulador de Make Code** nos ofrece la posibilidad de asignar valores a las lecturas de la temperatura y del nivel de luz.

[![Data07.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data07.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data07.png)

Un botón en la parte inferior, etiquetado como **Show data Simulator**, da acceso a los datos simulados del registro.

![Data08.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data08.png)

En ocaciones resulta conveniente **iniciar y finalizar la captura de datos manualmente**, por ejemplo, pulsando un botón. Esta funcionalidad puede conseguirse creando una variable booleana, a la que vamos a llamar <span style="color: rgb(224, 62, 45);">**registrando**</span>. esta variable debe crearse desde el menú **<span style="color: rgb(224, 62, 45);">Variables</span>**.

[![Data15.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data15.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data15.png)

En primer lugar modificaremos el evento <span style="color: rgb(53, 152, 219);">**al iniciar**</span> para que asigne el valor <span style="color: rgb(35, 111, 161);">**falso**</span> a **<span style="color: rgb(224, 62, 45);">registrando</span>**, lo cual indicará que el registro de datos no debe estar activado cuando se encienda la placa. El menú lógica contiene la constante **<span style="color: rgb(35, 111, 161);">falso</span>**.

[![Data16.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data16.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data16.png)

Cada vez que se pulse el botón A, <span style="color: rgb(224, 62, 45);">**registrando**</span> cambiará de valor. Si tenía el valor **<span style="color: rgb(224, 62, 45);">falso</span>** cambiará a **<span style="color: rgb(224, 62, 45);">verdadero</span>** y vicerversa. El operador de negación **<span style="color: rgb(45, 194, 107);">no</span>**, del menú **<span style="color: rgb(45, 194, 107);">Lógica</span>**, lleva a cabo este cambio de valores. Además, haremos que micro:bit reproduzca un **breve sonido** como confirmación del cambio.

[![Data17.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data17.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data17.png)

Sólo cuando <span style="color: rgb(224, 62, 45);">**registrando**</span> sea **<span style="color: rgb(224, 62, 45);">verdadero</span>** guardaremos los datos.

[![Data19.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data19.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data19.png)

Por último, el piloto de funcionamiento del registrador debe apagar el <span style="color: rgb(224, 62, 45);">LED</span> central si es que **<span style="color: rgb(224, 62, 45);">registrando</span>** es **<span style="color: rgb(224, 62, 45);">falso</span>** y mantenerlo intermitente si es**<span style="color: rgb(224, 62, 45);"> verdadero</span>**<span style="color: rgb(224, 62, 45);"><span style="color: rgb(52, 73, 94);">.</span></span>

[![Data18.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data18.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data18.png)

# Recuperación y tratamiento de datos

Usaremos el programa registrador de datos ambientales, codificado en el apartado anterior, para mostrar cómo se gestionan los datos grabados en la tarjeta.

Los datos mostrados a continuación son los grabados como resultado de colocar la placa micro:bit conectada a su cajita de pilas dentro de un **recipiente hermético de plástico transparente**, y de dejar el recipiente toda una noche en el exterior.

<p class="callout info">De acuerdo con la documentación de micro:bit, pueden almacenarse hasta 11000 datos cuando se crea una sola columna. Por otro lado, la autonomía de funcionamiento con dos pilas alcalinas nuevas es de unos dos días. Podemos aumentar la autonomía usando baterías USB o conectando la tarjeta a un cargador de móvil. En la página siguiente usaremos una <span style="color: rgb(186, 55, 42);">**biblioteca que nos permitirá ahorrar mucha energía**</span> en los procesos de registro de datos.  
</p>

Para acceder a los datos hay que conectar la placa al ordenador. El archivo de datos se encuentra haciendo doble clic en la unidad USB MICROBIT, acción que mostrará el archivo MY-DATA.htm. Al hacer doble clic en el archivo, **se abrirá una nueva página en nuestro navegador**:

[![Data10.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data10.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data10.png)

Además de la tabla con los datos registrados, la página presenta cinco botones:

**Download**: descarga los datos en nuestro ordenador en formato \*.csv. El documento resultante podrá ser abierto desde cualquier hoja de cálculo.

**Copy**: copia los datos en el portatapapeles. De esta forma podremos pegarlos en una hoja de cálculo o en un procesador de textos.

**Update data...**: actualiza los datos presentados en la pantalla, transfiriendo los últimos datos grabados desde la tarjeta conectada al ordenador.

**Clear log...**: borra los datos grabados en la tarjeta.

**Visual preview**: representa gráficamente los datos registrados. En nuestro caso, los datos mostrarán la caída de la <span style="color: rgb(35, 111, 161);">temperatura</span> durante la noche y el aumento de la <span style="color: rgb(45, 194, 107);">luminosidad</span> a partir del amanecer.

[![Data12.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data12.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data12.png)

Además, cuando pasemos el cursor sobre la curva, aparecerán **controles suplementarios** para acercar o alejar la gráfica, para reinicializar los ejes y para guardar la imagen. Al colocar el cursor sobre un punto de la gráfica nos serán mostradas sus **coordenadas**:

[![Data14.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data14.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data14.png)

Podremos también **ocultar o mostrar** la gráfica de una columna determinada haciendo clic en la etiqueta correspondiente, <span style="color: rgb(22, 145, 121);">Luminosidad</span> o <span style="color: rgb(35, 111, 161);">Temperatura</span>.

[![Data13.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data13.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data13.png)

El efecto escalonado de la gráfica se debe a que micro:bit guarda valores enteros de la temperatura, sin decimales.

# Extensión Power para el ahorro de energía

<span style="color: rgb(186, 55, 42);">**Power**</span> contiene bloques para poner a micro:bit en estado latente o de hibernación, *sleep mode*, en el cual la ejecución del programa se detiene **reduciendo drásticamente el consumo de energía**.

Micro:bit podrá despertar y volver a ejecutar el programa gracias un evento de tiempo, por la pulsación de un botón, o bien mediante una señal de entrada aplicada a uno de sus pines.

<p class="callout warning">La extensión Power sólo funciona con micro:bit V2.</p>

<span style="color: rgb(186, 55, 42);">**Power**</span> resulta muy útil para crear registradores de datos, ya que éstos pasan la mayor parte del tiempo inactivos y sólo miden y graban magnitudes cada cierto tiempo, a menudo cada muchos minutos.

Para instalar <span style="color: rgb(186, 55, 42);">**Power**</span> hay que pulsar sobre el menú <span style="color: rgb(126, 140, 141);">**+Extensiones**</span> y, una vez abierta la página de la biblioteca, sobre el botón **Software**.

![Datos10.jpg](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/datos10.jpg)

La carga de la extensión requiere pulsar sobre el icono **Power**.

[![Datos11.jpg](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/datos11.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-09/datos11.jpg)

Despueś de la carga de la extensión, <span style="color: rgb(186, 55, 42);">**Power**</span> aparecerá el menú de bloques.[![Datos12.jpg](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/datos12.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-09/datos12.jpg)Vayamos con el registrador de datos. Empezaremos modificando el evento <span style="color: rgb(53, 152, 219);">**al iniciar**</span> para que micro:bit pase al estado latente justo tras ser encendido. Para ello, tras crear las columnas del registrador de datos, colocamos un bloque <span style="color: rgb(186, 55, 42);">**request low power**</span>.

[![Datos13.jpg](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/datos13.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-09/datos13.jpg)

Por supesto, es posible ahorrar energía eliminando el piloto <span style="color: rgb(224, 62, 45);">**LED** </span>intermitente, pero vamos a mantenerlo en funcionamiento. El evento de piloto estará ahora controlado por **<span style="color: rgb(186, 55, 42);">full power every 1000 ms</span>**. Es decir, despertaremos a micro:bit cada segundo para invertir el estado del piloto **<span style="color: rgb(224, 62, 45);">LED</span>**.

[![Datos14.jpg](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/datos14.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-09/datos14.jpg)

Cuando se despierte micro:bit, habrá que impedir que otro evento que se esté ejecutando lo vuelva a dormir. Esta función la realiza el bloque<span style="color: rgb(186, 55, 42);"> **low power prevent**</span>, Después de ejecutar este bloque se invierte el **<span style="color: rgb(186, 55, 42);">LED</span>** central, se da permiso a la placa para dormir con **<span style="color: rgb(186, 55, 42);">low power allow</span>** y se le ordena volver a dormir con <span style="color: rgb(186, 55, 42);">**request low**</span> **<span style="color: rgb(186, 55, 42);">power</span>**.

Ahora le toca al evento grabador de datos que se ejecuta cada quince minutos o 60000 x 15 ms. Su estructura es la misma que la del control del piloto. Aquí también hay que prevenir que la placa se duerma mientras grabamos datos.

[![Datos15.jpg](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/datos15.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-09/datos15.jpg)

Podemos **prolongar todavía más la duración de las pilas** manteniendo a la vez la luz piloto para saber si está funcionando la placa. Haremos que el LED parpadee más lento, por ejemplo cada 3 segundos, y durante menos tiempo, por ejemplo durante 75 milisegundos por medio a un bloque <span style="color: rgb(53, 152, 219);">**pausa (ms)**</span>. De esta forma, **la placa** **permanecerá dormida un 97,5% del tiempo**, alargando espectacularmente la autonomía de funcionamiento.

[![Low04.jpg](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/low04.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-09/low04.jpg)

El gráfico siguiente muestra la temperatura exterior en ºC captada por una placa alimentada a pilas durante 5 días de funcionamiento, tras los cuales, la placa seguía alimentada.

[![Temperatura horas.png](https://libros.catedu.es/uploads/images/gallery/2023-10/scaled-1680-/temperatura-horas.png)](https://libros.catedu.es/uploads/images/gallery/2023-10/temperatura-horas.png)

# Alarma por radio

Las placas micro:bit disponen de **Bluetooth** integrado de bajo consumo. A máxima potencia y en campo abierto, dos placas pueden comunicarse hasta a 70 metros de distancia. Sin embargo, el alcance dentro de un edificio se reduce a unos pocos metros a causa de las interferencias con otras fuentes de radio, de los muros, de los forjados y del mobiliario.

El menú <span style="color: rgb(235, 16, 220);">R**adio**</span> contiene los bloques necesaarios para enviar y recibir datos por Bluetooth. Lo habitual es inicializar la radio dentro del evento **<span style="color: rgb(53, 152, 219);">al iniciar </span>**de la siguiente forma:

[![Radio00.jpg](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/radio00.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-09/radio00.jpg)

La <span style="color: rgb(235, 16, 220);">**potencia de transmisión**</span> debe tomar un valor entre 0 y 7. A mayor potencia, mayor alcance, pero también mayor consumo de energía.

Todas las placas que pretendan comunicarse deben transmitir en el mismo <span style="color: rgb(235, 16, 220);">**grupo**</span>. Hay 256 grupos disponibles, numerados desde 0 hasta 255.

También puede ajustarse la **<span style="color: rgb(235, 16, 220);">banda de frecuencia</span>**, que puede variar entre 0 y 83.

Vamos a comunicar dos placas para crear una alarma inalámbrica por movimiento. Cuando una placa sea movida, enviará un mensaje de texto a la placa receptora y ésta mostrará un signo de alarma en la pantalla a la vez que hace sonar un pitido de alarma.

Las dos placas, la emisora y lareceptora, deben tener el mismo código en el evento **<span style="color: rgb(53, 152, 219);">al iniciar</span>**, con idénticos canal y banda de frecuencia.

La **placa emisora** mandará un mensaje de texto cualquiera, por ejemplo "Alarma", cuando sea sacudida. Usaremos un evento del tipo **<span style="color: rgb(185, 106, 217);">si agitado</span>** y un bloque **<span style="color: rgb(235, 16, 220);">radio enviar cadena "Alarma"</span>**.

[![Data20.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data20.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data20.png)

La **placa receptora** usará un evento **<span style="color: rgb(186, 55, 42);"><span style="color: rgb(235, 16, 220);">al recibir radio </span>receivedString</span>**, que se activará cuando la placa reciba una cadena de texto cualquiera. Dentro del evento mostraremos un signo de admiración, subiremos el volumen a tope y repetiremos cuatro veces un sonido pregrabado. Finalmente borraremos la pantalla.

[![Data22.png](https://libros.catedu.es/uploads/images/gallery/2023-09/scaled-1680-/data22.png)](https://libros.catedu.es/uploads/images/gallery/2023-09/data22.png)

# Un registrador a distancia de datos ambientales

En esta práctica utilizaremos una placa micro:bit como **sensor de temperatura exterior** y otra placa como **sensor de temperatura interior**. La placa exterior enviará por radio cada 15 minutos una medida de temperatura a la placa interior, que se ocupará también de medir y registrar la temperatura interior. **Ambas placas trabajaran en modo de ahorro de energía**.

##### Programación de la placa exterior

Como primer paso hemos de programar la **placa exterior**, que usará la extensión <span style="color: rgb(132, 63, 161);">**Power**</span>, que deberá instalarse desde el menú <span style="color: rgb(126, 140, 141);">**Extensiones**</span>. Además debemos configurar la <span style="color: rgb(185, 106, 217);">**radio**</span>, por lo que desde el menú de inicio ajustaremos la banda de transmisión, la potencia (máxima) y el grupo, para finalmente poner la placa en hibernación con <span style="color: rgb(132, 63, 161);">**request low power**</span>.

[![Capturador 01.jpg](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/capturador-01.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-12/capturador-01.jpg)

Haremos que el <span style="color: rgb(224, 62, 45);">**LED central**</span> dé un breve destello de luz de 75 ms cada 5 segundos, para lo cual habrá que despertar a la placa hibernada tras el inicio con **<span style="color: rgb(132, 63, 161);">full power every 5000 ms</span>** y volverla a dormir con **<span style="color: rgb(132, 63, 161);">request low power</span>**.

[![Capturador 04.jpg](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/capturador-04.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-12/capturador-04.jpg)

**Cada 15 minutos,** o cada 15 x 60 x 1000 = 900000 ms, despertaremos a la placa, tomaremos una medida de la temperatura y la enviaremos por radio. Para despertar a la placa volveremos a usar el bloque **<span style="color: rgb(132, 63, 161);">full power every 900000 ms</span>** del menú <span style="color: rgb(132, 63, 161);">**Power**</span>.

[![Capturador 05.jpg](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/capturador-05.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-12/capturador-05.jpg)

En este caso nos conviene que el evento anterior encargado de encender el <span style="color: rgb(224, 62, 45);">**LED central**</span> cada 5 segundos no nos pueda poner la placa a dormir, por lo que **bloquearemos la hibernación** con **<span style="color: rgb(132, 63, 161);">low power prevent</span>**.

Hasta que no recibamos una **confirmación de recepción** procedente de la placa interior (una cadena de texto cualquiera) no hibernaremos la placa exterior, tras de lo cual desabilitaremos el bloqueo de la hibernación y pondremos a dormir a la placa.[![Capturador 06.jpg](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/capturador-06.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-12/capturador-06.jpg)

<p class="callout warning">Si va a dejarse la placa exterior a la intemperie, resulta muy conveniente colocarla dentro de un **recipiente hermético**, como un táper.</p>

##### Programación de la placa interior

Al igual que en el caso de la placa exterior, habrá que configurar la radio con los mismos parámetros. También tendremos que inicializar el registro de datos, para lo cual habrá que cargar primero la extensión <span style="color: rgb(22, 145, 121);">**Data Logger**</span>.

[![Data23.png](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/data23.png)](https://libros.catedu.es/uploads/images/gallery/2023-12/data23.png)

Guardaremos los datos en **dos columnas**, una para la temperatura exterior y otra para la interior. Con <span style="color: rgb(22, 145, 121);">**set timestamp**</span> añadiremos una tercera columna que guarde los tiempos, expresados en minutos, en los que realizan las lecturas .

De nuevo, el <span style="color: rgb(224, 62, 45);">**LED central**</span> tendrá que parpadear cada 5 segundos a modo de testigo de funcionamiento. El código es el mismo que en el caso de la placa exterior.

[![Capturador 04.jpg](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/capturador-04.jpg)](https://libros.catedu.es/uploads/images/gallery/2023-12/capturador-04.jpg)

Cada 15 minutos despertaremos a la placa y evitaremos que otro evento la ponga en hibernación con <span style="color: rgb(132, 63, 161);">**low power prevent**</span>, a la espera de recibir por radio algún dato de la placa exterior.[![Data24.png](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/data24.png)](https://libros.catedu.es/uploads/images/gallery/2023-12/data24.png)

Cuando la placa esté despierta y reciba por radio un dato de temperatura de la placa exterior, contenido en <span style="color: rgb(186, 55, 42);">**received number**</span>, podrá guardar éste junto con la temperatura interior, <span style="color: rgb(185, 106, 217);">**temperatura (ºC)**</span>, en el registro de datos.

[![Data25.png](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/data25.png)](https://libros.catedu.es/uploads/images/gallery/2023-12/data25.png)

Por último, mandaremos una cadena de texto cualquiera, en este caso "Leído", a la placa exterior para que pase a hibernación, habilitaremos la hibernación de la plaza interior y la hibernaremos. **Dentro de otros 15 minutos despertarán las dos placas y volverá a comenzar el proceso para registrar un nuevo par de valores**.