Monitoramento de Temperatura e Umidade com Arduino

Monitoramento de Temperatura e Umidade com Arduino
Neste tutorial, vamos explorar como utilizar o sensor de temperatura e umidade DHT11 para monitorar variáveis ambientais em projetos com Arduino.
Introdução ao Sensor DHT11
O DHT11 é um sensor amplamente utilizado devido ao seu custo-benefício, ideal para projetos que requerem a medição de temperatura e umidade. Ele utiliza um termistor para detectar a temperatura e um sensor capacitivo para medir a umidade. Esses dados são convertidos por um controlador de 8 bits para um sinal serial, que é então enviado ao Arduino através do pino Data.
Especificações Técnicas do DHT11
- Faixa de Temperatura: 0 a 50°C
- Faixa de Umidade: 20% a 90%
- Tensão de Operação: 3.3V a 5.5V
- Precisão da Temperatura: ±2°C
- Precisão da Umidade: ±5% RH
Componentes Necessários
Para este projeto, vamos utilizar os seguintes componentes:
- Sensor DHT11 (Temperatura e Umidade)
- Display 16×2 com Módulo I2C
- Arduino UNO (ou qualquer outra versão de sua preferência)
- Protoboard
- Fios Jumper
Esquema de Montagem
Abaixo, você encontra o esquema de montagem na protoboard. Este diagrama ajudará a entender como conectar cada componente corretamente:
Pinout do DHT11
O DHT11 possui quatro pinos:
VCC - Alimentação (3.3V ou 5V)
Data - Pino de dados que envia as informações para o Arduino
NC - Não conectado
GND - Terra
Configurando o Projeto
Antes de iniciar o código, é essencial instalar as bibliotecas necessárias. Caso ainda não tenha feito isso, baixe as seguintes bibliotecas:
DHT-sensor-library-master
Adafruit_Sensor-master
NewliquidCrystal_1.3.4
Código para Monitoramento de Temperatura e Umidade
Após conectar todos os componentes conforme o esquema de montagem, copie o código abaixo e cole na IDE do Arduino. Este código será responsável por ler os dados do sensor DHT11 e exibi-los no display 16×2.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
// Configuração do LCD no endereço I2C 0x27 (padrão para a maioria dos módulos)
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Configuração do DHT
#define PINODHT 12 // Pino do sensor
#define TIPODHT DHT11 // Troque para DHT22 se usar esse modelo
DHT dht(PINODHT, TIPODHT);
void setup() {
// Inicializa LCD
lcd.init();
lcd.backlight();
lcd.setCursor(5, 0);
lcd.print("PROESI");
lcd.setCursor(3, 1);
lcd.print("COMPONENTES");
delay(3000);
lcd.clear();
// Inicializa DHT
dht.begin();
}
void loop() {
delay(2000); // DHT11 precisa de ~2s entre leituras
float h = dht.readHumidity();
float t = dht.readTemperature();
// Verifica se leitura falhou
if (isnan(h) || isnan(t)) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Erro no sensor");
return;
}
// Mostra no LCD
lcd.setCursor(0, 0);
lcd.print("Umid: ");
lcd.print(h, 1); // 1 casa decimal
lcd.print("% "); // espaço extra limpa sobra
lcd.setCursor(0, 1);
lcd.print("Temp: ");
lcd.print(t, 1); // 1 casa decimal
lcd.print((char)223); // símbolo de grau °
lcd.print("C "); // espaço extra limpa sobra
}
Testando e Verificando os Resultados
Após carregar o código para o seu Arduino, o display exibirá as leituras de temperatura e umidade em tempo real. Isso permite monitorar o ambiente de forma contínua, com informações visuais e de fácil interpretação.
Conclusão
O sensor DHT11, em conjunto com um Arduino e um display I2C, oferece uma solução eficaz e acessível para projetos de monitoramento de temperatura e umidade. Este tutorial mostrou como integrar esses componentes de forma simples e eficiente. Com este conhecimento, você pode expandir o projeto para incluir alertas, registro de dados ou até mesmo controle de sistemas de climatização.
Referência: Arduino.cc
Esperamos que este tutorial tenha sido útil e que você possa aplicar esse conhecimento em seus próximos projetos. Fique atento aos próximos posts para mais dicas e tutoriais técnicos!