Guia básico dos Sensores de umidade e temperatura DHT11 e DHT22

Nesse Tutorial, você aprenderá como funcionam os Sensores de umidade e temperatura DHT11 e DHT22 e como fazer uma montagem desses sensores com o Arduino. Esses são os tópicos desse Tutorial :

 

Introdução

Umidade é a quantidade de vapor de água na atmosfera.

A umidade relativa do ar é uma importante medida usada na previsão do tempo, e indica a possibilidade de precipitação chuva. A alta quantidade de vapor de água na atmosfera favorece a ocorrência de chuvas. Já com a umidade do ar baixa, é difícil chover.

A alta umidade durante dias quentes faz a sensação térmica aumentar, ou seja, a pessoa tem a impressão de que está mais calor, devido à redução da eficácia da transpiração da pele, e assim reduzindo o resfriamento corporal. De acordo com a OMS (Organização Mundial da Saúde), valores de umidade abaixo de 20% oferecem risco à saúde, podendo provocar desidratação nas pessoas.

O instrumento chamado de Higrômetro é usado para a medição da umidade relativa presente na atmosfera. É utilizado principalmente em estudos do clima, mas também em locais fechados onde a presença de umidade excessiva ou abaixo do normal poderia causar danos, por exemplo dentro de museus , bibliotecas e em laboratórios.

Umidade – fonte : Wikipedia

Essas são algumas aplicações para os Sensores de Umidade e Temperatura:

  • Estação Meteorológica,
  • Controle de irrigação para plantas,
  • Controle de umidade e temperatura em ambientes controlados,
  • Frigoríficos,
  • Data Centers,
  • Data loggers, etc.

 

Sensor DHT11

O sensor DHT11 é um dispositivo de baixo custo usado para medição de umidade e temperatura do ar. O sensor de umidade é capacitivo e o sensor de temperatura é um termistor NTC, isto é um resistor sensível à variações de temperatura. Dentro do sensor existe um microcontrolador que faz as medições e transmite os valores no formato digital através de um pino de saída. Segundo o fabricante, a transmissão digital pode ser realizada através de um cabo de até 20 metros.

OBS = longa exposição do sensor ao sol, poderá afetar a performance do mesmo.

Especificações do sensor DHT11 (esses valores podem variar dependendo do fabricante):

  • Faixa de umidade relativa = de 20 a 80 %
  • Precisão na umidade = ± 5 % RH
  • Resolução de umidade = 5 % RH
  • Faixa de temperatura = 0 a 50 °C
  • Precisão na temperatura = ± 2 % °C
  • Resolução na temperatura = 2 °C
  • Tempo de resposta = 2 segundos
  • Alimentação = de 3,5 V a 5 V
  • Consumo máximo de corrente = 2,5 mA

DHT11 Datasheet

Sensor DHT11 – pinout

  • VCC = 3,5 a 5V
  • DATA = comunicação de dados
  • NC = sem conexão
  • GND = terra

 

Sensor DHT22/AM2302

O Sensor DHT22 ou AM2302 também é  usado para medição de umidade e temperatura do ar. Só que com características melhores do que o do DHt11. Tem maior precisão nas medições e abrange uma faixa maior de temperatura e umidade. Por isso ele custa um pouco mais caro.

Especificações do sensor DHT22 (esses valores podem variar dependendo do fabricante) :

  • Faixa de umidade relativa = de 0 a 100 %
  • Precisão na umidade = ± 2% RH
  • Resolução de umidade = 0,1 % RH
  • Faixa de temperatura = -40 a 80 °C
  • Precisão na temperatura = ± 1 % °C
  • Resolução na temperatura = 0,1 °C
  • Tempo de resposta = < 5 segundos
  • Alimentação = de 3,3V a 5 V
  • Consumo máximo de corrente = 0,5 mA

Datasheet_DHT22/AM2302

Existem algumas limitações no tamanho do cabo do sensor. Se a tensão de alimentação for de 3,3V, o cabo não pode exceder um metro. Veja no datasheet. Longa exposição do sensor ao sol, poderá afetar a performance do mesmo, também.

Sensor DHT22/AM2302 – pinout

  • VCC = 3,3 a 5V
  • DATA = comunicação de dados
  • NC = sem conexão
  • GND = terra

Para os curiosos, encontrei essa imagem do sensor DHT22 aberto e sem a tampa. Fonte = How to Mechatronics.

Interface com os Sensores DHT

