Arduino Nano - Sistema de enfriamiento utilizando sensor de temperatura DS18B20

Este tutorial te enseña cómo usar Arduino Nano para controlar la temperatura con la ayuda de un ventilador y un sensor de temperatura DS18B20.

Si desea utilizar un DHT11 o DHT22 en lugar del sensor DS18B20, por favor consulte Arduino Nano - Sistema de enfriamiento con sensor DHT.

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
1×Sensor de Temperatura DS18B20 (con Adaptador)
1×Sensor de Temperatura DS18B20 (sin Adaptador)
1×4.7 kΩ Resistor
1×Relé
1×12V DC Ventilador de Refrigeración
1×(Alternativo) 5V DC Ventilador de Refrigeración
1×Adaptador de Corriente 12V
1×Conector de Alimentación DC
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

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.

Acerca del ventilador de refrigeración y del sensor de temperatura DS18B20

El ventilador en este tutorial requiere una fuente de alimentación de 12 V. Si se suministra la energía, el ventilador se encenderá y, si no, el ventilador permanecerá apagado. Para controlar el ventilador con Arduino Nano, debemos usar un relé como intermediario.

Si no está familiarizado con los sensores de temperatura y los ventiladores (incluidas las conexiones de pines, cómo funcionan y cómo programarlos), los siguientes tutoriales pueden proporcionar más información:

Diagrama de Cableado

  • Esquema de cableado utilizando una protoboard.
Diagrama de cableado del sistema de enfriamiento con ventilador para Arduino Nano

This image is created using Fritzing. Click to enlarge image

  • Diagrama de cableado utilizando un adaptador de terminal (recomendado).
Diagrama de cableado para controlar un relé con Arduino Nano

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Recomendamos comprar un sensor DS18B20 junto con su adaptador de cableado para una instalación sin problemas. Este adaptador incluye una resistencia integrada, eliminando la necesidad de una resistencia adicional en el cableado.

Cómo funciona el sistema

  • El Arduino Nano tomará una lectura del sensor de temperatura.
  • Si la lectura es mayor que el umbral superior, el Arduino Nano activará el ventilador.
  • Si la lectura es menor que el umbral inferior, el Arduino Nano apagará el ventilador.

Este bucle se repite sin fin.

Código de Arduino Nano para un sistema de enfriamiento con sensor DS18B20

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-cooling-system-using-ds18b20-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> 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 const int SENSOR_PIN = 2; // The Arduino Nano pin connected to DS18B20 sensor's DQ pin const int FAN_PIN = A5; // The Arduino Nano pin connected to relay which connected to fan OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature DS18B20(&oneWire); // pass oneWire to DallasTemperature library float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. DS18B20.begin(); // initialize the sensor pinMode(FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures temperature = DS18B20.getTempCByIndex(0); // read temperature in Celsius 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 } delay(500); }

En el código anterior, cuando la temperatura supere los 25°C, el Arduino Nano activará el ventilador. El ventilador permanecerá encendido hasta que la temperatura caiga por debajo de 20°C.

Pasos R\u00e1pidos

  • Conecta Arduino Nano a una computadora usando un cable USB
  • Inicia el IDE de Arduino y elige la placa y el puerto correctos
  • Haz clic en el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “Dallas” y localiza la biblioteca DallasTemperature creada por Miles Burton.
  • Luego, pulsa el botón Instalar para añadirlo a tu proyecto.
Biblioteca de Dallas Temperature para Arduino Nano
  • Se le pedirá que instale la dependencia. Haga clic en Instalar todo para instalar la biblioteca OneWire.
Biblioteca OneWire para Arduino Nano
  • Copie el código y ábralo en el IDE de Arduino.
  • Haga clic en el botón Subir en el IDE de Arduino para compilar y subir el código al Arduino Nano.
  • Cambie la temperatura del entorno del sensor, haciéndola más caliente o más fría.
  • Verifique el estado del ventilador en el Monitor serie.

Conocimiento Avanzado

Esta técnica de control se conoce como un controlador on-off, también llamado señalador o controlador 'bang-bang'. Es bastante fácil de implementar este método.

Una alternativa al método tradicional de control de temperatura es el controlador PID. Este enfoque ofrece una temperatura deseada más estable; sin embargo, es complejo y difícil de entender y utilizar. Como resultado, el controlador PID no se utiliza ampliamente para el control de la temperatura.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!