ESP8266 - Sistema de enfriamiento con sensor DHT

Este tutorial te explica cómo regular la temperatura con la ayuda de un ventilador y de un sensor DHT11 o DHT22.

Si prefiere utilizar un sensor DS18B20 en lugar de un sensor DHT, consulte ESP8266 - Sistema de enfriamiento con sensor DS18B20.

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Sensor de Temperatura y Humedad DHT11
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

You can use DHT22 sensor instead of DHT11 sensor.

1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

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.

Acerca del ventilador de enfriamiento y del sensor DHT

El ventilador de este tutorial requiere una fuente de alimentación de 12 V. Si se suministra la energía, el ventilador se encenderá; de lo contrario, permanecerá apagado. Para controlar el ventilador con un ESP8266, debemos usar un relé como intermediario.

Si no está familiarizado con el sensor de temperatura y con el ventilador (incluyendo la disposición de pines, cómo funciona y la programación), los siguientes tutoriales pueden proporcionarle la información necesaria:

Diagrama de Cableado

  • Un diagrama que muestra las conexiones de un módulo DHT11.
Diagrama de cableado del sistema de enfriamiento para ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

  • Un diagrama que muestra las conexiones de un módulo DHT22
  • Una ilustración del cableado de un módulo DHT22
Diagrama de cableado del sistema de enfriamiento con ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Cómo funciona el sistema

  • ESP8266 obtiene la temperatura del sensor de temperatura.
  • Si la temperatura es mayor que el umbral superior, ESP8266 activa el ventilador.
  • Si la temperatura es menor que el umbral inferior, ESP8266 apaga el ventilador.

Este bucle se repite sin fin.

Código ESP8266

Código ESP8266 para sistema de enfriamiento con sensor DHT11

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-cooling-system-using-dht-sensor */ #include <DHT.h> #define FAN_PIN D2 // The ESP8266 pin connected to relay #define DHT_SENSOR_PIN D7 // The ESP8266 pin connected to DHT11 sensor #define DHT_SENSOR_TYPE DHT11 #define THRESHOLD_ON 30 // upper temperature threshold #define THRESHOLD_OFF 15 // lower temperature threshold DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. dht_sensor.begin(); // initialize the DHT sensor } void loop() { float temperature = dht_sensor.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { if (temperature > THRESHOLD_ON) { Serial.println("Turn the fan on"); digitalWrite(FAN_PIN, HIGH); // turn on } else if (temperature < THRESHOLD_OFF) { Serial.println("Turn the fan off"); digitalWrite(FAN_PIN, LOW); // turn off } } // wait a 2 seconds between readings delay(2000); }

Código ESP8266 para sistema de enfriamiento con sensor DHT22

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-cooling-system-using-dht-sensor */ #include <DHT.h> #define FAN_PIN D2 // The ESP8266 pin connected to relay #define DHT_SENSOR_PIN D7 // The ESP8266 pin connected to DHT22 sensor #define DHT_SENSOR_TYPE DHT22 #define THRESHOLD_ON 30 // upper temperature threshold #define THRESHOLD_OFF 15 // lower temperature threshold DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. dht_sensor.begin(); // initialize the DHT sensor } void loop() { float temperature = dht_sensor.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { if (temperature > THRESHOLD_ON) { Serial.println("Turn the fan on"); digitalWrite(FAN_PIN, HIGH); // turn on } else if (temperature < THRESHOLD_OFF) { Serial.println("Turn the fan off"); digitalWrite(FAN_PIN, LOW); // turn off } } // wait a 2 seconds between readings delay(2000); }

En los códigos anteriores, el ESP8266 activará el ventilador cuando la temperatura sea superior a 25 °C y lo mantendrá funcionando hasta que la temperatura baje de 20 °C.

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el cómo configurar el entorno para ESP8266 en Arduino IDE tutorial si es la primera vez que usas ESP8266.
  • Conecta los componentes tal como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu computadora con un cable USB.
  • Abre el Arduino IDE en tu computadora.
  • Elige la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (ESP-12E Module)), y su puerto COM correspondiente.
  • Conecta un ESP8266 a un PC usando un cable USB
  • Abre el Arduino IDE, selecciona la placa y el puerto
  • Haz clic en el icono Librerías en la barra izquierda del IDE de Arduino.
  • Busca “DHT” y localiza la biblioteca de sensores DHT de Adafruit.
  • Haz clic en el botón Instalar para añadir la biblioteca.
Biblioteca de sensores DHT para ESP8266 NodeMCU
  • Se le pedirá que instale algunas otras dependencias de la biblioteca.
  • Haga clic en el botón Instalar todo para instalar todas las dependencias de la biblioteca.
Biblioteca unificada de sensores de Adafruit para ESP8266 NodeMCU
  • En el monitor serie
  • Copia el código que corresponde al sensor que tienes y ábrelo en el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para compilar y subir el código al ESP8266.
  • Cambia la temperatura del área alrededor del sensor.
  • Consulta el estado del ventilador en el monitor serie.

Conocimiento Avanzado

El método de control anterior se conoce como un controlador de encendido/apagado, también conocido como señalizador o controlador 'bang-bang'. Este enfoque es muy fácil de configurar.

Un enfoque alternativo es el controlador PID. Este método hace que la regulación de la temperatura sea más estable; sin embargo, es complejo y difícil de comprender y aplicar. 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!