Termómetro en color
Reto 2. Termómetro visual en la NeoMatriz
Objetivo
Desarrollar un programa en MicroBlocks que permita representar visualmente la temperatura medida por el sensor de la placa utilizando la NeoMatriz de la ESP32 micro:STEAMakers. De esta forma, el usuario podrá conocer rápidamente la temperatura observando el número de filas iluminadas y su color.
Descripción del reto
La ESP32 micro:STEAMaker dispone de un sensor de temperatura integrado que proporciona la temperatura ambiente.
El programa deberá leer periódicamente el valor de temperatura y representarlo en la NeoMatriz mediante un indicador tipo termómetro formado por filas iluminadas.
Escala de representación: La NeoMatriz utilizará sus 5 filas para representar distintos rangos de temperatura:
Funcionamiento
- Temperatura menor de 20 °C: se ilumina únicamente la primera fila en color azul.
- Cada fila supone un incremento de 4 °C .
- Las filas irán cambiando gradualmente de color desde azul hasta rojo.
- La temperatura máxima representada encenderá todas las filas en color rojo y un aspa si es más de 40ºC.
- Escala propuesta (matriz de 5 filas)
| Filas encendidas | Temperatura | Color |
| 1 (inferior) | <20ºC | Azul |
| 2 | 20-23 | Azul Claro |
| 3 | 24-27 | Amarillo |
| 4 | 28-31 | Naranja |
| 5 | 32-35 | Rojo |
| Todas | >35 | Aspa Roja |
Requisitos
El programa debe:
- Inicializar correctamente la NeoMatriz.
- Leer la temperatura del sensor de la placa.
- Determinar cuántas filas deben iluminarse según la temperatura medida.
- Mostrar las filas correspondientes con el color asignado a cada nivel.
- Actualizar la información cada segundo.
- Apagar las filas que no correspondan al nivel actual de temperatura.
Ejemplo de funcionamiento
- Si la temperatura es de 18 °C, únicamente se iluminará la fila inferior en color azul.
- Si la temperatura es de 27 °C, se iluminarán las tres primeras en amarillo.
- Si la temperatura alcanza 35 °C, se iluminarán las cinco filas en color rojo.
Ampliación opcional
Una vez completado el reto básico, puedes incorporar alguna de las siguientes mejoras:
- Mostrar simultáneamente la temperatura numérica por el monitor serie.
- Crear una transición gradual de colores entre azul y rojo.
- Hacer parpadear la NeoMatriz cuando la temperatura supere los 36 °C.
- Añadir una segunda escala para representar también la humedad.
- Mostrar una flecha hacia arriba o hacia abajo cuando la temperatura aumente o disminuya respecto a la lectura anterior.
Competencias desarrolladas
- Programación mediante bloques con MicroBlocks.
- Lectura y tratamiento de datos procedentes de sensores.
- Uso de matrices LED NeoPixel para la representación de información.
- Diseño de indicadores visuales para sistemas embebidos.
- Interpretación de variables ambientales mediante representaciones gráficas.