Skip to main content

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 Power, que deberá instalarse desde el menú Extensiones. Además debemos configurar la radio, 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 request low power.

Capturador 01.jpg

Haremos que el LED central 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 full power every 5000 ms y volverla a dormir con request low power.

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 full power every 900000 ms del menú Power.

Capturador 05.jpg

En este caso nos conviene que el evento anterior encargado de encender el  LED central cada 5 segundos no nos pueda poner la placa a dormir, por lo que bloquearemos la hibernación con low power prevent.

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

Si va a dejarse la placa exterior a la intemperie, resulta muy conveniente colocarla dentro de un recipiente hermético, como un táper.

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 Data Logger.

Data23.png

Guardaremos los datos en dos columnas, una para la temperatura exterior y otra para la interior. Con set timestamp añadiremos una tercera columna que guarde los tiempos, expresados en minutos, en los que realizan las lecturas .

De nuevo, el LED central 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

Cada 15 minutos despertaremos a la placa y evitaremos que otro evento la ponga en hibernación con low power prevent, a la espera de recibir por radio algún dato de la placa exterior.Data24.png

Cuando la placa esté despierta y reciba por radio un dato de temperatura de la placa exterior, contenido en received number, podrá guardar éste junto con la temperatura interior, temperatura (ºC), en el registro de datos.

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.