Neste tutorial vou te ensinar como fazer a interface do sensor de temperatura e umidade dht-11 com o módulo WiFi nodemcu esp8266-12e e monitorar a temperatura de uma área. Pode-se ver a temperatura e o nível de umidade de uma sala ou de um local específico em seu desktop ou navegador móvel, fazendo este projeto DIY. Existem também outros membros da família do sensor de temperatura e umidade DHT-11 disponíveis no mercado, como DHT-21 e DHT-22. O mesmo código deste tutorial pode ser utilizado para fazer interface com outros membros da família dht com o módulo WiFi nodemcu com pequenas modificações na biblioteca dht.
Sensor de temperatura e umidade DHT-11
Como os métodos antigos de medição de temperatura, o DHT-11 também usa termistor com alta precisão para medir a temperatura do ambiente. Para medição de umidade utiliza sensor capacitivo de umidade. É um sensor de temperatura e umidade de baixo custo. Os requisitos de energia do sensor estão entre 3 volts e 5 volts e precisam de 25 mA contínuos de corrente contínua. Ele produz dados em formato digital. Ele pode medir temperaturas entre 0 graus e 50 graus Celsius com margem de erro de 2%. O nível de umidade que pode medir fica entre 20% a 80% com margem de erro de 5%. O DHT-11 pode atualizar seus dados a cada 2 segundos, portanto é um sensor de velocidade bastante baixa. DHT-11 gera a temperatura padrão em Celsius.
O sensor DHT-11 possui 3 ou 4 pinos dependendo do fabricante. Normalmente tem quatro pinos. Dois pinos por pinos de alimentação. Gnd e Vcc respectivamente. O terceiro é o pino data_out. Neste pino o sensor emite os valores de temperatura e umidade. O quarto pino está vazio. O pino Data_out requer um resistor pull up. O sensor que estou usando possui um resistor pull up integrado.
O sensor DHT-11 possui 3 ou 4 pinos dependendo do fabricante. Normalmente tem quatro pinos. Dois pinos por pinos de alimentação. Gnd e Vcc respectivamente. O terceiro é o pino data_out. Neste pino o sensor emite os valores de temperatura e umidade. O quarto pino está vazio. O pino Data_out requer um resistor pull up. O sensor que estou usando possui um resistor pull up integrado.
Diagrama de circuito do projeto
O Nodemcu esp8266-12e funciona em 3,3 volts e o dht-11 também pode funcionar em 3 volts. Então, vou alimentar o dht-11 com pinos de potência de saída nodemcu. Para entrada de dados no nodemcu estou usando D3 ou GPIO-0 do nodemcu. O diagrama do circuito do projeto é fornecido abaixo.
Interface do sensor de temperatura e umidade DHT-11 com módulo wi-fi nodemcu
Chegando à parte do código. Primeiro incluí as bibliotecas necessárias para o funcionamento do nodemcu e do dht-11. O arquivo de cabeçalho ESP8266WiFi trata do módulo nodemcu e o cabeçalho DHT é para inicializar e trabalhar com o sensor DHT. Após as bibliotecas defini as macros para o sensor dht e o pino ao qual ele será conectado com o nodemcu. Depois insira o SSID e a senha da rede WiFi à qual deseja conectar seu nodemcu.
const char* ssid = “Seu SSID”;
const char* senha = “Sua senha Wifi”;
No loop de configuração, o nodemcu solicita um IP ao roteador. Após a atribuição do IP ele inicia seu servidor. Na função de loop, o nodemcu está verificando qualquer solicitação do cliente. Se uma solicitação chegar, o nodemcu busca dados do dht-11 e envia de volta uma resposta na forma de uma página HTML ao cliente.
Nodemcu está funcionando como servidor. Ele está servindo uma página da web. A página da Web contém os valores de temperatura e umidade de uma sala ou local. O desktop, celular, laptop ou notebook do seu cliente deve estar na mesma rede WiFi à qual o nodemcu está conectado. Se um deles, o cliente/móvel ou servidor/nodemcu, estiver conectado a outra rede, você não conseguirá carregar e ver a página da web na qual os dados de temperatura e umidade são servidos.
A página final exibida no navegador será algo como abaixo. Ele contém os valores de temperatura e umidade. A temperatura será exibida nas escalas Celsius e Fahrenheit. Um botão com o texto “Atualizar temperatura e umidade” está presente na página. Sempre que o usuário precisar de um valor atualizado ele deverá pressionar este botão. O pressionamento deste botão notifica o nodemcu de que o cliente precisa de um valor de temperatura atualizado.
Nodemcu medindo temperatura e umidade usando sensor dht11 por WiFi
Baixe o código do projeto. A pasta contém o arquivo arduino ide .ino. Por favor, forneça-nos seu feedback sobre o projeto. Para comentários e dúvidas, use a seção de comentários abaixo.
Código/Arquivos