Los módulos de relé son componentes esenciales cuando se necesita controlar cargas de alto voltaje o alta corriente desde un microcontrolador.
Existen presentaciones de 1, 2 y 4 canales, todas basadas en la misma idea: permitir que Arduino active o desactive dispositivos externos como lámparas, motores AC, electrodomésticos o bombas de agua.
1. ¿Qué es un relé y cómo funciona?
Un relé es un interruptor electromecánico.
Dentro del módulo existe una bobina que, al energizarse, mueve un contacto mecánico que conmuta entre:
- COM → común
- NO → normalmente abierto
- NC → normalmente cerrado
El Arduino controla la bobina mediante un transistor y optoacoplador presentes en el módulo, permitiendo aislar el circuito de baja tensión del Arduino de la carga de alta tensión.
2. Funcionamiento de los módulos de 1, 2 y 4 canales
Aunque varíen en cantidad de canales, todos comparten:
- Entrada de señal por cada canal (IN1, IN2, IN3, IN4).
- Terminales COM, NO, NC por cada canal.
- Aislamiento eléctrico mediante optoacopladores.
- LED indicador por canal.
- Jumper para elegir modo de activación (HIGH trigger o LOW trigger).
El modo más común es activación por nivel bajo (LOW).
Esto significa:
- IN = LOW → relé activado (contacto conmutado)
- IN = HIGH → relé desactivado
3. Alcances del módulo
- Controla dispositivos de 110–220 VAC, motores, bombas y luces.
- Permite conmutar cargas de alta corriente (típico: 10 A).
- Aislamiento mediante optoacoplamiento para seguridad del microcontrolador.
- Compatible con cualquier pin digital de Arduino.
- Útil en automatización del hogar, robótica y sistemas industriales.
4. Limitaciones
- No permite control de velocidad en motores AC ni regulación continua.
- Al ser mecánico, tiene desgaste: vida útil limitada.
- Hace un clic audible al activar/desactivar.
- No apto para corrientes mayores a las especificadas.
- Requiere alimentación de 5V estables; evitar usar el 5V de Arduino si hay varios relés y cargas pesadas.
- Las altas corrientes pueden generar interferencia; se recomienda cableado adecuado.
5. Pinout típico
Según el número de canales:
Entradas de control
- IN1 / IN2 / IN3 / IN4: señales digitales desde Arduino
- VCC: 5V
- GND: Tierra común
Terminales de carga (por canal)
- COM (Común)
- NO (Normalmente abierto)
- NC (Normalmente cerrado)
6. Conexión con Arduino (1 canal como ejemplo)
Lado Arduino
- IN1 → Pin 7
- VCC → 5V
- GND → GND
Lado carga
- Línea de fase (AC) pasa por COM y NO.
- Neutro va directo al dispositivo.
Para 2 y 4 canales, se añaden IN2, IN3 e IN4 conectados a pines digitales.
7. Código básico de prueba
Ejemplo para 1 canal (activación LOW)
int rele = 7;
void setup() {
pinMode(rele, OUTPUT);
digitalWrite(rele, HIGH); // Relé inicialmente apagado
}
void loop() {
digitalWrite(rele, LOW); // Activa relé
delay(2000);
digitalWrite(rele, HIGH); // Desactiva relé
delay(2000);
}
Ejemplo para 4 canales
int r1 = 4;
int r2 = 5;
int r3 = 6;
int r4 = 7;
void setup() {
pinMode(r1, OUTPUT); digitalWrite(r1, HIGH);
pinMode(r2, OUTPUT); digitalWrite(r2, HIGH);
pinMode(r3, OUTPUT); digitalWrite(r3, HIGH);
pinMode(r4, OUTPUT); digitalWrite(r4, HIGH);
}
void loop() {
digitalWrite(r1, LOW);
digitalWrite(r2, LOW);
digitalWrite(r3, LOW);
digitalWrite(r4, LOW);
delay(2000);
digitalWrite(r1, HIGH);
digitalWrite(r2, HIGH);
digitalWrite(r3, HIGH);
digitalWrite(r4, HIGH);
delay(2000);
}
8. Tres aplicaciones reales con Arduino
1. Automatización del hogar
Control de luces, ventiladores, bombas, electrodomésticos o sirenas desde un sistema domótico basado en Arduino.
2. Sistemas de riego
Conmutación de bombas de agua o válvulas solenoides para cultivos automatizados.
3. Sistemas de seguridad
Activar cerraduras eléctricas, reflectores o alarmas al detectar movimiento o eventos específicos.
9. Fuentes de consulta recomendadas
- Documentación del relé SRD-05VDC-SL-C
Ficha técnica de la mayoría de módulos comerciales. - Especificación del optoacoplador PC817
Permite entender el aislamiento eléctrico. - Guías de Arduino — Sección digitalWrite / HIGH / LOW
Referencia oficial para controlar actuadores digitales.
10. Prompt para que el lector genere su propio código con IA
Puedes sugerir este prompt:
Estoy usando un módulo de relé de [1/2/4] canales con Arduino.
El módulo se activa con nivel [LOW o HIGH].
Quiero que la IA genere un código que cumpla:
1. Controlar cada relé desde pines que yo elija.
2. Incluir funciones como activarRele() y desactivarRele().
3. Permitir temporización configurable.
4. Mostrar en monitor serial el estado de cada canal.
5. Manejar varios relés de forma independiente.
Mi placa Arduino es [modelo], y las cargas que quiero controlar son [describir].
Genera un código limpio, bien comentado y seguro.
