Crie um monitor de temperatura Raspberry Pi usando um Sense HAT e mostre leituras regulares em sua matriz de LED.

Existem várias maneiras de monitorar a temperatura ambiente usando um computador de placa única Raspberry Pi, talvez como parte da configuração de uma estação meteorológica. Embora você possa usar um sensor externo conectado aos pinos GPIO do Raspberry Pi, aqui explicaremos como monitorar a temperatura com um Raspberry Pi equipado com um Sense HAT.

O que é o Sense HAT?

Crédito da imagem: Raspberry Pi

Um oficial CHAPÉU Raspberry Pi Placa complementar (Hardware Attached on Top) projetada e produzida pela empresa Raspberry Pi, o Sense HAT foi originalmente criado para ser usado por astronautas a bordo da Estação Espacial Internacional. Desde 2015, dois computadores Raspberry Pi equipados com Sense HAT têm sido usados ​​em experimentos científicos projetados por crianças em idade escolar que ingressaram no curso AstroPi desafio Essas duas unidades foram substituídas por versões atualizadas baseadas em um Raspberry Pi 4 e equipadas com uma câmera de alta qualidade.

Crédito da imagem: Raspberry Pi

Embora não possua o case prateado especial projetado para uso no espaço, a placa Sense HAT padrão tem exatamente a mesma funcionalidade. Compatível com qualquer Modelo Raspberry Pi com um conector GPIO de 40 pinos, possui uma série de sensores integrados que permitem monitorar o ambiente ao redor e também detectar sua própria orientação e movimento. Além disso, possui uma matriz de LED RGB 8x8 para exibir texto, dados e imagens. Há também um mini joystick de cinco direções.

A gama completa de funções sensoriais do Sense HAT é a seguinte:

  • Umidade: Um sensor STMicro HTS221 com faixa de umidade relativa de 0 a 100%, além de detecção de temperatura de 32°F a 149°F (0°C a 65°C ± 2°C).
  • Pressão barométrica: Um sensor STMicro LPS25HB com faixa de 260 a 1.260 hPa, além de detecção de temperatura de 59°F a 104°F (15°C a 40°C ±0,5°C).
  • Temperatura: Isso pode ser lido no sensor de umidade ou pressão, ou medido fazendo uma média de ambas as leituras.
  • Giroscópio: O STMicro LSM9DS1 IMU pode medir a rotação do Sense HAT em relação à superfície da Terra (e a rapidez com que ele está girando).
  • Acelerômetro: Outra função do IMU, pode medir a força de aceleração em múltiplas direções.
  • Magnetômetro: Ao detectar o campo magnético da Terra, a IMU pode determinar a direcção do norte magnético e assim fornecer uma leitura da bússola.

Agora que você sabe o que este Raspberry Pi HAT multifuncional pode fazer, é hora de começar o projeto.

Etapa 1: monte o Sense HAT

Para conectar o Sense HAT, primeiro certifique-se de que o Raspberry Pi esteja desligado e desconectado da energia. Em seguida, empurre cuidadosamente o Sense HAT (com o extensor de cabeçalho preto fornecido instalado) no conector GPIO de 40 pinos do Raspberry Pi para que a placa Sense HAT seja posicionada sobre a placa Raspberry Pi. Certifique-se de que todos os pinos estejam alinhados corretamente e que ambas as linhas estejam conectadas. Você também pode usar espaçadores aparafusados ​​para ajudar a prendê-lo.

Você pode usar qualquer modelo Raspberry Pi padrão que tenha um cabeçalho GPIO de 40 pinos. Um dos principais limitações de um Raspberry Pi 400, entretanto, é que seu cabeçalho GPIO está localizado na parte traseira do teclado integrado. Isso significa que o Sense HAT ficará voltado para trás, então você pode usar um cabo de extensão GPIO para conectá-lo.

Etapa 2: configurar o Raspberry Pi

