O DHT-22 é um dispositivo de baixo custo para medição de umidade e temperatura. Os sensores DHT são feitos de duas partes, um sensor capacitivo de umidade e um termistor. O dispositivo requer uma fonte de alimentação de 3 a 5V. Ele usa uma única linha de dados para se comunicar com o Arduino. Ele tem uma velocidade de atualização bastante lenta e deve ser apenas amostrado a cada 2 segundos.
Exemplo de código:
// Exemplo de esboço para umidade DHT22 – sensor de temperatura
2 // Escrito por cactus.io, com agradecimentos a Adafruit por pedaços de sua biblioteca. domínio público
3
4 #include “cactus_io_DHT22.h”
5
6 2 // #define DHT22_PIN o pino do Arduino DHT22 a linha de dados está ligado a
7
8 // Para obter detalhes sobre como ligar o sensor ao Arduino DHT22 Então confira esta página
9 // http://cactus.io/hookups/sensors/temperature-humidity/dht22/hookup-arduino-to-dht22-temp- sensor de umidade
10
11 // Inicializar o sensor DHT para um Arduino normal de 16 mhz.
12 DHT22 dht (DHT22_PIN);
13 // Nota: Se você estiver usando uma placa com um processador mais rápido do que 16MHz Então você precisa de
14 // declarar uma instância do DHT22 usando
15 // DHT22 DHT (DHT22_DATA_PIN, 30);
16 // O parâmetro adicional, neste caso é 30 é usado para aumentar o número de
17 // ciclos de transição entre os bits nas linhas de dados e clock. Para as
18 placas Arduino que rodam a 84MHz, o valor de 30 deve estar correto.
18
19 void setup () {
20 Serial.begin (9600);
21 Serial.println (“DHT22 Humidity – Temperature Sensor”);
22 Serial.println (“RH tTemp (C) tTemp (F) tÍndice de aquecimento (C) tÍndice de aquecimento (F)”);
23
24 dht.begin ();
25}
26
27 void loop () {
28 // A leitura da temperatura ou umidade demora cerca de 250 milissegundos!
29 // As leituras do sensor também podem ter até 2 segundos de atraso (é um sensor muito lento)
30 dht.readHumidity ();
31 dht.readTemperature ();
32
33 // Verifique se alguma leitura falhou e saia cedo (para tentar novamente).
34 se (isnan (dht.humidity) || isnan (dht.temperature_C)) {
35 Serial.println ( “DHT sensor de falha de leitura”);
36 retorno;
38
39 Serial.print (dht.humidity); Serial.print (“% t t”);
40 Serial.print (dht.temperature_C); Serial.print (“* C t”);
41 Serial.print (dht.temperature_F); Serial.print (“* F t”);
42 Serial.print (dht.computeHeatIndex_C ()); Serial.print (“* C t”);
43 Serial.print (dht.computeHeatIndex_F ()); Serial.println (“* F”);
44
45 // Aguarde alguns segundos entre as medições. O DHT22 não deve ser lido com uma frequência mais alta de
46 // cerca de uma vez a cada 2 segundos. Então, adicionamos 3 segundos de atraso para cobrir isso.
47 atraso (3000);
48}