Arduino - Sistema de enfriamiento utilizando el sensor de temperatura DS18B20
En este tutorial, vamos a controlar la temperatura usando un ventilador y un sensor de temperatura DS18B20. Cuando la temperatura esté demasiado alta, encienda el ventilador de enfriamiento. Cuando la temperatura esté fría, apague el ventilador de enfriamiento. Si quieres usar DHT11 o DHT22 en lugar del sensor DS18B20, consulte Arduino - Sistema de enfriamiento usando sensor DHT.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
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 enfriamiento y del sensor de temperatura DS18B20
El ventilador de enfriamiento utilizado en este tutorial funciona con una fuente de alimentación de 12 V. Si se suministra energía al ventilador, éste se enciende; si no, permanece apagado. Para controlarlo con Arduino, necesitamos usar un relé entre Arduino y el ventilador.
Si no sabes sobre el sensor de temperatura y el ventilador (disposición de pines, cómo funcionan, cómo programarlos...), aprende sobre ellos en los siguientes tutoriales:
Diagrama de Cableado
- Diagrama de cableado con una placa de pruebas

This image is created using Fritzing. Click to enlarge image
- Diagrama de cableado con adaptador (recomendado)

This image is created using Fritzing. Click to enlarge image
Sugerimos comprar sensor DS18B20 que viene con un adaptador de cableado para una conexión sencilla. El adaptador tiene una resistencia integrada, lo que elimina la necesidad de una resistencia adicional en el cableado.
Cómo funciona el sistema
- Arduino lee la temperatura del sensor de temperatura
- Si la temperatura supera un umbral superior, Arduino enciende el ventilador
- Si la temperatura cae por debajo de un umbral inferior, Arduino apaga el ventilador
El proceso anterior se repite infinitamente en el bucle.
Si quieres encender el ventilador cuando la temperatura esté por encima de un valor específico y apagarlo cuando esté por debajo de ese mismo valor, solo necesitas fijar el umbral superior y el umbral inferior al mismo valor.
Código de Arduino para un sistema de enfriamiento con sensor DS18B20
En el código anterior, el Arduino enciende el ventilador cuando la temperatura supera los 25 °C y mantiene el ventilador encendido hasta que la temperatura esté por debajo de los 20 °C.
Pasos R\u00e1pidos
- Conecta Arduino a la PC mediante un cable USB
- Abre Arduino IDE, selecciona la placa y el puerto correctos
- Navega hasta el icono Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca “DallasTemperature”, luego encuentra la biblioteca DallasTemperature de Miles Burton.
- Haz clic en el botón Instalar para instalar la biblioteca DallasTemperature.

- Se le pedirá que instale la dependencia de la biblioteca
- Haga clic en el botón Instalar Todo para instalar la biblioteca OneWire

- Copia el código anterior y ábrelo con el IDE de Arduino
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino
- Haz que el entorno alrededor del sensor esté más caliente o más frío
- Mira el estado del ventilador
Conocimiento avanzado
El método de control anterior es el controlador on-off, también conocido como señalador o controlador "bang-bang". Este método es muy sencillo de implementar.
Existe un método alternativo llamado controlador PID. Con el controlador PID, la temperatura deseada es más estable, pero es muy difícil de entender e implementar. Por lo tanto, el controlador PID no es popular en el control de 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.