Arduino Nano - Sistema de Refrigeração usando Sensor DHT

Este tutorial ensina você a usar o Arduino Nano para controlar a temperatura com um ventilador e um sensor DHT11 ou DHT22.

Se você preferir usar um sensor DS18B20 em vez de um sensor DHT, consulte Arduino Nano - Sistema de Refrigeração usando Sensor DS18B20.

Sobre o Ventilador de Refrigeração e o Sensor DHT

O ventilador deste tutorial requer uma fonte de alimentação de 12v. Se a alimentação for fornecida, o ventilador liga e, se não, ele permanece desligado. Para controlar o ventilador com o Arduino Nano, um relé deve ser usado como intermediário.

Se você não está familiarizado com o sensor de temperatura e o ventilador (pinagem, como funciona, como programar ...), os tutoriais a seguir podem ajudar você a entendê-los:

Diagrama de Ligação

  • Um esquema da ligação de um sistema que inclui um módulo DHT11.
Diagrama de ligação do sistema de ventilador de refrigeração com Arduino Nano

This image is created using Fritzing. Click to enlarge image

  • Um diagrama mostrando as conexões entre o módulo DHT22 e os outros componentes.
Diagrama de ligação do sistema de ventilador de refrigeração com Arduino Nano

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Nano e outros componentes.

Como o Sistema Funciona

  • O Arduino Nano obtém a temperatura do sensor de temperatura.
  • Se a temperatura for maior que o limite superior, o Arduino Nano liga o ventilador.
  • Se a temperatura for menor que o limite inferior, o Arduino Nano desliga o ventilador.

O ciclo é repetido continuamente.

Código Arduino Nano

Código Arduino Nano para o Sistema de Refrigeração com sensor DHT11

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-cooling-system-using-dht-sensor */ #include <DHT.h> #define FAN_PIN 6 // The Arduino Nano pin connected to relay which connected to fan #define DHT_PIN 8 // The Arduino Nano pin connected to DHT11 sensor #define DHT_TYPE DHT11 const int THRESHOLD_ON = 25; // upper threshold of temperature, change to your desire value const int THRESHOLD_OFF = 20; // lower threshold of temperature, change to your desire value DHT dht(DHT_PIN, DHT_TYPE); float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. dht.begin(); // initialize the sensor pinMode(FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { // wait a few seconds between measurements. delay(2000); temperature = dht.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { if(temperature > THRESHOLD_ON){ Serial.println("The fan is turned on"); digitalWrite(FAN_PIN, HIGH); // turn on } else if(temperature < THRESHOLD_OFF){ Serial.println("The fan is turned off"); digitalWrite(FAN_PIN, LOW); // turn on } } }

Código Arduino Nano para o Sistema de Refrigeração com sensor DHT22

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-cooling-system-using-dht-sensor */ #include <DHT.h> #define FAN_PIN 6 // The Arduino Nano pin connected to relay which connected to fan #define DHT_PIN 8 // The Arduino Nano pin connected to DHT22 sensor #define DHT_TYPE DHT22 const int THRESHOLD_ON = 25; // upper threshold of temperature, change to your desire value const int THRESHOLD_OFF = 20; // lower threshold of temperature, change to your desire value DHT dht(DHT_PIN, DHT_TYPE); float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. dht.begin(); // initialize the sensor pinMode(FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { // wait a few seconds between measurements. delay(2000); temperature = dht.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { if(temperature > THRESHOLD_ON){ Serial.println("The fan is turned on"); digitalWrite(FAN_PIN, HIGH); // turn on } else if(temperature < THRESHOLD_OFF){ Serial.println("The fan is turned off"); digitalWrite(FAN_PIN, LOW); // turn on } } }

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

Passos Rápidos

  • Conecte o Arduino Nano a um computador usando um cabo USB
  • Abra o Arduino IDE e selecione a placa e a porta apropriadas
  • Clique no ícone Libraries na barra esquerda do Arduino IDE.
  • Pesquise por “DHT” e localize a biblioteca Adafruit DHT sensor library.
  • Em seguida, pressione o botão Install para concluir a instalação.
Biblioteca do sensor DHT para Arduino Nano
  • Você será solicitado a instalar algumas outras dependências da biblioteca.
  • Clique no botão Install All para instalar todas as dependências da biblioteca.
Biblioteca Adafruit Unified Sensor para Arduino Nano
  • No serial monitor
  • Copie o código correspondente ao sensor que você tem e abra-o com o Arduino IDE.
  • Clique no botão Upload no Arduino IDE para compilar e fazer upload do código para o Arduino Nano.
  • Mude a temperatura do ambiente ao redor do sensor.
  • Confira o estado do ventilador no serial monitor.

Conhecimento Avançado

A técnica de regulação acima é o controlador liga-desliga, também chamado de controlador sinalizador ou "bang-bang". Essa abordagem é bastante fácil de executar.

Existe uma abordagem alternativa conhecida como controlador PID. Esse método é mais eficaz para manter uma temperatura estável, porém é complexo e difícil de entender e aplicar. Como resultado, o controlador PID não é muito usado para regulação 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!