Em um artigo anterior, apresentamos o DHT11 , outro sensor de temperatura e umidade disponível. Mas neste novo artigo, contaremos tudo o que você precisa saber sobre o DHT22 . De modo geral, à primeira vista, a única diferença entre o DHT11 e o DHT22 é que o primeiro vem em uma caixa azul e o segundo em uma branca. Na verdade, ambos fazem parte da mesma família de sensores.
O DHT11 é o irmão menor , o que significa que possui algumas limitações ou menos recursos em comparação com o DHT22 e, portanto, um preço mais alto. O DHT11 pode ser usado em projetos onde você não precisa de medições de alta precisão, enquanto que, se você busca algo mais preciso, deve optar pelo DHT22. O DHT22 também não é exatamente de alta precisão, mas oferece um desempenho mais do que aceitável para a maioria dos projetos de faça-você-mesmo.
O que é DHT22?
O DHT22 é um sensor de temperatura e umidade com desempenho que rivaliza com modelos de alta precisão . É facilmente encontrado em lojas especializadas ou grandes varejistas . Isso permite que você tenha tudo integrado em um único dispositivo, eliminando a necessidade de sensores de temperatura e umidade separados.
Você pode encontrá-lo solto ou em módulos projetados especificamente para Arduino ; ou seja, o DHT22 montado em uma placa de circuito impresso pronta para uso, sem a necessidade de adicionar resistores pull-up, etc. Até este ponto, é bastante semelhante ao DHT11. E você também obterá alta confiabilidade e estabilidade nas medições graças ao sinal digital calibrado que utiliza.
Pinagem, recursos e folha de dados
Na imagem acima, você pode ver uma comparação da pinagem do DHT22 e do DHT11 e, como pode ver, eles são idênticos em termos de pinos. Portanto, a montagem seria exatamente a mesma e, o melhor de tudo, você poderia substituir o DHT11 por um DHT22 e vice-versa em seu projeto a qualquer momento, sem fazer muitas alterações.
Lembre-se de que existem 3 pinos que você deve usar: GND, Vcc e Data . O pino nº 3 não é usado e está desabilitado nos módulos, o que significa que você verá apenas três pinos. Se desejar mais detalhes sobre o produto adquirido, você pode consultar as folhas de dados do modelo e fabricante específicos para obter todas as informações. Embora a maioria dos valores possa parecer a mesma, podem existir pequenas variações. Suas características técnicas mais importantes são:
- Fonte de alimentação de 3,3v a 6v
- Consumo de corrente de 2,5 mA
- Sinal de saída digital
- Faixa de temperatura de -40ºC a 125ºC
- Precisão para medir temperatura a 25ºC de variação de 0.5ºC
- A resolução para medir a temperatura é de 8 bits, 0,1ºC
- A umidade pode medir de 0% UR a 100% UR
- Umidade precisa de 2-5% UR para temperaturas entre 0-50ºC
- A resolução é de 0,1% UR, não pode detectar variações abaixo disso
- Taxa de amostragem de 2 amostras por segundo: 2 Hz
- Folha de dados Sparkfun
Se você leu nosso manual sobre o DHT11, sabe que ele transmite dados digitais através do pino Data, o que é outra vantagem desses sensores. Não é necessário escrever código na IDE do Arduino para converter sinais analógicos em valores legíveis; o sinal digital pode ser processado diretamente para convertê-lo em graus ou porcentagem de umidade relativa.
É em parte por isso que é tão preciso, já que o quadro de 40 bits que transmite permite uma maior exatidão. Inclui até bits de paridade para detectar erros de sinal. Isso não existe com um sinal analógico, além do fato de que os sinais analógicos são muito sensíveis a variações de tensão…
Integração com Arduino
Assim como com o DHT11, instalar o DHT22 com o Arduino é bastante fácil . Lembre-se que, se estiver usando o sensor sozinho, sem estar montado em um módulo, e ele estiver distante (ou se estiver usando uma tensão mais baixa para alimentá-lo), será necessário usar um resistor pull-up para conectar o pino Vcc ao pino de dados. Mas, se estiver usando o módulo, você pode pular esta etapa e conectá-lo diretamente, como mostrado na imagem acima. Além disso, lembre-se de que o pino NC não utilizado não estará presente no módulo, o que facilita ainda mais evitar confusões.
Basta conectar o GND e o Vcc às conexões apropriadas na sua placa Arduino , ou seja, às marcadas como GND e 5V neste caso. Para o pino de dados, você pode conectá-lo a qualquer uma das entradas digitais do Arduino; no nosso caso, usamos o pino 7. Se você estiver usando um pino diferente, lembre-se de ajustar o código para funcionar com as conexões específicas do seu componente (parece óbvio, mas é um erro muito comum ao copiar e colar código na IDE do Arduino).
Código no IDE Arduino
Agora que você conectou tudo, vamos dar uma olhada em um exemplo de código simples para a IDE do Arduino . Lembre-se que temos um guia para iniciantes em Arduino em formato PDF que você pode baixar gratuitamente aqui , o que pode ser útil. Além disso, se você leu nosso artigo sobre o DHT11, deve se lembrar que havia uma biblioteca para usar os sensores DHTxx ; portanto, a mesma biblioteca usada para o DHT11 pode ser usada para o DHT22.
Após instalar a biblioteca e com tudo pronto, é hora de inserir o código para programar o microcontrolador Arduino e fazer seu projeto funcionar. Um exemplo básico seria:
#include "DHT.h"
// Ejemplo sencillo de uso para el DHT22
const int DHTPin = 7;
DHT dht(DHTPin, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("Test DHT22");
dht.begin();
}
void loop() {
// Tiempo de espera entre tomas de mediciones de 2 segundos.
delay(2000);
// Lee temperatura y humedad durante unos 250ms
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Fallo en la lectura");
return;
}
Serial.print("Humedad relativa: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.print(" *C ");
}
Espero que nossos guias sobre DHTxx tenham sido úteis , embora os projetos que geralmente são feitos sejam um pouco mais complexos. Esses códigos, que mostram como o sensor funciona, são bastante indicativos para futuras modificações e para adicionar o que você quiser.