O sensor de umidade e temperatura DHT11 é um sensor que permite medir temperaturas de 0 a 50 Celsius, e umidade na faixa de 20 a 90%. Não é um sensor extremamente rápido e preciso, por isso não é recomendada a utilização em ambientes de alto risco.

Sua faixa de precisão para temperatura é de 2 graus, e de umidade, 5%. O datasheet do sensor DHT11 você encontra aqui.

O sensor de temperatura e umidade DHT11

O DHT11 é um sensor de baixo custo que usa um medidor capacitivo para medir a umidade e um termistor para medir a temperatura ambiente. Comentei anteriormente que o DHT11 não é um sensor extremamente rápido pois o intervalo mínimo entre as leituras deve ser de 2 segundos. Fique atento à isso quando for criar o seu programa com ele.

O sensor DHT11 tem 4 pinos, mas o pino 3 não é utilizado e deve permanecer desconectado quando você montar o seu circuito:

sensor de umidade temperatura dht11

O mais comum é encontrá-lo em forma de módulo, como esse da imagem abaixo, onde temos apenas 3 pinos: Vcc, Data e Gnd.

Módulo DHT11
Modulo DHT11 - Fundo

A ligação do sensor é bem simples, utilizando apenas uma porta analógica do Arduino.

No nosso exemplo abaixo, usamos a porta analógica 1 e alimentação do sensor através do pino 5V do Arduino Uno:

Circuito DHT11 e Arduino

O programa abaixo lê as informações do sensor e apresenta essas informações no serial monitor da IDE do Arduino. A biblioteca para uso com o DHT11 você encontra aqui.

//Programa : Sensor de umidade e temperatura DHT11
//Autor : Arduino e Cia

#include <dht.h>

#define dht_dpin A1 //Pino DATA do Sensor ligado na porta Analogica A1

dht DHT; //Inicializa o sensor

void setup()
{
  Serial.begin(9600);
  delay(1000);//Aguarda 1 seg antes de acessar as informações do sensor
}

void loop()
{
  DHT.read11(dht_dpin); //Lê as informações do sensor
  Serial.print("Umidade = ");
  Serial.print(DHT.humidity);
  Serial.print(" %  ");
  Serial.print("Temperatura = ");
  Serial.print(DHT.temperature); 
  Serial.println(" Celsius  ");

  //Não diminuir o valor abaixo. O ideal é a leitura a cada 2 segundos
  delay(2000);  
}

Agora execute o programa, abra o serial monitor e você terá uma tela como essa, contendo as informações de temperatura (em porcentagem) e umidade (em graus Celsius):

Sensor temperatura DHT11 - Serial Monitor

Aproveitando o post anterior sobre o display Nokia 5110, que tal juntarmos tudo e apresentarmos esses dados de temperatura e umidade no display? Assunto para o próximo artigo. Até lá!

Avalie este post!