Arduino - Sistema de Resfriamento usando Sensor de Temperatura DS18B20

Neste tutorial, vamos controlar a temperatura usando um ventilador e um sensor de temperatura DS18B20. Quando a temperatura estiver muito alta, ligamos o ventilador de resfriamento. Quando a temperatura estiver fresca, desligamos o ventilador de resfriamento. Se você quiser usar o DHT11 ou DHT22 em vez do sensor DS18B20, veja Arduino - Sistema de Resfriamento usando Sensor DHT.

Hardware Necessário

1×Arduino Uno R3
1×Cabo USB 2.0 tipo A/B (para PC com USB-A)
1×Cabo USB 2.0 tipo C/B (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) Shield com Bornes de Parafuso para Arduino Uno
1×(Recomendado) Sensors/Servo Expansion Shield for Arduino Uno
1×(Recomendado) Shield de Protoboard para Arduino Uno
1×(Recomendado) Case para Arduino Uno
1×(Recomendado) Placa Base de Prototipagem e Kit de Protoboard para Arduino Uno

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
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 ventilador de resfriamento usado neste tutorial usa uma fonte de alimentação de 12v. Se o ventilador recebe alimentação, ele liga, e vice-versa. Para controlar o ventilador pelo Arduino, precisamos usar um relé entre eles.

Se você ainda não conhece o sensor de temperatura e o ventilador (pinagem, como funciona, como programar ...), aprenda sobre eles nos seguintes tutoriais:

Diagrama de Ligação

  • Diagrama de ligação com protoboard
Diagrama de ligação do sistema de ventilador de resfriamento com Arduino

This image is created using Fritzing. Click to enlarge image

  • Diagrama de ligação com adaptador (recomendado)
Diagrama de ligação do sistema em que o sensor de temperatura controla o ventilador com Arduino

This image is created using Fritzing. Click to enlarge image

Recomendamos comprar um sensor DS18B20 que já vem com um adaptador de ligação para facilitar a conexão. O adaptador tem um resistor embutido, o que elimina a necessidade de um resistor separado na ligação.

Como o Sistema Funciona

  • O Arduino lê a temperatura do sensor de temperatura
  • Se a temperatura passar de um limite superior, o Arduino liga o ventilador
  • Se a temperatura cair abaixo de um limite inferior, o Arduino desliga o ventilador

O processo acima se repete infinitamente no loop.

Se você quiser ligar e desligar o ventilador quando a temperatura estiver acima e abaixo de um valor específico, respectivamente, basta definir o limite superior e o limite inferior com o mesmo valor.

Código Arduino para Sistema de Resfriamento com sensor DS18B20

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino/arduino-cooling-system-using-ds18b20-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> const int TEMP_THRESHOLD_UPPER = 25; // upper threshold of temperature, change to your desire value const int TEMP_THRESHOLD_LOWER = 20; // lower threshold of temperature, change to your desire value const int SENSOR_PIN = 2; // Arduino pin connected to DS18B20 sensor's DQ pin const int RELAY_FAN_PIN = A5; // Arduino pin connected to relay which connected to fan OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature sensors(&oneWire); // pass oneWire to DallasTemperature library float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial sensors.begin(); // initialize the sensor pinMode(RELAY_FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { sensors.requestTemperatures(); // send the command to get temperatures temperature = sensors.getTempCByIndex(0); // read temperature in Celsius if(temperature > TEMP_THRESHOLD_UPPER){ Serial.println("The fan is turned on"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("The fan is turned off"); digitalWrite(RELAY_FAN_PIN, LOW); // turn on } delay(500); }

No código acima, o Arduino liga o ventilador quando a temperatura passa de 25°C e mantém o ventilador ligado até que a temperatura fique abaixo de 20°C

Passos Rápidos

  • Conecte o Arduino ao PC por meio do cabo USB
  • Abra o Arduino IDE e selecione a placa e a porta corretas
  • Vá até o ícone Libraries na barra esquerda do Arduino IDE.
  • Pesquise “DallasTemperature” e encontre a biblioteca DallasTemperature de Miles Burton.
  • Clique no botão Install para instalar a biblioteca DallasTemperature.
Biblioteca Dallas Temperature para Arduino
  • Será solicitado que você instale a dependência da biblioteca
  • Clique no botão Install All para instalar a biblioteca OneWire.
Biblioteca OneWire para Arduino
  • Copie o código acima e abra-o no Arduino IDE
  • Clique no botão Upload no Arduino IDE para carregar o código no Arduino
  • Deixe o ambiente ao redor do sensor mais quente ou mais frio
  • Observe o estado do ventilador

Conhecimento Avançado

O método de controle acima é o controlador liga-desliga (on-off), também conhecido como sinalizador ou controlador "bang-bang". Esse 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 implementar. Por isso, o controlador PID não é popular no 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!