DHT11: tudo sobre o sensor para medir temperatura e umidade

DHT11

Medir temperatura e umidade é muito comum em muitos projetos de fabricantes eletrônicos. Em DIY é comum ter que medir esses parâmetros para controlar certos sistemas. Por exemplo, para ser capaz de criar um sistema de refrigeração, manutenção de plantas ou ar condicionado que inicie se a temperatura ou umidade atingir um determinado valor. Mas para que isso seja possível, você precisa de um sensor como o DHT11.

No mercado existem muitos sensores faixas de temperatura muito diferentes, com faixas de temperatura compatíveis ou precisões diferentes. Um exemplo disso é o LM35, um dos mais populares e usados ​​em eletrônica. Existem também outros sensores de umidade que atuam por variação de condutividade, como o AD22103KTZ da Analog Devices. Mas se você quiser medir os dois parâmetros, talvez o dispositivo que discutimos neste artigo hoje seja de muito mais interesse ...

O que é DHT11?

El DHT11 é um sensor simples que mede temperatura e umidade, tudo em um. A) Sim você não terá que comprar dois sensores separadamente. Seu preço é de cerca de € 2, por isso é bastante barato, embora você também possa encontrá-lo montado em um módulo (montado em uma placa de circuito impresso para facilitar o uso), como é comum neste tipo de componentes eletrônicos para Arduino. No caso da placa, ela inclui um resistor pull-up de 5 kilo ohm e um LED que nos alerta para o funcionamento.

DHT11 tem alta confiabilidade e estabilidade devido ao seu sinal digital calibrado. Além disso, se você olhar sua ficha técnica, verá que ela possui recursos interessantes, como verá nas próximas seções.

Produtos similares

DHT22

Existe um produto semelhante ao DHT11 no qual você pode estar interessado. Isto é o DHT22. É também um sensor integrado de temperatura e humidade, mas neste caso o seu preço é um pouco mais elevado, cerca de 4 €. A precisão para medir a temperatura é uma variação de 5% também como o DHT11, mas ao contrário, mede além da faixa de umidade entre 20 e 80%. Portanto, você pode estar interessado no DHT22 para projetos onde você precisa medir a umidade de 0 a 100%.

La frequência de coleta de dados também é o dobro do DHT11; no DHT22, 2 amostras são coletadas por segundo em vez de 1 amostra por segundo de DHT11. Quanto à temperatura, pode medir de -40ºC a + 125ºC com mais precisão, pois pode medir frações de graus, especificamente pode apreciar variações de mais / menos 0,5ºC.

Pinagem, recursos e folha de dados

Pinagem DHT11

Você pode encontrar muitas informações técnicas sobre o DHT11 em suas planilhas. Cada fabricante deste dispositivo pode fornecer alguns valores que podem variar, portanto, sempre recomendo a leitura do PDF do fabricante específico do dispositivo que você adquiriu. Embora a maioria dos valores pareça igual para você, pode haver uma ligeira variação de um para o outro. Suas características técnicas mais importantes são:

  • Fonte de alimentação de 3,5v a 5v
  • Consumo de corrente de 2,5 mA
  • Sinal de saída digital
  • Faixa de temperatura de 0ºC a 50ºC
  • Precisão para medir temperatura a 25ºC de variação de cerca de 2ºC
  • A resolução para medir a temperatura é de 8 bits, 1ºC
  • A umidade pode medir de 20% UR a 90% UR
  • Umidade com precisão de 5% UR para temperaturas entre 0-50ºC
  • A resolução é de 1% UR, não pode detectar variações abaixo disso
  • Folha de dados do Mouser

Em relação aos dados, transmitido em digital. Portanto, não é necessário passar do analógico para o digital como em outros sensores. Isso complicou o código para escrever no IDE do Arduino, mas neste caso não é necessário e é muito mais fácil. Embora o sensor em si seja analógico, ele inclui um sistema para realizar a conversão e pode ser conectado diretamente a uma entrada digital do Arduino.

