Blog

Sistema de Ventilación Automática para Habitaciones con Arduino, Hazlo tú mismo

0
Sistema de Ventilación Automática para Habitaciones con Arduino, Hazlo tú mismo

El proyecto presentado se llevó a cabo para abordar un problema interior simple pero común: la mala circulación del aire debido a la alta temperatura y humedad. Los ventiladores de extracción en la mayoría de las habitaciones, particularmente en dormitorios, oficinas o laboratorios pequeños, suelen ser de operación manual. En la práctica, las personas a menudo olvidan encenderlos o apagarlos, lo que resulta en incomodidad y pérdida de energía.

El concepto aquí fue crear un sistema de ventilación automática de habitaciones que responda a las condiciones ambientales reales. El sistema monitoriza continuamente la temperatura y la humedad y enciende automáticamente el ventilador. Se eligió Arduino porque permite la creación rápida de prototipos y la integración fiable de sensores.

Esto no fue solo una compilación de demostración. El sistema se construyó, se probó en una sala real, se ajustó y luego se ejecutó durante períodos prolongados. La siguiente discusión refleja estas pruebas y desarrollos experimentales.

Design Thinking y Concepto de Sistemas

El problema se dividió en subproblemas más pequeños antes de que comenzara el cableado del hardware o la codificación.

El sistema necesitaba:

  • Tome lecturas precisas de temperatura y humedad.
  • Determinar cuándo se necesita ventilación.
  • Enciende un ventilador de alta potencia de forma segura.
  • Evite encender y apagar con frecuencia.

Se tomó la decisión de utilizar una estrategia de control simple basada en reglas en lugar de algoritmos complejos. El control de precisión es menos importante que lograr una ventilación estable.

La arquitectura final consistió en:

  • Arduino Uno como controlador central.
  • Sensor de temperatura y humedad (DHT11).
  • Módulo de relé para aislar el control de bajo voltaje de la carga de alto voltaje.
  • Ventilador como dispositivo de salida.
  • Mantener separadas la detección (sensing), la conmutación de control y la conmutación de potencia hace que el sistema sea más seguro y fácil de depurar.

Componentes Usados

Los componentes utilizados en el proyecto fueron los siguientes:

  • Arduino Uno
  • Módulo sensor de temperatura y humedad DHT11
  • Módulo de relé de un canal de 5V
  • Ventilador de CA controlado por relé
  • Placa de prototipos y cables de conexión
  • Fuente de alimentación externa (utilizada cuando sea requerida por el ventilador)

Los componentes son todos baratos y fácilmente accesibles, lo que hace que este proyecto sea fácil de replicar.

Conexiones de hardware (paso a paso)

La configuración del hardware se mantuvo muy simple para minimizar errores de cableado.

Conexión del sensor DHT11:

  • VCC – Arduino 5V
  • GND – Arduino GND
  • DATOS – Pin digital 2 de Arduino

Ya había una resistencia pull-up en el módulo DHT11, por lo que no se necesitaban componentes adicionales.

Conexión del Módulo de Relé:

  • VCC – Arduino 5V
  • GND – Arduino GND
  • EN – Pin digital de Arduino 8

El cable vivo del ventilador se conectó a través del terminal Normalmente Abierto (NA) del relé para asegurar que el ventilador permanezca apagado al inicio del sistema.

⚠️ Precaución de seguridad: el cableado de CA se realizó con cuidado y se probó por separado antes de conectarlo al relé controlado por Arduino.

Resumen de la Lógica de Control

La lógica de control sigue un flujo simple:

  • Leer temperatura y humedad.
  • Compare los valores contra umbrales preestablecidos.
  • Enciende el ventilador cuando se superen los límites.
  • Apaga el ventilador cuando las lecturas vuelvan a la normalidad.
  • Espera antes de tomar la siguiente lectura.

Esta lógica demostró ser confiable durante las pruebas a largo plazo y no requirió conmutación innecesaria de relés.

Código de Arduino (Probado y funcionando)

				
					#include 

#define DHTPIN 2
#define DHTTYPE DHT11
#define RELAY_PIN 8

float tempThreshold = 30.0;
float umbralHumedad = 70.0;

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);

  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, HIGH); // Relé desactivado (activo-BAJO)

  dht.begin();
  Serial.println("Sistema de ventilación automática iniciado");
}

void loop() {
  float humedad = dht.readHumidity();
  float temperatura = dht.readTemperature();

  if (isnan(humedad) || isnan(temperatura)) {
    Serial.println("Error en la lectura del sensor");
    delay(2000);
    return;
  }

  Serial.print("Temperatura: ");
  Serial.print(temperature);
  Serial.print(" °C | Humedad: ");
  Serial.print(humidity);
  Serial.println(" %");

  if (temperature > tempThreshold || humidity > humidityThreshold) {
    digitalWrite(RELAY_PIN, LOW);  // Ventilador ON
    Serial.println("Ventilador: ENCENDIDO");
  } else {
    digitalWrite(RELAY_PIN, HIGH); // Ventilador APAGADO
    Serial.println("Ventilador: APAGADO");
  }

  Serial.println("----------------------");
  delay(3000);
}
				
			

