tutoriales.com

Sistema IoT de Control de Temperatura para Incubadoras de Huevos con ESP32

Descubre cómo diseñar e implementar una incubadora inteligente utilizando un microcontrolador ESP32, sensores DHT22, un relé para el control de la calefacción y la plataforma Blynk para supervisar todo el proceso de incubación desde tu smartphone.

Intermedio6 min de lectura6 views
Reportar error

🐣 Introducción al Proyecto: Incubación Inteligente con IoT

La incubación artificial de huevos es un proceso delicado que requiere un control estricto y constante de variables ambientales críticas como la temperatura y la humedad. Tradicionalmente, este proceso dependía de termostatos analógicos y de la supervisión manual frecuente, lo que incrementaba el riesgo de pérdidas debido a fluctuaciones imprevistas.

En este tutorial completo, aprenderás a construir un sistema de Internet de las Cosas (IoT) utilizando una placa ESP32. Este sistema no solo mantendrá las condiciones óptimas dentro de la incubadora mediante un bucle de control, sino que también enviará los datos a la nube en tiempo real y te alertará inmediatamente en tu teléfono móvil si ocurre alguna anomalía.

💡 Consejo: Mantener una temperatura constante de 37.5 °C es vital durante los primeros 18 días en la incubación de huevos de gallina. Pequeñas variaciones de medio grado pueden arruinar todo el proceso.

🛠️ Materiales y Componentes Necesarios

Para llevar a cabo este proyecto con éxito, necesitarás reunir los siguientes componentes de hardware y software:

ComponenteDescripciónCantidad
ESP32 NodeMCUMicrocontrolador principal con Wi-Fi y Bluetooth integrados1
Sensor DHT22 / AM2302Sensor digital de alta precisión para temperatura y humedad1
Módulo Relé de 1 CanalActuador para encender/apagar la resistencia térmica o foco1
Foco cerámico o ResistenciaElemento calefactor adecuado para el tamaño de la incubadora1
Ventilador de 12V (PC)Para asegurar una correcta circulación del aire interno1
Fuente de alimentación5V 2A para el ESP32 y 12V para el ventilador/actuadores1
Cables de conexiónCables Dupont macho-macho, macho-hembra y protoboardVarios

Nivel: Intermedio Tiempo estimado: 3 horas


📐 Diseño del Sistema y Arquitectura IoT

Antes de conectar un solo cable, es fundamental comprender cómo se comunicarán los componentes entre sí y con la nube. El ESP32 leerá continuamente los datos del sensor DHT22. Si la temperatura cae por debajo del umbral establecido, activará el relé para encender la calefacción. Simultáneamente, estos datos se transmitirán mediante el protocolo MQTT o HTTP a la plataforma Blynk.

ESP32 Microcontrolador DHT22 Sensor Temp/Hum RELÉ Control de Carga NUBE BLYNK Smartphone Datos Control Wi-Fi Push Notificación

🔌 Conexiones de Hardware (Esquema de Cableado)

El montaje eléctrico es una de las partes más importantes. Asegúrate de desconectar cualquier fuente de alimentación antes de manipular los cables.

⚠️ Advertencia: Trabajar con voltajes de red (110V/220V AC) para la calefacción puede ser peligroso. Se recomienda utilizar elementos calefactores de corriente continua (DC) o extremar las precauciones aislando correctamente todas las conexiones de alto voltaje.

Sigue estas conexiones básicas para el microcontrolador y los sensores de baja tensión:

  1. Sensor DHT22:

    • Pin VCC a 3.3V del ESP32.
    • Pin GND a GND del ESP32.
    • Pin DATA al pin digital GPIO 4 del ESP32 (con una resistencia pull-up de 10k entre VCC y DATA).
  2. Módulo Relé:

    • Pin VCC a 5V (o fuente externa común).
    • Pin GND a GND.
    • Pin IN al pin digital GPIO 5 del ESP32.
Paso 1: Conectar la alimentación y masa a la protoboard.
Paso 2: Instalar el sensor DHT22 verificando la polaridad.
Paso 3: Cablear la señal de control del relé al pin GPIO 5 del ESP32.
Paso 4: Comprobar todas las conexiones antes de encender el sistema.

☁️ Configuración de la Plataforma Blynk IoT

Para visualizar los datos y controlar la incubadora de manera remota, utilizaremos la plataforma Blynk Cloud.

  1. Descarga la aplicación Blynk en tu teléfono inteligente o accede a su consola web.
  2. Crea una nueva plantilla (Template) llamada "Smart Incubator".
  3. Selecciona el hardware ESP32 y el tipo de conexión Wi-Fi.
  4. Crea los siguientes Datastreams:
    • V0: Temperatura (Tipo Double, unidad °C, rango 0-50)
    • V1: Humedad (Tipo Double, unidad %, rango 0-100)
    • V2: Estado del Calefactor (Tipo Integer, 0 o 1)
  5. Diseña tu interfaz agregando dos gráficos (Gauge) para temperatura y humedad, y un botón indicador para el estado del calefactor.

