Arduino - Controlar a Temperatura

Neste tutorial, vamos controlar a temperatura do ambiente para uma faixa confortável usando um Arduino, um sensor de temperatura DS18B20, um ventilador e um elemento de aquecimento. Quando a temperatura estiver muito alta, ligamos o ventilador de resfriamento para ventilar. Quando a temperatura estiver fria, desligamos o ventilador de resfriamento e ligamos o elemento de aquecimento.

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×Relé
1×12V DC Ventoinha de Refrigeração
1×(Alternativa) 5V DC Ventoinha de Refrigeração
1×12V Heating Element
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 Sistema de Controle de Temperatura Ambiente

Em resumo, o Arduino liga o ventilador quando o ambiente está quente e liga o elemento de aquecimento quando o ambiente está frio. Abaixo está o detalhe de como funciona um sistema de controle de temperatura ambiente, usando como exemplo o controle da temperatura do ambiente entre 18°C e 26°C:

  • O Arduino lê a temperatura do sensor de temperatura
  • Se a temperatura passar de 26°C, o Arduino liga o ventilador e desliga o elemento de aquecimento
  • Se a temperatura cair abaixo de 18°C, o Arduino desliga o ventilador e liga o elemento de aquecimento

O processo acima se repete infinitamente no loop.

O ventilador funciona como um ventilador de exaustão.

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

Diagrama de Ligação

Diagrama de ligação do Arduino controlando a temperatura

This image is created using Fritzing. Click to enlarge image

Observe que, para simplificar, o diagrama acima mostra duas fontes de alimentação de 12V DC, mas na prática você pode usar uma única fonte de alimentação de 12V DC tanto para o ventilador quanto para o elemento de aquecimento.

Código Arduino

/* * 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-control-temperature */ #include <OneWire.h> #include <DallasTemperature.h> const int TEMP_THRESHOLD_UPPER = 26; // °C, upper threshold of temperature, change to your desire value const int TEMP_THRESHOLD_LOWER = 18; // °C, 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 const int RELAY_HEAT_PIN = A4; // Arduino pin connected to relay which connected to the heating element 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("HOT! The fan is turned on and the heating element is turned off"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on the fan digitalWrite(RELAY_HEAT_PIN, LOW); // turn off the heating element } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("COLD! The fan is turned off and the heating element is turned on"); digitalWrite(RELAY_FAN_PIN, LOW); // turn off the fan digitalWrite(RELAY_HEAT_PIN, HIGH); // turn on the heating element } 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 e do elemento de aquecimento

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!