0

Como ligar DHT11 e DHT22?

O DHT é um sensor básico e de baixo custo que utiliza um condensador e um sensor capacitivo para medir a temperatura e a humidade do ar ambiente. Esse sensor é bastante simples de usar, mas requer cuidado com o tempo entre duas leituras consecutivas, já que é necessário um intervalo de no mínimo 1 segundo entre uma leitura e outra.
 

 
Existem diferentes versões do DHT, semelhantes na aparência e na pinagem, porém com características diferentes. As características do DHT11 e DHT22, dois modelos populares desse sensor, são:

DHT11

  • Muito baixo custo
  • Tensão de alimentação de 3V a 5V
  • 2.5mA de corrente máxima durante a conversão
  • Bom para medir humidade entre 20% e 80%, com 5% de precisão
  • Bom para medir temperaturas entre 0 e 50°C, com ±2°C de precisão
  • Taxa de amostragem de até 1Hz (1 leitura por segundo)
  • Dimensões: 15.5mm x 12mm x 5.5mm
  • 4 pinos com 0.1″ de espaçamento entre eles

DHT22

  • Baixo custo
  • Tensão de alimentação de 3V a 5V
  • 2.5mA de corrente máxima durante a conversão
  • Bom para medir humidade entre 0% e 100%, com 2% a 5% de precisão
  • Bom para medir temperaturas entre -40 e 125°C, com ±0,5°C de precisão
  • Taxa de amostragem de até 0,5Hz (2 leituras por segundo)
  • Dimensões: 15.1mm x 25mm x 7.7mm
  • 4 pinos com 0.1″ de espaçamento entre eles

 
Como pode ser observado, o DHT22 é um pouco mais preciso e trabalha numa faixa um pouco maior de temperatura e humidade. Porém, ambos utilizam apenas um pino digital e são relativamente lentos, visto que é necessário um intervalo de tempo relativamente grande entre cada leitura.

Para instalar bibliotecas podemos ver neste artigo como instalar livrarias no Arduino IDE

 

Exemplo de uso

A utilização dessa biblioteca é bastante simples: basta chamar o método de leitura (read11 se estiver utilizando o DHT11, ou read22 se estiver utilizando o DHT22) e em seguida ler os valores nos atributos temperature e humidity. Lembre-se, que o sensor necessita de no mínimo 1 segundo de intervalo entre uma leitura e outra.

Neste exemplo será utilizado um DHT11 para medir a temperatura e humidade do ambiente, exibindo esses valores no terminal serial do Arduino. Os pinos Vcc e GND do sensor foram ligados nos pinos 5V e GND do Arduino, respectivamente, enquanto o pino de transmissão de dados foi ligado na porta digital 10. A pinagem do DHT11, o esquema de ligação no Arduino e o código podem ser visualizados abaixo:


 

 

#include   // Inclui a biblioteca no seu código

dht DHT; // Cria um objeto da classe dht
uint32_t ref = 0;
 
void setup()
{
  Serial.begin(9600); // Inicializa serial com taxa de transmissão de 9600 bauds
}
 
void loop()
{
  // Executa 1 vez a cada 2 segundos
  if(millis() - ref >= 2000)
  {
 
    DHT.read11(10); // Chama método de leitura da classe dht,
                    // com o pino de transmissão de dados ligado no pino 10
 
    // Exibe na serial o valor de umidade
    Serial.print(DHT.humidity);
    Serial.println(" %");
 
    // Exibe na serial o valor da temperatura
    Serial.print(DHT.temperature);
    Serial.println(" Celsius");
 
    ref = millis(); // Atualiza a referência
  }
}

 

————————-
Todos os produtos utilizados neste artigo podem ser encontrados na Loja de Eletrónica e Robótica – ElectroFun.

Gostaram deste artigo? Deixem o vosso comentário no formulário a baixo e partilhem com os vossos amigos.

Não se esqueçam de fazer like na nossa Página no Facebook.

Podem ainda colocar as vossas dúvidas no nosso Forum da Comunidade Arduino em Portugal ou no nosso Grupo no Facebook Arduino Portugal – Qual o teu projeto?

Comments

Comentários

ArduinoPortugal.pt

Deixar uma resposta