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 una medida cada 15 minutos a la placa interior, que se ocupará también de registrar la temperatura. Ambas placas trabajaran en modo de ahorro de energía.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.
En primer lugar, 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 con full power every 5000 ms y volverla a dormir con request low power.
Cada 15 minutos, o cada 5 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.
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, para lo cual desabilitaremos el bloqueo de la hibernación y pondremos a dormir a la placa.
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.radio con los mismos parámetros. También tendremos que inicializar el registro de datos, para lo cialcual habrá que cargar primero la extensión Data Logger.
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 tiempostiempos, expresados en minutos, en los que realizan las lecturas expresados.
De nuevo, el LED central parpadeará cada 5 segundos. El código es el mismo que en minutos.el caso de la placa exterior.
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.
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.
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 y a registrarse un nuevo par de valores.