Sensor DHT 11
O sensor DHT 11 é um medidor de temperatura e umidade muito utilizado em Arduíno. Ele possui uma faixa de medição de 0° a 50° Celsius e de 20% a 90% de umidade, e uma faixa de alimentação de 3V a 5V, podendo, no máximo, chegar a 5,5V.
O hardware do sensor é constituído por: um termistor e um sensor de umidade que se encontram na parte de dentro de um envoltório, e 4 pinos. Os pinos têm como finalidade conectar o sensor ao Arduíno, e são identificados da seguinte maneira:
Suas ligações com o Arduíno são feitas de maneira que:
- O primeiro pino (VCC) é conectado ao +5V do Arduíno;
- O segundo pino (Dados) é conectado ao pino de dados definido em seu Arduíno;
- O terceiro pino (N.C) não será usado;
- O quarto pino (GND) é conectado ao GND do Arduíno;
Se desejado, pode-se adicionar um resistor de 10K entre o segundo pino (Dados) e o primeiro pino (VCC). De maneira visual, a conexão do sensor ao Arduíno fica assim:
Um código-exemplo pode ser utilizado em seu Arduíno e a partir dele serem feitas as alterações necessárias.
// Conecte pino 1 do sensor (esquerda) ao +5V // Conecte pino 2 do sensor ao pino de dados definido em seu Arduino // Conecte pino 4 do sensor ao GND // Conecte o resistor de 10K entre pin 2 (dados) // e ao pino 1 (VCC) do sensor DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHTxx? test!");
dht.begin();
}
void loop() {
// A leitura da temperatura e umidade pode levar 250ms! // O atraso do sensor pode chegar a 2 segundos. float h = dht.readHumidity(); float t = dht.readTemperature(); // testa se retorno é valido, caso contrário algo está errado. if (isnan(t) || isnan(h)) { Serial.println("Failed to read from DHT"); } else { Serial.print("Umidade: "); Serial.print(h); Serial.print(" %t"); Serial.print("Temperatura: "); Serial.print(t); Serial.println(" *C"); }
}
Se tudo tiver sido feito de maneira correta, aparecerá a seguinte tela com as informações do ambiente onde estiver:
Referências: