ESP8266 - Sistema de Resfriamento usando Sensor DHT

Este tutorial ensina você a regular a temperatura com a ajuda de um ventilador e de um sensor DHT11 ou DHT22.

Se você preferir usar um sensor DS18B20 em vez de um sensor DHT, consulte ESP8266 - Sistema de Resfriamento usando Sensor DS18B20.

Sobre o Ventilador de Resfriamento e o Sensor DHT

O ventilador deste tutorial requer uma fonte de alimentação de 12V. Se a energia for fornecida, o ventilador liga e, se não, ele permanece desligado. Para controlar o ventilador com um ESP8266, precisamos usar um relé como intermediário.

Se você não conhece o sensor de temperatura e o ventilador (incluindo pinagem, como funcionam e programação), os tutoriais a seguir podem fornecer as informações necessárias:

Diagrama de Ligação

  • Um diagrama mostrando as conexões de um módulo DHT11.
ESP8266 NodeMCU sistema de ventilador de resfriamento diagrama de ligação

This image is created using Fritzing. Click to enlarge image

Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.

  • Um diagrama mostrando as conexões de um módulo DHT22
  • Uma ilustração da ligação de um módulo DHT22
ESP8266 NodeMCU sistema de ventilador de resfriamento diagrama de ligação

This image is created using Fritzing. Click to enlarge image

Como o Sistema Funciona

  • O ESP8266 obtém a temperatura do sensor de temperatura.
  • Se a temperatura estiver acima do limite superior, o ESP8266 ativa o ventilador.
  • Se a temperatura estiver abaixo do limite inferior, o ESP8266 desliga o ventilador.

Esse ciclo se repete sem parar.

Código ESP8266

Código ESP8266 para Sistema de Resfriamento com sensor DHT11

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-cooling-system-using-dht-sensor */ #include <DHT.h> #define FAN_PIN D2 // The ESP8266 pin connected to relay #define DHT_SENSOR_PIN D7 // The ESP8266 pin connected to DHT11 sensor #define DHT_SENSOR_TYPE DHT11 #define THRESHOLD_ON 30 // upper temperature threshold #define THRESHOLD_OFF 15 // lower temperature threshold DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. dht_sensor.begin(); // initialize the DHT sensor } void loop() { float temperature = dht_sensor.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { if (temperature > THRESHOLD_ON) { Serial.println("Turn the fan on"); digitalWrite(FAN_PIN, HIGH); // turn on } else if (temperature < THRESHOLD_OFF) { Serial.println("Turn the fan off"); digitalWrite(FAN_PIN, LOW); // turn off } } // wait a 2 seconds between readings delay(2000); }

Código ESP8266 para Sistema de Resfriamento com sensor DHT22

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-cooling-system-using-dht-sensor */ #include <DHT.h> #define FAN_PIN D2 // The ESP8266 pin connected to relay #define DHT_SENSOR_PIN D7 // The ESP8266 pin connected to DHT22 sensor #define DHT_SENSOR_TYPE DHT22 #define THRESHOLD_ON 30 // upper temperature threshold #define THRESHOLD_OFF 15 // lower temperature threshold DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. dht_sensor.begin(); // initialize the DHT sensor } void loop() { float temperature = dht_sensor.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { if (temperature > THRESHOLD_ON) { Serial.println("Turn the fan on"); digitalWrite(FAN_PIN, HIGH); // turn on } else if (temperature < THRESHOLD_OFF) { Serial.println("Turn the fan off"); digitalWrite(FAN_PIN, LOW); // turn off } } // wait a 2 seconds between readings delay(2000); }

Nos códigos acima, o ESP8266 ativa o ventilador quando a temperatura é maior que 25°C e o mantém funcionando até a temperatura cair abaixo de 20°C.

Passos Rápidos

Para começar com o ESP8266 no Arduino IDE, siga estes passos:

  • Confira o tutorial como configurar o ambiente para o ESP8266 no Arduino IDE se esta for a sua primeira vez usando o ESP8266.
  • Ligue os componentes como mostrado no diagrama.
  • Conecte a placa ESP8266 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
  • Conecte um ESP8266 a um PC usando um cabo USB
  • Abra o Arduino IDE, selecione a placa e a porta corretas
  • Clique no ícone Libraries na barra à esquerda do Arduino IDE.
  • Pesquise por “DHT” e localize a biblioteca de sensor DHT da Adafruit.
  • Clique no botão Install para adicionar a biblioteca.
ESP8266 NodeMCU biblioteca de sensor DHT
  • Você será solicitado a instalar algumas outras dependências de bibliotecas.
  • Clique no botão Install All para instalar todas as dependências de bibliotecas.
ESP8266 NodeMCU biblioteca Adafruit Unified Sensor
  • No serial monitor
  • Copie o código associado ao sensor que você tem e abra-o no Arduino IDE.
  • Clique no botão Upload no Arduino IDE para compilar e fazer upload do código para o ESP8266.
  • Mude a temperatura da área ao redor do sensor.
  • Veja o estado do ventilador no serial monitor.

Conhecimento Avançado

O método de controle acima é chamado de controlador liga-desliga, também conhecido como controlador sinalizador ou "bang-bang". Essa abordagem é muito fácil de configurar.

Uma abordagem alternativa é o controlador PID. Esse método torna a regulação de temperatura mais estável, porém é complexo e difícil de entender e aplicar. Por isso, o controlador PID não é muito usado para controle de temperatura.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!