Dht11 + Dht22

Sensor de umidade e temperatura DHT11/DHT22 com Arduino

Os sensores DHT11 e DHT22 são usados para medir a temperatura e a umidade relativa. Esses sensores contêm um chip que faz a conversão analógica para digital e emite um sinal digital com a temperatura e a umidade. Isso os torna muito fáceis de usar com qualquer microcontrolador.

Apresentando os sensores DHT11 e DHT22

Os sensores DHT11 e DHT22 são usados para medir a temperatura e a umidade relativa. Eles são muito populares entre fabricantes e amadores de eletrônica.

Dht11 + Dht22

Esses sensores contêm um chip que faz a conversão analógica para digital e emite um sinal digital com a temperatura e a umidade. Isso os torna muito fáceis de usar com qualquer microcontrolador.

DHT11 vs. DHT22

O DHT11 e o DHT22 são muito semelhantes, mas diferem em suas especificações. A tabela a seguir compara algumas das especificações mais importantes dos sensores de temperatura e umidade DHT11 e DHT22. Para obter uma análise mais detalhada desses sensores, consulte a folha de dados dos sensores. (Guia abaixa do Folha de dados Original)

O sensor DHT22 tem uma resolução melhor e uma faixa de medição de temperatura e umidade mais ampla. Entretanto, é um pouco mais caro e você só pode solicitar leituras com intervalo de 2 segundos.

O DHT11 tem uma faixa menor e é menos preciso. No entanto, você pode solicitar leituras do sensor a cada segundo. Ele também é um pouco mais barato.

Apesar das diferenças, eles funcionam de forma semelhante, e você pode usar o mesmo código para ler a temperatura e a umidade. Você só precisa selecionar no código o tipo de sensor que está usando.

Pinagem do DHT

Os sensores DHT têm quatro pinos, conforme mostrado na figura a seguir. No entanto, se você adquirir seu sensor DHT em uma placa breakout, ele virá com apenas três pinos e com um resistor pull-up interno no pino 2.

A tabela a seguir mostra a pinagem do DHT22 e do DHT11. Quando o sensor está voltado para você, a numeração dos pinos começa em 1, da esquerda para a direita

Sensor de temperatura e umidade DHT11 com Arduino

Nesta parte, criaremos um projeto simples com o Arduino que lê a temperatura e a umidade e exibe o resultado

Peças necessárias

Para concluir este tutorial, você precisa dos seguintes componentes:

  • Arduino UNO (Original ou Generico)
  • Sensor de temperatura e umidade DHT11
  • ProtoBoard
  • Resistor de 4,7k Ohm
  • Fios de jumper

Esquema
Siga o diagrama esquemático a seguir para conectar o sensor de temperatura e umidade DHT11 (ou DHT22) ao Arduino.

Aqui estão as conexões (da esquerda para a direita):

Instalação de bibliotecas

Para ler a partir do sensor DHT, usaremos a biblioteca DHT da Adafruit. Para usar essa biblioteca, você também precisa instalar a biblioteca Adafruit Unified Sensor. Siga as próximas etapas para instalar essas bibliotecas.

Abra o Arduino IDE e vá para o Icon Library Manager. O Gerenciador de bibliotecas deve ser aberto, e efetue a busca por DHT e Unified.

Procure por “DHT” na caixa de pesquisa e instale a biblioteca DHT da Adafruit.

Ao clicar em instalar se já está usando a versão nova do Arduino IDE 2.3.*, ele irá instalar as dependencias automaticamente, ai não passe para a parte seguinte

Depois de instalar a biblioteca DHT da Adafruit, digite “Adafruit Unified Sensor” na caixa de pesquisa. Role a tela até o fim para encontrar a biblioteca e instalá-la.

No meu caso ao ter instalado meu Arduino IDE era o mais novo, ele instalou tudo junto

Código

Depois de instalar as bibliotecas necessárias, você pode carregar um código de exemplo da biblioteca.
Em seu Arduino IDE, vá para File > Examples > DHT Sensor library > DHTtester
O código a seguir deve ser carregado. Ele lê a temperatura e a umidade e exibe os resultados no Monitor serial.

#include "DHT.h"

#define DHTPIN 2     // what pin we're connected to
#define DHTTYPE DHT11   // DHT 11 

// Initialize DHT sensor for normal 16mhz Arduino
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600); 
  Serial.println("DHTxx test!");
 
  dht.begin();
}

void loop() {
  // Wait a few seconds between measurements.
  delay(2000);

  float h = dht.readHumidity();
  // Read temperature as Celsius
  float t = dht.readTemperature();
  // Read temperature as Fahrenheit
  float f = dht.readTemperature(true);
  
  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }


  float hi = dht.computeHeatIndex(f, h);

  Serial.print("Humidity: "); 
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: "); 
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hi);
  Serial.println(" *F");
}

Como o código funciona
Você começa incluindo a biblioteca DHT:

#include "DHT.h"

Você está gostando do projeto, ele completo é encontrado no Ebook com este e outros, abaixo.

Guia de Arduino com sensores e módulos

Please follow and like us:
error0
fb-share-icon
Tweet 20
fb-share-icon20