Detalles Clave de Implementación

Unas pocas decisiones menores marcaron una gran diferencia en la aplicación real.

Los valores umbral se eligieron inicialmente basándose en pruebas. Las temperaturas más bajas provocaban que el ventilador se encendiera y apagara con demasiada frecuencia, por lo que el valor final se ajustó a 30 °C.

Segundo, se realizó un monitoreo serial extenso durante las pruebas. El monitoreo en vivo ayudó a confirmar la precisión de las lecturas de los sensores y el comportamiento general del sistema.

En tercer lugar, se tuvo cuidado de verificar el comportamiento del relé. Muchos módulos de relé son de bajo activo, lo que puede ser confuso para los principiantes a menos que se prueben temprano.

Desafíos prácticos enfrentados

Uno de los principales desafíos fue la lenta respuesta del sensor DHT11. Las lecturas frecuentes provocaron valores duplicados, lo que se solucionó introduciendo retrasos más largos entre lecturas.

Las ráfagas cortas de humedad, como abrir puertas o cocinar cerca, fueron otro desafío. Esto se mitigó utilizando retardos y valores de umbral estables.

Inicialmente, se observó un ruido de chasquido de relé notable. Reducir la frecuencia de conmutación no solo disminuyó el ruido sino que también mejoró la vida útil de los relés.

Lecciones aprendidas

Este proyecto demostró que los sistemas sencillos son los más eficaces para la automatización básica. La lógica complicada no mejoró el rendimiento.

Es importante comprender las limitaciones de los sensores. El DHT11 es adecuado para tareas de monitorización sencillas pero no para control rápido o preciso.

Por encima de todo, no se debe pasar por alto la seguridad eléctrica al manipular relés y cargas de CA.

La siguiente etapa de este proyecto podría incluir:

  • Reemplazar el DHT11 por un sensor DHT22
  • Añadir una pantalla LCD u OLED
  • Habilitar monitorización remota usando un ESP32
  • Aplicar histéresis para un control más suave

Consideraciones finales

Este sistema automático de ventilación de habitaciones demuestra cómo Arduino puede utilizar lógica y hardware sencillos para resolver problemas del mundo real. Pruebas, ajustes y el uso práctico ayudaron a que el proyecto evolucionara de una idea a un sistema completamente funcional.

Para principiantes, ofrece una experiencia de aprendizaje completa. Para usuarios más experimentados, sirve como un recordatorio de que la buena ingeniería a veces reside en mantener las cosas simples, estables y seguras.

Para aquellos interesados en llevar proyectos del prototipo a la producción, ya sea como aficionados o como empresas, PCBCool Ofrecemos servicios flexibles de PCB y PCBA. Desde la creación rápida de prototipos hasta la fabricación en lotes pequeños o a gran escala, nuestras soluciones facilitan la conversión de ideas en productos electrónicos reales y funcionales.

Preguntas frecuentes (PF)

1. ¿Puedo usar el DHT11, o debería usar el DHT22?

El DHT11 es barato y fácil de conseguir, ideal para principiantes y monitorización sencilla. El DHT22 tiene una respuesta más rápida y mayor precisión, adecuado para aplicaciones de control preciso.

2. ¿Puedo usar un ventilador doméstico normal?

Sí, pero los ventiladores de CA deben controlarse a través de un relé para aislar los circuitos de alto voltaje.

3. ¿El cambio frecuente del relé dañará el relé?

El cambio frecuente aumenta el desgaste y reduce la vida útil del relé. Añadir retrasos de muestreo, umbrales estables o histéresis puede reducir el número de ciclos de conmutación.

4. ¿Puede el sistema funcionar continuamente durante largos períodos?

Sí, las pruebas a largo plazo demostraron un funcionamiento estable.

5. ¿Puedo agregar monitoreo remoto o una pantalla?

Absolutamente. Puedes añadir una pantalla LCD u OLED para monitorización local, o integrar un módulo ESP32/Wi-Fi para control y monitorización remotos.

6. ¿Se puede reemplazar Arduino con otro microcontrolador?

Sí. Se pueden usar Raspberry Pi, ESP32 o STM32, pero el código y el cableado necesitan ajustes.

7. ¿Cuál es el costo aproximado de este proyecto?

Si se utiliza un Arduino + DHT11 + relé + ventilador pequeño, el coste de los materiales suele oscilar entre 15 y 30 TP4T (sin contar la placa de circuito impreso ni la carcasa), dependiendo de los componentes elegidos.

¿Puedo convertir este prototipo en una PCB o producción a pequeña escala?

¡Sí! Aquí es donde entra PCBCool. Puedes crear rápidamente prototipos de PCB o PCBA de lotes pequeños, convirtiendo tu proyecto experimental en un producto confiable y funcional.

Farhan A
Farhan A. | Ingeniero en Electrónica y Sistemas Embebidos

Farhan A. es un ingeniero electrónico especializado en diseño de PCBs, drones, robótica, sistemas embebidos y desarrollo de hardware basado en IA. Su experiencia en C/C++, Python, IA/ML y pruebas le ayuda a desarrollar soluciones prácticas para proyectos complejos de electrónica.

Etiquetas Relacionadas
Compartir