ESP32 - Sistema de Aquecimento

Neste guia, vamos aprender como fazer um sistema de aquecimento que controla a temperatura do ambiente usando um ESP32, um sensor de temperatura DS18B20 e um elemento de aquecimento. É simples assim: quando o ambiente estiver frio demais, ligamos o elemento de aquecimento e, quando ele esquentar, nós o desligamos. Você pode ajustar o código para funcionar com outros sensores de temperatura, como o DHT11, o DHT22 ou o LM35, então você tem a flexibilidade de escolher o sensor que preferir.

Sobre o Elemento de Aquecimento e o Sensor de Temperatura DS18B20

O elemento de aquecimento que estamos usando neste tutorial funciona com uma fonte de alimentação de 12 volts. Quando ele recebe energia, gera calor. Para que o ESP32 possa controlar o elemento de aquecimento, precisamos usar um relé. Esse relé funciona como a chave que permite ao ESP32 ligar ou desligar o elemento de aquecimento conforme necessário.

Se você não conhece o sensor de temperatura e o elemento de aquecimento (pinagem, como funcionam, como programar...), aprenda sobre eles nos tutoriais a seguir:

Diagrama de Ligação

  • Diagrama de ligação com protoboard
Diagrama de ligação do sistema de aquecimento com ESP32

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

  • Diagrama de ligação com adaptador (recomendado)
Diagrama de ligação do sensor de temperatura controlando o sistema de aquecimento com ESP32

This image is created using Fritzing. Click to enlarge image

Como o Sistema Funciona

  • O ESP32 lê a temperatura do sensor de temperatura
  • Se a temperatura cair abaixo de um limite inferior, o ESP32 liga o elemento de aquecimento
  • Se a temperatura subir acima de um limite superior, o ESP32 desliga o elemento de aquecimento

O processo acima é repetido infinitamente no loop.

Código ESP32 para Sistema de Aquecimento com sensor DS18B20

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-heating-system */ #include <OneWire.h> #include <DallasTemperature.h> #define TEMP_UPPER_THRESHOLD 30 // upper temperature threshold #define TEMP_LOWER_THRESHOLD 15 // lower temperature threshold #define SENSOR_PIN 23 // ESP32 pin GPIO23 connected to DS18B20 sensor's DQ pin #define RELAY_PIN 18 // ESP32 pin GPIO18 connected to relay OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); void setup() { Serial.begin(9600); // initialize serial 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 > TEMP_UPPER_THRESHOLD) { Serial.println("Turn the heating element on"); digitalWrite(RELAY_PIN, HIGH); // turn on } else if (temperature < TEMP_LOWER_THRESHOLD) { Serial.println("Turn the heating element off"); digitalWrite(RELAY_PIN, LOW); // turn off } delay(500); }

No código acima, o ESP32 liga o elemento de aquecimento quando a temperatura cai abaixo de 15°C e mantém o elemento de aquecimento ligado até a temperatura ficar acima de 20°C

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 na Arduino IDE.
  • Faça a ligação como na imagem acima.
  • Conecte a placa ESP32 ao seu PC com um cabo USB Type-C
  • Abra a Arduino IDE no seu PC.
  • Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
  • Clique no ícone Libraries na barra esquerda da Arduino IDE.
  • Pesquise “DallasTemperature” na caixa de pesquisa e procure a biblioteca DallasTemperature de Miles Burton.
  • Clique no botão Install para instalar a biblioteca DallasTemperature.
Biblioteca Dallas Temperature para ESP32
  • Será pedido que você instale a dependência. Clique no botão Install All para instalar a biblioteca OneWire.
Biblioteca OneWire para ESP32
  • Copie o código acima e abra na Arduino IDE
  • Clique no botão Upload na Arduino IDE para fazer upload do código para o ESP32
  • Deixe o ambiente ao redor do sensor mais quente ou mais frio
  • Verifique a temperatura do elemento de aquecimento e do seu ambiente

Conhecimento Avançado

O método de controle acima é o controlador liga-desliga (on-off), também conhecido como sinalizador ou controlador "bang-bang". Este método é muito simples de implementar.

Existe um método alternativo chamado controlador PID. Com o controlador PID, a temperatura desejada fica mais estável, mas ele é muito difícil de entender e de implementar. Por isso, o controlador PID não é popular no controle de temperatura.

※ 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!