DHT22 Temperatura e Umidade em um display de 7 segmentos com Arduino RJT43
Este projeto demonstra como construir um sistema simples, porém eficaz, para exibir leituras de temperatura e umidade em um display de 7 segmentos usando um Arduino. Esta configuração é útil para várias aplicações em que o monitoramento das condições ambientais é crucial. O projeto combina o sensor de temperatura e umidade DHT22 com um display de 7 segmentos TM1637, fornecendo uma saída clara e de fácil leitura.


Ideias de Projeto:
- Monitoramento de um ambiente doméstico para conforto ideal.
- Monitoramento das condições em uma estufa ou terrário.
- Construindo uma estação meteorológica básica.
- Exibindo temperatura e umidade em um projeto de registro de dados.
Hardware/Componentes
Para construir este projeto, você precisará dos seguintes componentes:
- Arduino Uno (ou placa compatível)
- Sensor de Temperatura e Umidade DHT22
- Display de 7 segmentos TM1637
- Fios de conexão
- Protoboard (opcional, mas recomendada)
Guia de Fiação



A fiação é simples. Consulte o vídeo (em 01:51) para um guia visual. As conexões principais são:
- Visor TM1637:VCC para 5V, GND para GND, CLK para o pino 2 do Arduino, DIO para o pino 3 do Arduino (no vídeo em 02:00).
- Sensor DHT22:VCC para 5V, GND para GND, DATA para o pino 9 do Arduino (no vídeo em 02:20). Observe que o vídeo usa o pino 8 do Arduino para fornecer 5V ao sensor (no vídeo em 02:41).
%%FIAÇÃO%%
Explicação do código
O código Arduino utiliza duas bibliotecas: TM1637Display para o display de 7 segmentos e DHT para o sensor DHT22. Os parâmetros configuráveis do código estão principalmente localizados no início:
// Module connection pins (Digital Pins)
#define CLK 2
#define DIO 3
#define DHTPIN 9 // DHT22 data pin
#define DHTTYPE DHT22 // DHT sensor type
Estas linhas definem os pinos do Arduino conectados ao display e ao sensor DHT22. Pode ser necessário ajustá-los se você usar pinos diferentes. OgetTemp()A função (no vídeo em 07:03) é crucial. Ela permite que você recupere diferentes valores do sensor DHT22 passando uma string como argumento:
float getTemp(String req) {
// ... (Sensor reading code) ...
if(req =="c"){ return t; } // Celsius
else if(req =="f"){ return f; } // Fahrenheit
// ... (Other options for Kelvin, humidity, heat index) ...
}
Esta função simplifica a leitura de diferentes dados do sensor (Celsius, Fahrenheit, umidade, índice de calor). O loop principal usa esta função para obter os dados e exibí-los no display de 7 segmentos, arredondando valores de ponto flutuante para inteiros para fins de exibição (no vídeo em 07:14).
Projeto/Demonstração ao vivo
O vídeo (no vídeo aos 00:32) mostra uma demonstração ao vivo do projeto. O display de 7 segmentos mostra claramente a temperatura em Fahrenheit. O vídeo também demonstra como o código pode ser modificado para exibir valores em Celsius, Kelvin, umidade e índice de calor (no vídeo aos 08:21).
Capítulos
- [00:06] Introdução e Visão Geral do Projeto
- [00:53] Primeiros passos e visão geral dos componentes
- [01:51] Fiação do Display TM1637
- [02:20] Fiação do sensor DHT22
- [03:14] Explicação do código: Configuração do TM1637
- [04:00] Explicação do Código: Configuração do DHT22
- [05:54] Explicação do Código: Loop Principal e Função de Exibição
- [07:03] Explicação do código: função getTemp()
- [08:21] Demonstração e Diferentes Opções de Saída
Recursos e referências
Ainda não há recursos.
Arquivos📁
Bibliotecas do Arduino (zip)
-
DHT22 PCB module red
application/zip0.01 MB
Arquivo Fritzing
-
DHT22 Humidity and Temperature Sensor
application/zip0.01 MB -
DHT22 PCB module red
application/zip0.01 MB -
DHT22 module white
application/zip0.01 MB -
TM1637 Seven Segment module
application/zip0.01 MB -
DHT11 Humitidy and Temperature Sensor (3 pins)
application/zip0.20 MB
Manual do Usuário
-
DHT22 Temperature and Humidity sensor user's manual
application/pdf0.36 MB