Após a alimentação de tensão dos Sensores DHT11 ou DHT22, aguarde cinco segundos para o circuito se estabilizar. Um capacitor de 100 nF é recomendado entre o pino VCC e o GND. No pino de saída, deve ser usado também um resistor de pullup (4,7K ohms). No caso do módulo sensor DHT11, esses componentes não são necessários pois já estão montados na placa.

A comunicação dos dados no barramento serial (único pino) ocorre nos dois sentidos, isto é, do sensor para o Microcontrolador e vice-versa.

O protocolo de comunicação pode ser dividido em três partes :

  1. Requisição : para o sensor enviar os dados, ele deverá ser  requisitado,
  2. Resposta : o sensor envia uma resposta depois de requisitado,
  3. Leitura de dados: após a resposta do sensor, os dados são enviado em 5 segmentos de 8 bits (40 bits).

Os dois primeiros bytes correspondem à umidade relativa na forma integral e decimal. O terceiro e quarto byte formam a temperatura em graus Celsius na forma integral e decimal. O último byte é o checksum dos dados.

Se quiser saber mais sobre os sensores e os protocolos, sugiro a leitura dos Datasheets e do documento abaixo :

Módulo sensor DHt11

Modulo Sensor DHT11 – pinout

 

Sensor DHT11 ou DHT22  com Arduino

A montagem dos Sensores DHT com Arduino é muito simples. Como os fios de ligação são curtos, não conectei o capacitor como recomendado. Se for usar cabos mais extensos, monte o capacitor entre o VCC e o terra. Mas o resistor de pullup de 4,7 K ohms é necessário. O Diagrama Fritzing abaixo serve para os dois sensores: DHT11 ou DHT22, já que eles têm a mesma pinagem. Mas não se esqueça de configurar no programa, o sensor usado. Já que existem algumas diferenças nos protocolos de comunicação.

 

Considerando que o módulo DHT11 já tem o resistor de pullup no pino de dados, nem esse resistor é necessário. A alimentação recomendável é de 5 V.

 

Instalando a Biblioteca DHT Sensor

Tanto para o uso do Sensor DHT11 quanto para o DHT22, a biblioteca que será usada é a da Adafruit. Ela segue os padrões da IDE Arduino e é bem simples para usá-la.

Para instalar a nova Biblioteca DHT Sensor Library , clique em :

Sketch > Incluir Biblioteca > Gerenciar Bibliotecas 

Após abrir a janela do Gerenciador de Biblioteca, refine a busca digitando DHT Sensor Library. Na biblioteca  da Adafruit, clique em More Info e depois em Instalar. Após alguns segundos, ela será automaticamente instalada. Lembre-se que o seu computador precisa estar conectado na internet, para poder baixar a biblioteca. Após a instalação da Biblioteca, é necessário que feche e abra novamente o programa  Arduino IDE.

Sketch Arduino – Sensor DHT

O programa também é bem simples. Fiz uma tradução do exemplo da Biblioteca da Adafruit, para facilitar o entendimento. O programa faz com que o Arduino se comunique com o Sensor DHT, para realizar as leituras de umidade e temperatura.

O mesmo programa poderá ser usado para os dois sensores (DHT11 ou DHT22). Mas somente um sensor deverá ser usado de cada vez. É necessário somente a definição no programa, do sensor a ser usado.

Para usar o Sensor DHT11 , comente o Sensor DHT22 :

#define DHTTYPE DHT11                 // Sensor DHT11
//#define DHTTYPE DHT22            // Sensor DHT22 ou AM2302

Ou para usar o Sensor DHT22, comente o Sensor DHT11 :

//#define DHTTYPE DHT11             // Sensor DHT11
#define DHTTYPE DHT22               // Sensor DHT22 ou AM2302

Sketch ArduinoDHT.ino

Essas são as telas do Monitor Serial da IDE , para o Sketch das montagens. Veja as diferenças nas leituras dos dois sensores.

Usando o Sensor DHT11 :

E para o uso do Sensor DHT22 :

 

Vários projetos com Sensores DHT e Arduino

Estações Meteorológicas com Arduino

DHT Sensors – Learn Adafruit

Adafruit DHT Sensor Library

DHT11 Class for Arduino

 

Se gostar ou tiver alguma dúvida,  deixe um comentário!

No votes yet.
Please wait...
Gustavo Murta
Gustavo Murta
Consultor e Projetista de Sistemas Embarcados. Técnico em eletrônica, formado em Curso superior de TPD, pós-graduado em Marketing. Trabalhou por muitos anos na IBM na área de manutenção de computadores de grande porte. Aposentou-se, podendo curtir o que mais gosta : estudar e ensinar Tecnologia. Hobista em eletrônica desde 1976. Gosta muito de Fotografia e Observação de aves.