O sinal analógico, que é uma variação da tensão, do sensor é convertido em formato digital para ser enviado ao microcontrolador Arduino. É transmitido em um quadro de 40 bits que correspondem às informações de umidade e temperatura capturadas pelo DHT11. Os primeiros dois grupos de 8 bits são para umidade, ou seja, os 16 bits mais significativos deste quadro. Em seguida, os outros 2 grupos de 8 bits restantes para temperatura. Ou seja, ele possui dois bytes para umidade e dois bytes para temperatura. Por exemplo:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001

Nesse caso, 0011 0101 0000 0010 é o valor de umidade e 0001 1000 0000 0000 é a temperatura. A primeira parte é para a parte inteira e a segunda parte é para decimais. Quanto a 0011 1001, ou seja, o os últimos 8 bits são paridade para evitar erros. Dessa forma, você pode verificar se tudo está correto durante as transmissões. Corresponde à soma dos bits anteriores, portanto, se a soma for igual à paridade, ela estará correta. No exemplo que coloquei não seria, porque como vê não corresponde ... Isso indicaria um fracasso.

Uma vez que isso seja conhecido, o próximo nível técnico do DHT11 que deve ser observado são os pinos. O contatos ou pinagem deste dispositivo é simples, pois possui apenas 4 deles. Um dos pinos é para alimentação ou Vcc, o outro para E / S para transmitir dados, um pino NC que não conecta e GND para a conexão de aterramento.

Integração com Arduino

Conectando o DHT11 com Arduino

Depois de saber a pinagem do DHT11 e também placa Arduino, a conexão é muito simples. Lembre-se que se você escolheu um módulo DHT11 integrado em uma placa de circuito impresso, os pinos serão três, já que o NC é removido para facilitar. A única coisa que você precisa fazer é conectar o pino de aterramento a uma das conexões GND do Arduino, conforme aparece no diagrama da imagem anterior.

Por outro lado, o pino de alimentação deve ser conectado a a conexão 5v do Arduino, assim, o sensor será totalmente alimentado com GND e Vcc, mas agora os dados estão faltando. Para transmitir os dados do sensor DHT11 para a placa Arduino, você pode usar qualquer uma das entradas digitais, como a 7 que aparece na imagem ... Agora você tem tudo pronto para usar depois de criar o IDE Arduino necessário código ...

Se o sensor estiver longe em seu projeto e você for usar um cabo com mais de 20 metros, use um resistor pull-up de 5k, para cabos maiores ele deve ser proporcionalmente maior. Observe que se você usar 3,5 V em vez de 5 V, o cabo não deve ser maior que 20 cm devido às quedas de tensão.

Lembre-se de que o que eles recomendam é faça medições a cada 5 segundos, embora a frequência de amostragem na qual o DHT11 pode operar seja mais alta, mas se for feito com mais frequência, pode não ser tão preciso.

Código no IDE Arduino

Indo direto para o código, diga isso em Arduino IDE você pode usar várias bibliotecas existentes com recursos que tornarão sua vida mais fácil com o DHT11. Por exemplo, um deles é aquele fornece Adafruit. Lembre-se de que temos um guia para iniciantes que começa com o Arduino em PDF que você pode download grátis aqui e isso pode te ajudar.

Depois de instalar a biblioteca correspondente, você pode comentar digite o código para controlar o sensor de temperatura e umidade DHT11 para seu projeto com o Arduino. Por exemplo:

#include "DHT.h"

const int DHTPin = 7;     
 
DHT dht(DHTPin, DHTTYPE);
 
void setup() {
   Serial.begin(9600);
   Serial.println("Midiendo...");
 
   dht.begin();
}
 
void loop() {
   delay(2000);
 
   float h = dht.readHumidity();
   float t = dht.readTemperature();
 
   if (isnan(h) || isnan(t)) {
      Serial.println("Fallo en la lectura del sensor DHT11");
      return;
   }
 
 
   Serial.print("Humedad relativa: ");
   Serial.print(h);
   Serial.print(" %\t");
   Serial.print("Temperatura: ");
   Serial.print(t);
   Serial.print(" ºC ");
}


Seja o primeiro a comentar

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.