Exibindo a Temperatura de um HTU21D como um Gráfico de Barras em um LCD

Exibindo a Temperatura de um HTU21D como um Gráfico de Barras em um LCD

Neste tutorial, aprenderemos como exibir leituras de temperatura de um sensor de temperatura e umidade HTU21D em uma tela LCD na forma de um gráfico de barras. As leituras incluirão valores em Celsius, Fahrenheit, Kelvin e umidade relativa, fornecendo uma visão abrangente das condições ambientais. Este projeto ajudará você a entender como conectar os componentes corretamente e implementar o código necessário para fazer tudo funcionar perfeitamente.

HTU21D module

Para aqueles que querem um guia visual, não deixem de conferir o vídeo associado a este tutorial (no vídeo em :00).

Hardware Explicado

Os principais componentes deste projeto incluem o sensor HTU21D e o display LCD 1602. O HTU21D é um sensor digital de umidade e temperatura que se comunica via I2C. Ele fornece leituras precisas de temperatura e umidade, que podem ser facilmente acessadas através de sua biblioteca. O display LCD 1602, por outro lado, mostra as leituras em um formato legível por humanos, permitindo avaliações rápidas das condições ambientais.

O HTU21D utiliza uma interface I2C simples, facilitando a conexão e a comunicação com microcontroladores como o Arduino. O display LCD 1602 também utiliza I2C, o que simplifica a fiação ao reduzir o número de pinos necessários para se conectar ao Arduino. Isso permite uma configuração mais limpa, mantendo uma saída visual clara.

Detalhes da Ficha Técnica

FabricanteAdafruit
Número da peçaHTU21D
Tensão de lógica/IO3,3 V (típ.)
Tensão de alimentação1,5 - 3,6 V
Faixa de temperatura-40 a 125 °C
Faixa de umidade0 a 100 %UR
Resolução0,01 °C / 0,04 %UR
ComunicaçãoI2C
Pacote4-pinos LGA

  • Use 3,3 V para alimentar o HTU21D; conectar a 5 V pode danificá-lo.
  • Garanta que resistores de pull-up adequados sejam usados nas linhas I2C (SDA e SCL).
  • Mantenha o sensor afastado de fontes de calor durante os testes.
  • Verifique o endereço I2C correto usando um esboço de scanner I2C.
  • Certifique-se de que o LCD está corretamente inicializado com o endereço correto.

Instruções de Fiação

Arduino wiring for HTU21DF light intesity sensor with LCD
Arduino wiring for HTU21DF light intesity sensor with LCD

Para conectar o sensor HTU21D e o display LCD 1602, siga estas etapas cuidadosamente:

Primeiro, conecte o sensor HTU21D. Conecte o primeiro pino (VCC) ao pino de 3,3 V no Arduino. O segundo pino (GND) deve ser conectado ao terra (GND) do Arduino. O terceiro pino (SDA) é conectado ao pino A4 no Arduino, e o quarto pino (SCL) se conecta ao pino A5. Certifique-se de usar as cores corretas dos fios para clareza, usando vermelho para VCC, preto para GND, laranja para SDA e amarelo para SCL.

Em seguida, para o display LCD 1602, conecte o pino VCC ao pino de 5 V no Arduino e o pino GND ao terra. O pino SDA do LCD deve ser conectado ao mesmo pino A4 usado para o HTU21D, e o pino SCL deve ser conectado ao pino A5. Essa configuração permite que tanto o sensor quanto o display se comuniquem via protocolo I2C.

Exemplos de Código e Passo a Passo

No texto, o primeiro passo é incluir as bibliotecas necessárias para o sensor e o LCD. A linha#include é essencial para a comunicação I2C, enquanto#include "Adafruit_HTU21DF.h"inicializa o sensor HTU21D. A próxima linha cria uma instância da classe HTU21D:

Adafruit_HTU21DF htu = Adafruit_HTU21DF();

Esta linha configura o sensor para uso no programa, permitindo-nos chamar seus métodos mais tarde para ler os valores de temperatura e umidade.

Dentro dosetup()função, inicializamos o monitor serial e o display LCD. As linhas seguintes verificam se o sensor está funcionando corretamente:

if (htu.begin()) {
    lcd.print("HTU21DF Bargraph");  
} else {
    lcd.print("missing HTU21DF"); 
    while(1); // Pause forever.
}

Se o sensor não conseguir inicializar, o programa exibirá uma mensagem de erro e interromperá a execução. Isso é crucial para a depuração e garante que o sensor esteja conectado corretamente.

Noloop()função, leituras de temperatura são feitas e exibidas. A linhafloat T = getHTU('H');recupera a temperatura ou a umidade com base no parâmetro passado. O valor recuperado é então exibido no LCD:

lcd.setCursor (0,1); 
lcd.print(T); // print  
lcd.print((char)223); // prints degree symbol
lcd.print("C"); //

Este código posiciona o cursor na segunda linha do LCD e imprime o valor da temperatura junto com o símbolo de grau. O uso de(char)223é um truque útil para exibir o símbolo de grau no LCD.

Demonstração / O que Esperar

Uma vez que tudo esteja configurado e o código seja carregado, você deverá ver as leituras de temperatura exibidas no LCD como um gráfico de barras. As leituras serão atualizadas continuamente, refletindo a temperatura e umidade atuais. Se você soprar ar quente no sensor, verá a temperatura subir rapidamente, confirmando que o sistema funciona como esperado. Tenha cuidado com polaridade invertida ou fiação incorreta, pois isso pode levar a mau funcionamento ou danos (no vídeo às 02:30).

Marcação de Vídeo

  • 00:00- Introdução
  • 01:30- Explicação da Fiação
  • 02:30- Revisão de Código
  • 04:00- Demonstração
  • 05:30- Conclusão

Imagens

Arduino wiring for HTU21DF light intesity sensor with LCD
Arduino wiring for HTU21DF light intesity sensor with LCD
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
214-Arduino code using HTU21D-F Humidity & Temperature on LCD bargraph
Idioma: C++
Copiado!

Arquivos📁

Folha de dados (pdf)