Uno de los sensores que incorpora la placa BBC micro:bit es el sensor de temperatura.
El sensor de temperatura está incorporado en el procesador de la placa micro:bit, este sensor en condiciones normales del procesador reporta la temperatura ambiente. Solo un sobrecalentamiento del procesador, puede falsificar la medida de la temperatura ambiente.
Las especificaciones básicas de nuestro programa serán:
- Adquirir la temperatura del sensor y mostrarla por la pantalla de 25 x LED del microprocesador cada vez que pase un tiempo determinado.
- Determinar también, cual es la temperatura máxima i mínima durante una sesión de captura de temperaturas y mostrarlas al presionar los botones A (Màxima) o el boton B (Mínima)
- Asegurar que no se mezclen las informaciones en los LED de la placa micro:bit
- Asegurar que no se pierda ninguna solicitud, es decir, si se pulsa el botón A o B, esta orden se ejecute.
1.- Reporte de la temperatura en los 25 x LED de la placa micro:bit
Nota: La instrucción “esborra la pantalla” dentro del bucle “per sempre” es necesaria en el caso que la temperatura (T) tenga un valor de un solo dígito para que no quede permanente visible en los LED entre lectura y lectura de la temperatura.
2. Se requiere que al pulsar el botón A se obtenga la temperatura máxima registrada o pulsando el botón B la temperatura mínima registrada.
Atención: En la solución anterior, se da el caso, en el simulador, que si se presiona un botón, A o B mientras en los LED se està mostrando algún valor, pueden solaparse las informaciones. Para ello se puede implementar una nueva variable de memoria, llamada semáforo, siempre tendrá el valor “0” ó el valor “1”. El “0”, en nuestro caso, permitirá acceder mostra información en los LED, el “1” lo impide. Es decir en la situación de inicio la variable semáforo será igual a “0”, significa luz verde para que cualquiera pueda acceder a los LED.
3. Implementar un protocolo funcional para acceder a los LED sin colisiones.
Una vez implementado el semáforo se ha podido verificar que las informaciones no colisionan en el conjunto de LED de la placa micro:bit, pero se ha detectado un nuevo problema, hay ocasiones en que se pulsan los botones A o B i no muestra la información de T-máxima o T-mínima. Este problema se puede mejorar memorizando las pulsaciones de los botones A y B. Seria como un registro de acciones pendientes de realizar (BackLog) y aportar una solución para ir ejecutando el BackLog de una manera rutinaria.
4. Ejecutar el “Backlog”
La parte de inicio de nuestro programa deberemos ampliarlo asignando a las variables backLogA y backLogB un “0”, indicando que no hay nada pendiente de realizar en el backLog.
En una primera fase controlaremos que si al presionar el botón A o B y no se puede mostrar la información en los LED, porque estos están ocupados mostrando otra información, se activará el backLog de cada botón, es decir quedará registrado que se ha apretado un botón que no se ha podido ejecutar y que se ejecutará más tarde cuando se pueda.
Ahora, solo queda incrementar el bucle “per sempre” con unas instrucciones que ejecuten el Back Log de cada botón. Es decir se ejecutaran las tareas pendientes si se dan dos condiciones:
- Que el back log del botón A o B esté activo, y
- Que el recurso de los LED esten libres.
Por razones pedagógicas, se puede crear un “per sempre” exclusivo para esta tarea, ya la micro:bit ejecutará los dos “per sempre” como si fueran uno.








