ESP8266 - Sistema de Resfriamento usando Sensor de Temperatura DS18B20

Este tutorial ensina você a usar o ESP8266 para controlar a temperatura com um ventilador e um sensor de temperatura DS18B20.

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

Hardware Necessário

1×ESP8266 NodeMCU ESP-12F
1×Alternatively, ESP8266 D1 Mini NodeMCU ESP-12F
1×Alternatively, ESP8266 NodeMCU ESP-12E (Uno-form)
1×Micro USB Cable
1×Alternatively, ESP8266 NodeMCU ESP-12F (SMD-form)
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Sensor de Temperatura DS18B20 (con Adaptador)
1×Sensor de Temperatura DS18B20 (sin Adaptador)
1×4.7 kΩ Resistor
1×Relé
1×12V DC Ventoinha de Refrigeração
1×(Alternativa) 5V DC Ventoinha de Refrigeração
1×Fonte de Alimentação 12V
1×Conector de Alimentação DC
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para ESP8266

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Buy Note: Many DS18B20 sensors available in the market are unreliable. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.

Sobre o Ventilador de Resfriamento e o Sensor de Temperatura DS18B20

O tutorial utiliza um ventilador de resfriamento alimentado por uma fonte de 12V. Se a energia for fornecida, o ventilador liga e, se for removida, o ventilador desliga. Para controlar o ventilador com um ESP8266, é preciso usar um relé como intermediário.

Se você não conhece os sensores de temperatura e os ventiladores (incluindo pinagem, como funcionam e como programá-los), os tutoriais a seguir podem ajudar:

Diagrama de Ligação

  • Diagrama de ligação usando uma protoboard.
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.

  • Diagrama de ligação usando um adaptador de terminais (recomendado).
ESP8266 NodeMCU controle de relé diagrama de ligação

This image is created using Fritzing. Click to enlarge image

Recomendamos comprar um sensor DS18B20 junto com o adaptador de ligação que o acompanha para uma montagem sem complicações. Esse adaptador inclui um resistor integrado, eliminando a necessidade de um resistor adicional na ligação.

Como o Sistema Funciona

  • O ESP8266 verifica a temperatura usando o sensor de temperatura.
  • Se a temperatura estiver acima do limite superior definido, o ventilador é ativado pelo ESP8266.
  • Se a temperatura estiver abaixo do limite inferior definido, o ESP8266 desliga o ventilador.

Esse procedimento se repete sem parar em um ciclo.

Se você quiser ligar e desligar o ventilador quando a temperatura estiver acima ou abaixo de um certo ponto, basta definir os limites superior e inferior com o mesmo valor.

Código ESP8266 para Sistema de Resfriamento com sensor DS18B20

/* * 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-ds18b20-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define THRESHOLD_ON 30 // upper temperature threshold #define THRESHOLD_OFF 15 // lower temperature threshold #define SENSOR_PIN D7 // The ESP8266 pin connected to DS18B20 sensor's DQ pin #define FAN_PIN D1 // The ESP8266 pin connected to relay OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. DS18B20.begin(); // initialize the DS18B20 sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures float temperature = DS18B20.getTempCByIndex(0); // read temperature in Celsius 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 } delay(500); }

No código acima, quando a temperatura é maior que 25°C, o ESP8266 ativa o ventilador. O ventilador permanece ligado 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 o cabo USB para ligar o ESP8266 ao PC
  • Inicie o Arduino IDE, escolha a placa e a porta apropriadas
  • Clique no ícone Libraries na barra à esquerda do Arduino IDE.
  • Pesquise por “Dallas” e localize a biblioteca DallasTemperature de Miles Burton.
  • Pressione o botão Install para instalar a biblioteca DallasTemperature.
ESP8266 NodeMCU biblioteca Dallas Temperature
  • Você será solicitado a instalar a dependência. Clique no botão Install All para instalar a biblioteca OneWire.
ESP8266 NodeMCU biblioteca onewire
  • Copie o código e abra-o no Arduino IDE.
  • Clique no botão Upload para transferir o código para o ESP8266.
  • Mude a temperatura do ambiente ao redor do sensor.
  • Veja o estado do ventilador no Serial Monitor.

Conhecimento Avançado

O método de controle descrito acima é o controlador liga-desliga, também chamado de controlador sinalizador ou "bang-bang". Esse método é bastante simples de colocar em prática.

Existe uma abordagem alternativa conhecida como controlador PID. Esse método permite obter uma temperatura desejada mais estável, porém é complicado de entender e implementar. Por isso, o controlador PID não é comumente 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!