You are viewing the Portuguese version of the site, but it has been detected that you are outside of Brazil.
To access the content in English, click here
O sensor DHT11 é um sensor de temperatura e umidade com uma sinal digital em sua saída. Sua tecnologia garante excelente estabilidade e confiabilidade. Um microcontrolador de alta performance de 8 bits garante isto no encapsulamento do módulo. Este sensor inclui um elemento resistivo do tipo NTC que faz a medição da temperatura. Possui excelente qualidade, resposta rápida, habilidade de anti-interferência e vantagens antes só encontradas em dispositivos de alto custo.
Faixa de temperatura recomendada para leitura: 0 a 50ºC
Faixa de umidade recomendada para leitura: 20 a 80%
Note que este sensor só consegue lhe dar uma nova leitura a cada 2 segundos, portanto tenha isso em mente quando for usá-lo.
Veja abaixo como fazer a ligação desse sensor na BlackBoard UNO R3:

Especificações
- Baixo Custo
- Tensão de alimentação e sinal: 3 a 5V
- Corrente durante a leitura: 2.5mA
- Recomendado para leituras de umidade entre 20 a 80% com precisão de 5%
- Recomendado para leituras de temperatura entre 0 a 50ºC com precisão de ±2°C
- Sampling rate de 1Hz (a cada segundo)
- Tamanho: 15.5mm x 12mm x 5.5mm
- Espaçamento entre os pinos: padrão 0.1"
Documentação
- Datasheet
- Biblioteca DHT
- Biblioteca Adafruit Sensors (necessária para a biblioteca DHT funcionar)
- Video de Explicação do Produto (por André Michelon - Canal Internet e Coisas)
- Tutorial: Introdução à comunicação via HTTP
Para fazer comentários é necessário estar logado. Efetuar login.
Você ainda nao é cadastrado? Cadastre-se agora!
Oi! Conectei meu Dht11 ao arduino e leu os dados tranquilo. Mas ao conectar o Dht11 ao NodeMCU a leitura não ocorreu. Apareceu, ao invés dos dados, um monte de “NON NON NON NON”. Fiz todo o procedimento de programação e montagem do circuito corretos. E não há defeito nem no Dht11 nem no NODEMCU. O que poderia ser?
#include <ESP8266WiFi.h> #include "DHTesp.h" const char* ssid = "minharede"; const char* password = "minhasenha"; WiFiServer server(80); DHTesp dht; float t,h; void setup() { Serial.begin(115200); delay(10); dht.setup(3, DHTesp::DHT11); Serial.println(""); Serial.println(""); Serial.print("Conectando a "); Serial.print(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("Conectado a rede sem fio "); Serial.println(ssid); server.begin(); Serial.println("Servidor iniciado"); Serial.print("IP para se conectar ao NodeMCU: "); Serial.print("http://"); Serial.println(WiFi.localIP()); } void loop() { WiFiClient client = server.available(); if (!client) { return; } Serial.println("Novo cliente se conectou!"); while(!client.available()){ delay(1); } t = dht.getTemperature(); h = dht.getHumidity(); // Executa as leituras do sensor readDHT(dht, "DHT11"); Serial.println("A Temperatura é : "); Serial.print(t, 1); Serial.println("°C "); Serial.println(); Serial.println("A Umidade é : "); Serial.print(h, 1); Serial.println("% T: "); Serial.println(); // Aguarda 3s delay(3000); String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); client.println("<!DOCTYPE HTML>"); client.println("<html>"); //ABRE A TAG "html" client.println("<h1><center>Ola cliente!</center></h1>"); client.println("<center><font size='5'>Seja bem vindo!</center>"); client.println("<h3> Temperatura : "); client.println(t); client.println(" Celsius </h3>"); client.println("<BODY>"); client.println("<h3> Umidade : "); client.println(h); client.println(" Umidade </h3>"); client.println("<BODY>"); client.println("</html>"); delay(1); Serial.println("Cliente desconectado"); Serial.println(""); } void readDHT(DHTesp dht, String s) { // Efetua a leitura e exibe dados float h = dht.getHumidity(); float t = dht.getTemperature(); if (isnan(h) || isnan(t)) { Serial.println("*** Erro na leitura ***"); return; } }
Pode ser uma incompatibilidade da biblioteca que você está usando. Tente realizar o exemplo “DHTtester” da biblioteca DHT (https://github.com/adafruit/DHT-sensor-library), porém lembre-se que também é indispensável a instalação da biblioteca “Adafruit Sensors” para a biblioteca DHT funcionar (https://github.com/adafruit/Adafruit_Sensor). Só é necessário alterar o modelo do sensor utilizado para “DHT11” e o pino do sensor para “D3”. Monte o circuito utilizando um resistor de 10K para “PULL UP”, carregue o exemplo para a placa, e observe os resultados.
Esse sensor mede umidade e temperatura relativas ao ar, se você colocá-lo na terra para medir umidade relativa do solo, ele não irá funcionar. Infelizmente não trabalhamos com sensor específico para a leitura da umidade relativa do solo. Além disso esses sensores que entram em contato com a terra úmida costumam oxidar com o tempo, portanto para que isso não ocorra seria necessário encontrar um sensor sofisticado para evitar problemas a longo prazo.
Não, ele não serve para solo, apenas umidade e temperatura ambiente. Não temos nenhum para umidade de solo, já chegamos a trabalhar com um modelo por algum tempo e mesmo o fabricante garantindo que o mesmo era banhado a ouro (o que impossibilitaria a oxidação depois de algum tempo de uso), ele mesmo assim oxidava e tínhamos muitos problemas. Inclusive tome cuidado com as opções existentes no mercado com relação a esse problema. Uma vez oxidado o sensor pára de funcionar corretamente.