Como em qualquer outro projeto, você deve conectar um teclado e mouse USB e depois conecte seu Raspberry Pi a um monitor ou TV. Você também deve ter um cartão microSD inserido com o sistema operacional Raspberry Pi padrão – se ainda não tiver feito isso, confira como instalar um sistema operacional em um Raspberry Pi. Você estará então pronto para ligar a energia.

Alternativamente, você pode usar seu Raspberry Pi com Sense HAT no modo headless, sem um monitor conectado e conecte-se ao Raspberry Pi remotamente usando SSH de outro computador ou dispositivo. Se fizer isso, você não poderá usar o IDE Thonny Python, mas ainda poderá editar programas usando o editor de texto nano e executá-los a partir da linha de comando.

O firmware Sense HAT deve ser instalado por padrão. Para verificar novamente, abra uma janela do Terminal e digite:

sudo apt install sense-hat

Então, se o pacote acabou de ser instalado, reinicie o Raspberry Pi:

sudo reboot

Etapa 3: comece a programar em Python

Embora você possa usar o Raspberry Pi Sense HAT com a linguagem de programação baseada em blocos Scratch, usaremos Python para ler e exibir as leituras de seus sensores.

O Thonny IDE (ambiente de desenvolvimento integrado) é uma boa maneira de programar Python em um Raspberry Pi, pois possui muitas funcionalidades, incluindo recursos úteis de depuração. Na GUI da área de trabalho do Raspberry Pi OS, vá para Cardápio (ícone de framboesa no canto superior esquerdo) > Programação > Thonny IDE para lançá-lo.

Etapa 4: faça uma leitura da temperatura

Na janela principal do IDE Thonny, insira as seguintes linhas de código:


from sense_hat import SenseHat

sense = SenseHat()
sense.clear()

temp = sense.get_temperature()
print(temp)

A primeira linha importa o SenseHat aula do sense_hat Biblioteca Python (que vem pré-instalada no Raspberry Pi OS). Este é então atribuído ao senso variável. A terceira linha limpa a matriz de LED do Sense HAT.

Em seguida, fazemos a leitura da temperatura e a imprimimos na área Shell do Thonny IDE. Isso está em graus Celsius, então você pode primeiro convertê-lo para Fahrenheit:

temp = (sense.get_temperature() * 1.8 + 32)

A leitura do sensor de temperatura terá vários dígitos após o ponto decimal. Então usaremos o redondo função para arredondar para uma única casa decimal:

temp = round(temp, 1)

O sentido.get_temperatura() função lê o sensor de temperatura embutido no sensor de umidade. Alternativamente, você pode fazer uma leitura de temperatura do sensor de pressão com sentido.get_temperatura_from_pressão() ou mesmo fazer as duas leituras e calcular uma média (somando-as e dividindo por dois).

Etapa 5: mostrar a temperatura no Sense HAT

Imprimir uma única leitura de temperatura no Python Shell é um pouco enfadonho, então, em vez disso, vamos fazer uma nova leitura regularmente e mostrá-la na matriz de LED RGB do Sense HAT. Para exibir uma mensagem de texto de rolagem, usamos o Mostrar mensagem função. Também usaremos um enquanto: Verdadeiro loop para continuar fazendo uma nova leitura a cada 10 segundos - para o qual usamos o dormir função do tempo biblioteca.

Aqui está o programa completo:

from sense_hat import SenseHat
from time import sleep

sense = 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)

Execute este código e você verá cada nova leitura de temperatura rolando pela matriz de LED. Experimente soprar o Sense HAT para ver se a temperatura muda.

As leituras de temperatura podem ser afetadas pelo calor transferido da CPU do Raspberry Pi logo abaixo, portanto, pode ser necessário um ajuste para obter um valor mais preciso. Outra solução é usar um cabeçalho de empilhamento para elevar o Sense HAT acima do Raspberry Pi.

Use um Raspberry Pi para monitorar a temperatura

Embora você possa usar um sensor de temperatura independente para este projeto, o Sense HAT facilita o monitoramento da temperatura com seu Raspberry Pi. Você também pode usá-lo para fazer uma série de outras leituras de sensores, como pressão barométrica e umidade relativa, e exibi-las em seu LED. matriz.