• COMPONENTE

    MÓDULO HDT11

    Módulo DHT11

O que é um módulo DHT11?

O DHT11 é um sensor digital de umidade e temperatura que permite medir temperaturas de 0 a 50 graus Celsius com precisão de + -2 C, e medir umidade de 20% a 80% com precisão de + -5%.

O sensor possui um termistor embutido para medição da temperatura, que é basicamente um resistor variável que altera sua resistência com a mudança de temperatura.

DHT11 arduino

Propriedades

Também possui um sensor capacitivo para medir a umidade do ambiente, um controlador de 8 bits que converte o sinal de temperatura e umidade dos sensores e um sinal serial e envia ao Arduino através do pino de dados (Data).
Pode ser utilizado em diversos projetos como monitoranento e controle de climatização. O DH11 não é recomendável para utilização em ambientes que exigem alta precisão, pois seu tempo de leitura chega a um intervalo de até 2 segundos, logo, pode-se dizer que não é um sensor tão rápido e preciso. Apesar de possuir 4 pinos, o pino 3 não é utilizado.

Montagem dos componentes

Logo abaixo temos a lista de componentes utilizado neste exemplo, e sua ligação com o Arduino.

  • 1 x Arduino Uno SMD
  • 1 x Cabo USB para comunicação
  • 1 x Protoboard 400 pontos
  • 1 x Sensor DHT11
  • 1 x Resistor 4.7kΩ
  • 4 x Jumpers macho/macho
Esquema montagem dht11

Código exemplo

Abaixo temos um código exemplo, mostra a temperatura em ºC e a umidade em porcentagem.

IDE Arduino
//Baixar biblioteca DHT Sensor Library ou instalar do gerenciador de bibliotecas da IDE
#include "DHT.h"

#define DHTPIN 6 // o sensor dht11 foi conectado ao pino 6
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

void setup(){
Serial.begin(9600); // inicializa o monitor serial
Serial.println("DHT teste!"); // imprime o texto no serial
dht.begin();
}

void loop(){
//declarar as variáveis para receber os valores
float umidade = dht.readHumidity(); 
float temperatura = dht.readTemperature();
// Se as variáveis temperatura e umidade não forem valores válidos, acusará falha de leitura.
if (isnan(temperatura) || isnan(umidade)){
Serial.println("Falha na leitura do dht11...");
} 
else 
{
// se os valores forem válidos, imprime os dados no monitor serial
Serial.print("Umidade: ");
Serial.print(umidade);
Serial.print(" %t"); //quebra de linha
Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.println(" °C");
delay(1000); //aguardar 1 segundo
}
}
IDE Arduino