💻 Código de Programación para el ESP32

A continuación se presenta el código completo listo para ser compilado y cargado en tu ESP32 utilizando el IDE de Arduino. Asegúrate de instalar previamente las librerías necesarias: DHT sensor library y BlynkNCP o la librería oficial de Blynk.

#define BLYNK_TEMPLATE_ID "TMPLxxxxxx"
#define BLYNK_TEMPLATE_NAME "Smart Incubator"
#define BLYNK_AUTH_TOKEN "YourAuthTokenHere"

#define BLYNK_PRINT Serial

#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>

// Credenciales de Red Wi-Fi
char ssid[] = "TuRedWiFi";
char pass[] = "TuContraseña";

// Definición de Pines y Sensores
#define DHTPIN 4     // Pin digital donde está conectado el DHT22
#define DHTTYPE DHT22   // Definimos que usamos el sensor DHT22
#define RELAY_PIN 5  // Pin para el control del relé

DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;

// Variables de control
float targetTemp = 37.5; // Temperatura objetivo para incubación

void sendSensorData() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  if (isnan(h) || isnan(t)) {
    Serial.println("¡Error al leer los datos del sensor DHT22!");
    return;
  }

  // Lógica de control de temperatura (Termostato)
  if (t < targetTemp) {
    digitalWrite(RELAY_PIN, HIGH); // Encender calefactor
    Blynk.virtualWrite(V2, 1);
  } else {
    digitalWrite(RELAY_PIN, LOW);  // Apagar calefactor
    Blynk.virtualWrite(V2, 0);
  }

  // Enviar datos a la plataforma Blynk
  Blynk.virtualWrite(V0, t);
  Blynk.virtualWrite(V1, h);
  
  Serial.print("Temperatura: ");
  Serial.print(t);
  Serial.print(" °C | Humedad: ");
  Serial.print(h);
  Serial.println(" %");
}

void setup() {
  Serial.begin(115200);
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, LOW);
  
  dht.begin();
  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
  
  // Configurar temporizador para enviar datos cada 2 segundos
  timer.setInterval(2000L, sendSensorData);
}

void loop() {
  Blynk.run();
  timer.run();
}
🔥 Importante: Reemplaza TuRedWiFi, TuContraseña y YourAuthTokenHere con tus credenciales reales antes de flashear el código en la placa ESP32.

🧪 Pruebas, Calibración y Puesta en Marcha

Una vez cargado el código, es momento de realizar pruebas en un entorno controlado antes de introducir los huevos:

  1. Prueba de aislamiento térmico: Cierra la caja o estructura de la incubadora y enciende el sistema.
  2. Monitoreo de inercia térmica: Observa cuánto tiempo tarda el calefactor en elevar la temperatura y si el sistema sufre de sobrecalentamiento (overshoot) al apagar el relé.
  3. Ajuste de histéresis: Si notas que el relé se enciende y apaga demasiado rápido, puedes modificar el código añadiendo una pequeña banda diferencial (histéresis de ±0.2 °C) para proteger los componentes eléctricos.
¿Qué hacer si la temperatura no se estabiliza? Si la temperatura oscila demasiado, es probable que la potencia de tu calefactor sea excesiva para el volumen de la incubadora, o que el ventilador no esté distribuyendo el calor de manera uniforme. Asegúrate de colocar el sensor DHT22 cerca de la altura de los huevos y alejado de corrientes directas del calefactor.

🌟 Conclusión y Próximos Pasos

¡Felicidades! Has construido con éxito un sistema IoT avanzado para el control automatizado de una incubadora de huevos utilizando un ESP32. Este proyecto no solo garantiza la precisión necesaria para una alta tasa de eclosión, sino que te otorga tranquilidad al permitirte supervisar el estado del proceso desde cualquier lugar del mundo a través de tu smartphone.

Como futuros proyectos de mejora, podrías integrar:

  • Un motor paso a paso para el volteo automático de los huevos.
  • Una batería de respaldo (UPS) con un módulo de carga de baterías 18650 para evitar fallos ante cortes de energía eléctrica.
  • Alertas por correo electrónico o Telegram utilizando servicios como IFTTT o Webhooks directos.

Tutoriales relacionados

Comentarios (0)

Aún no hay comentarios. ¡Sé el primero!