Cree un monitor de temperatura Raspberry Pi usando un Sense HAT y muestre lecturas periódicas en su matriz de LED.
Hay varias formas de controlar la temperatura ambiente utilizando una computadora de placa única Raspberry Pi, tal vez como parte de la configuración de una estación meteorológica. Si bien podrías usar un sensor externo conectado a los pines GPIO de la Raspberry Pi, aquí explicaremos cómo monitorear la temperatura con una Raspberry Pi equipada con un Sense HAT.
¿Cuál es el sentido del SOMBRERO?
Un oficial SOMBRERO Raspberry Pi (Hardware adjunto en la parte superior), placa complementaria diseñada y producida por la empresa Raspberry Pi, la Sense HAT fue creada originalmente para ser utilizada por astronautas a bordo de la Estación Espacial Internacional. Desde 2015, dos computadoras Raspberry Pi equipadas con un Sense HAT se han utilizado en experimentos científicos diseñados por escolares que ingresaron al actual astro pi Desafío Desde entonces, estas dos unidades han sido reemplazadas por versiones mejoradas basadas en una Raspberry Pi 4 y equipadas con una cámara de alta calidad.
Si bien carece de la carcasa plateada especial diseñada para su uso en el espacio, la placa Sense HAT estándar tiene exactamente la misma funcionalidad. Compatible con cualquier modelo frambuesa pi Con un encabezado GPIO de 40 pines, cuenta con una serie de sensores integrados que le permiten monitorear el entorno y también detectar su propia orientación y movimiento. Además, cuenta con una matriz de LED RGB de 8x8 para mostrar texto, datos e imágenes. También hay un mini joystick de cinco direcciones.
La gama completa de funciones sensoriales de Sense HAT es la siguiente:
- Humedad: Un sensor STMicro HTS221 con rango de humedad relativa de 0 a 100 %, además de detección de temperatura de 32 °F a 149 °F (0 °C a 65 °C ± 2 °C).
- Presión barométrica: Un sensor STMicro LPS25HB con un rango de 260 a 1260 hPa, además de detección de temperatura de 59 °F a 104 °F (15 °C a 40 °C ±0,5 °C).
- Temperatura: Esto se puede leer en el sensor de humedad o presión, o medirse tomando un promedio de ambas lecturas.
- Giroscopio: La IMU STMicro LSM9DS1 puede medir la rotación del Sense HAT en relación con la superficie de la Tierra (y la rapidez con la que gira).
- Acelerómetro: Otra función de la IMU es que puede medir la fuerza de aceleración en múltiples direcciones.
- Magnetómetro: Al detectar el campo magnético de la Tierra, la IMU puede determinar la dirección del norte magnético y así dar una lectura de la brújula.
Ahora que ya sabes lo que puede hacer este Raspberry Pi HAT multipropósito, es hora de comenzar con el proyecto.
Paso 1: Monte el Sense HAT
Para conectar el Sense HAT, primero asegúrese de que su Raspberry Pi esté apagada y desconectada de la corriente. Luego, empuje con cuidado el Sense HAT (con el extensor de cabezal negro suministrado) sobre el cabezal GPIO de 40 pines de la Raspberry Pi para que la placa Sense HAT quede colocada sobre la placa Raspberry Pi. Asegúrese de que todos los pines estén alineados correctamente y que ambas filas estén conectadas. También puede utilizar separadores atornillados para ayudar a asegurarlo.
Puede utilizar cualquier modelo de Raspberry Pi estándar que tenga un encabezado GPIO de 40 pines. Uno de los limitaciones clave de una Raspberry Pi 400Sin embargo, lo mejor es que su encabezado GPIO está ubicado en la parte posterior del teclado integrado. Esto significa que el Sense HAT estará orientado hacia atrás, por lo que es posible que desees utilizar un cable de extensión GPIO para conectarlo.
Paso 2: configurar la Raspberry Pi
Como con cualquier otro proyecto, debes conectar un teclado y un mouse USB y luego conecta tu Raspberry Pi a un monitor o TV. También debe tener insertada una tarjeta microSD con el sistema operativo Raspberry Pi estándar; si aún no lo ha hecho, consulte cómo instalar un sistema operativo en una Raspberry Pi. Entonces estará listo para encender la energía.
Alternativamente, puedes usar tu Raspberry Pi con Sense HAT en modo sin cabeza, sin un monitor conectado y conectarse a la Raspberry Pi de forma remota mediante SSH desde otra computadora o dispositivo. Si hace esto, no podrá usar el IDE de Thonny Python, pero aún puede editar programas usando el editor de texto nano y ejecutarlos desde la línea de comandos.
El firmware Sense HAT debe instalarse de forma predeterminada. Para volver a verificar, abra una ventana de Terminal e ingrese:
sudo apt install sense-hat
Luego, si el paquete se acaba de instalar, reinicie la Raspberry Pi:
sudo reboot
Paso 3: comience a programar en Python
Si bien puedes usar Raspberry Pi Sense HAT con el lenguaje de programación basado en bloques Scratch, usaremos Python para leer y mostrar las lecturas de sus sensores.
Thonny IDE (entorno de desarrollo integrado) es una buena forma de programar Python en una Raspberry Pi, ya que tiene muchas funciones, incluidas útiles funciones de depuración. En la GUI de escritorio del sistema operativo Raspberry Pi, vaya a Menú (icono de frambuesa arriba a la izquierda) > Programación > Thonny IDE para lanzarlo.
Paso 4: tome una lectura de temperatura
En la ventana principal de Thonny IDE, ingrese las siguientes líneas de código:
from sense_hat import SenseHatsense = SenseHat()
sense.clear()
temp = sense.get_temperature()
print(temp)
La primera línea importa el SentidoSombrero clase de la sentido_sombrero Biblioteca Python (que está preinstalada en el sistema operativo Raspberry Pi). Éste luego se asigna al sentido variable. La tercera línea borra la matriz de LED del Sense HAT.
Luego tomamos la lectura de temperatura y la imprimimos en el área Shell del IDE de Thonny. Esto está en grados Celsius, por lo que es posible que desees convertirlo primero a Fahrenheit:
temp = (sense.get_temperature() * 1.8 + 32)
La lectura del sensor de temperatura tendrá varios dígitos después del punto decimal. Entonces usaremos el redondo función para redondearlo a un solo decimal:
temp = round(temp, 1)
El sentido.get_temperature() La función lee el sensor de temperatura integrado en el sensor de humedad. Alternativamente, puede tomar una lectura de temperatura del sensor de presión con sentido.get_temperature_from_pression() o incluso tomar ambas lecturas y calcular un promedio (sumándolas y dividiéndolas por dos).
Paso 5: muestra la temperatura en el Sense HAT
Imprimir una sola lectura de temperatura en Python Shell es un poco aburrido, así que tomemos una nueva lectura regularmente y mostrémosla en la matriz de LED RGB del Sense HAT. Para mostrar un mensaje de texto desplazable, utilizamos el Mostrar mensaje función. También usaremos un mientras: verdadero bucle para seguir tomando una nueva lectura cada 10 segundos, para lo cual usamos el dormir función de la tiempo biblioteca.
Aquí está el programa completo:
from sense_hat import SenseHat
from time import sleepsense = SenseHat()
sense.clear()
whileTrue:
temp = (sense.get_temperature() * 1.8 + 32)
temp = round(temp, 1)
message = "Temp: " + str(temp)
sense.show_message(message)
sleep (10)
Ejecute este código y verá cada nueva lectura de temperatura desplazándose por la matriz de LED. Intente soplar el Sense HAT para ver si la temperatura cambia.
Las lecturas de temperatura pueden verse afectadas por el calor transferido desde la CPU de Raspberry Pi justo debajo, por lo que es posible que sea necesario un ajuste para obtener una cifra más precisa. Otra solución es utilizar un encabezado apilable para elevar el Sense HAT por encima de la Raspberry Pi.
Utilice una Raspberry Pi para controlar la temperatura
Si bien podría usar un sensor de temperatura independiente para este proyecto, Sense HAT facilita el monitoreo de la temperatura con su Frambuesa Pi. También puede usarlo para tomar una serie de otras lecturas de sensores, como presión barométrica y humedad relativa, y mostrarlas en su LED. matriz.