Sensor de Temperatura DHT11 com Arduino
Publicado em 1 de abril de 2025 • 4 min ler • 663 palavrasAprenda como conectar e utilizar o sensor de temperatura e umidade DHT11 com Arduino.
O DHT11 é um sensor digital que mede temperatura e umidade. Ele possui três ou quatro pinos:
O sensor funciona enviando dados de forma digital via um protocolo proprietário, sendo necessário o uso de uma biblioteca para facilitar a leitura dos valores no Arduino.
Para mais detalhes, confira o datasheet do DHT11:
BaixarAbra a IDE do Arduino e certifique-se de que a placa e a porta corretas estejam selecionadas:
Ferramentas > Placa
e selecione sua placa (por exemplo, Arduino Uno).Ferramentas > Porta
selecione a porta do seu Arduino.Para facilitar a comunicação com o sensor, vamos utilizar a biblioteca DHT sensor da Adafruit. Siga os passos abaixo:
Rascunho > Incluir Biblioteca > Gerenciar Bibliotecas...
Isso irá instalar a biblioteca e as dependências (Adafruit Unified Sensor).
Segue um exemplo de código para ler os dados de temperatura e umidade do sensor DHT11:
#include "DHT.h"
#define DHTPIN 2 // Pino digital conectado ao sensor
// Descomente a linha referente ao tipo de sensor
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Inicializa o sensor DHT
DHT dht(DHTPIN, DHTTYPE);
// A função setup executa uma vez quando a placa é ligada ou em um reset
void setup() {
Serial.begin(9600); // Inicializa comunicação serial
Serial.println("DHTxx test!");
dht.begin(); // Inicializa sensor DHT
}
// A função loop executa repetidamente
void loop() {
// Aguarda alguns segundos entre as medições
delay(2000);
// Lê a umidade relativa
float hum = dht.readHumidity();
// Lê a temperatura em Celsius (padrão)
float temp = dht.readTemperature();
// Verifica se alguma leitura falhou
if (isnan(hum) || isnan(temp)) {
Serial.println("Falha ao ler do sensor DHT!");
return;
}
// Exibe os resultados no monitor serial
Serial.print("Umidade: ");
Serial.print(hum);
Serial.print(" %\t");
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.println(" *C");
}
setup()
, inicializamos a comunicação serial e o sensor com o método begin()
.loop()
, o código lê os valores de umidade e temperatura a cada 2 segundos. Se a leitura falhar, uma mensagem de erro é exibida.Ferramentas > Monitor Serial
e ajuste a taxa de transmissão para
9600 baud.Neste tutorial, você aprendeu a conectar o sensor de temperatura e umidade DHT11 ao Arduino e a desenvolver um código simples para ler e exibir os dados coletados. Esse projeto pode servir como base para aplicações mais complexas, como monitoramento ambiental ou sistemas de automação. Explore as possibilidades e adapte o código conforme suas necessidades!
Boa sorte com seu projeto e divirta-se!