O DHT11 é um sensor digital de umidade e temperatura que permite medir temperaturas de 0 a 50 graus Celsius com precisão de + -2 C, e medir umidade de 20% a 80% com precisão de + -5%.
O sensor possui um termistor embutido para medição da temperatura, que é basicamente um resistor variável que altera sua resistência com a mudança de temperatura.
Também possui um sensor capacitivo para medir a umidade do ambiente, um controlador de 8 bits que converte o sinal de temperatura e umidade dos sensores e um sinal serial e envia ao Arduino através do pino de dados (Data).
Pode ser utilizado em diversos projetos como monitoranento e controle de climatização. O DH11 não é recomendável para utilização em ambientes que exigem alta precisão, pois seu tempo de leitura chega a um intervalo de até 2 segundos, logo, pode-se dizer que não é um sensor tão rápido e preciso. Apesar de possuir 4 pinos, o pino 3 não é utilizado.
//Baixar biblioteca DHT Sensor Library ou instalar do gerenciador de bibliotecas da IDE #include "DHT.h" #define DHTPIN 6 // o sensor dht11 foi conectado ao pino 6 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup(){ Serial.begin(9600); // inicializa o monitor serial Serial.println("DHT teste!"); // imprime o texto no serial dht.begin(); } void loop(){ //declarar as variáveis para receber os valores float umidade = dht.readHumidity(); float temperatura = dht.readTemperature(); // Se as variáveis temperatura e umidade não forem valores válidos, acusará falha de leitura. if (isnan(temperatura) || isnan(umidade)){ Serial.println("Falha na leitura do dht11..."); } else { // se os valores forem válidos, imprime os dados no monitor serial Serial.print("Umidade: "); Serial.print(umidade); Serial.print(" %t"); //quebra de linha Serial.print("Temperatura: "); Serial.print(temperatura); Serial.println(" °C"); delay(1000); //aguardar 1 segundo } }