Sensor DHT22 de Temperatura e Umidade com Display LCD 16x2 I2C no Arduino
Componentes e Materiais
| Arduino UNO | 1 |
| Sensor DHT22 (Temperatura e Umidade) | 1 |
| Display LCD 16x2 com Módulo I2C (5V) | 1 |
| Protoboard (Full Size) | 1 |
| Bateria 9V + Conector | 1 |
| Cabos USB e Jumpers (M/M, M/F) | Conforme necessário |
Sobre o Projeto
Meu filho (7 anos) comprou cobras e um terrário. Para manter o ambiente adequado, precisávamos monitorar temperatura e umidade. Um sensor analógico mostrou-se impreciso, então decidi usar o Arduino Uno recém-comprado para automatizar a leitura com um sensor DHT22 e display LCD I2C 16x2.
Este tutorial é a base do projeto: leitura do DHT22 e exibição no LCD I2C, sem automação ainda.
Hardware Necessário
- Qualquer Arduino 5V (Uno R3 usado aqui)
- Sensor DHT22
- Display LCD 16x2 com I2C
- Protoboard
- 6 jumpers macho-macho
- 4 jumpers macho-fêmea
Bibliotecas Necessárias
Adafruit_SensorDHTNewliquidCrystal
Antes de Começar
O LCD I2C usa apenas 4 fios (VCC, GND, SDA, SCL). O display tem um endereço I2C — no meu caso 0x3F. Se o seu for diferente, ajuste no código.
Ligação na Protoboard
Conectei 5V do Arduino à linha vermelha (+) e GND à linha azul (-) da protoboard. Cores: vermelho para 5V, azul para GND, amarelo para dados do DHT22 (pino digital 4), laranja para SDA (A4), cinza para SCL (A5).
Conectando o DHT22
O DHT22 tem 4 pinos (VCC, Data, NC, GND). Coloquei na protoboard com a frente voltada para fora. Pino 1 (VCC) à direita. VCC e GND nas linhas de alimentação. Pino de dados (pino 2) no digital 4 do Arduino.
Conectando o LCD 16x2 I2C
4 pinos (da esquerda para direita): GND, VCC (5V), SDA, SCL. GND e VCC nas linhas da protoboard. SDA no A4, SCL no A5 do Arduino Uno.
O Código
Configure o endereço I2C (0x3F no meu caso). Instale as bibliotecas na pasta libraries do Arduino. Carregue o código e monitore temperatura e umidade.
Código Completo (hygroThermo.ino)
/* Como usar sensor DHT-22 com Arduino Uno
Mais info: https://www.ardumotive.com/how-to-use-dht-22-sensor-en.html
Dev: Michalis Vasilakis // Date: 1/7/2015 // www.ardumotive.com */
#include <DHT.h>
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
// Constantes
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// LCD I2C - Endereço 0x3F
#define I2C_ADDR 0x3F
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin);
// Variáveis
int chk;
float hum;
float temp;
void setup() {
Serial.begin(9600);
dht.begin();
lcd.begin(16, 2);
lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
lcd.setBacklight(HIGH);
}
void loop() {
delay(2000);
hum = dht.readHumidity();
temp = dht.readTemperature();
// Serial Monitor
Serial.print("Umidade: ");
Serial.print(hum);
Serial.print(" %, Temp: ");
Serial.print(temp);
Serial.println(" Celsius");
// Display LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temp);
lcd.print(" ");
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Um: ");
lcd.print(hum);
lcd.print(" %");
delay(2000);
}
Esquemático
Arquivo Fritzing: schema_UcHE1qRu2t.fzz e imagem do esquema disponíveis no projeto original.
Processo de manufatura
- Integração I2C Arduino‑Raspberry Pi 2 Perfeita para Projetos IoT de Sensores
- Painel de Controle para Flight Simulator 2020 com Arduino Nano – Display LCD e CDI
- Capture Gotas d'Água em Ação com Arduino Nano – Fotografia de Alta Velocidade DIY
- Registrador de Temperatura e Umidade com Arduino, DHT11 e Ethernet Shield
- Projeto HMI Interativo com Nextion, Arduino Mega e Sensores
- Como Exibir Imagens em LCD TFT 1.17" com Arduino UNO
- Exibir Temperatura, Umidade e Pressão do BME280 em Touchscreen Nextion
- Osciloscópio DIY com Arduino Nano (10 Hz–50 kHz) e LCD 128×64
- Módulo GPS u-blox LEA‑6H 02: Guia de Integração com Arduino e Python
- Construa um Relógio Despertador Confiável com RTC DS1302 e Arduino UNO