Componentes · 7 min de lectura

¿Qué es un módulo relé? Controla lámparas, enchufes y bombas con Arduino

Qué es un módulo relé y cómo funciona. Conexión con Arduino, terminales NO, NC y COM, relés activos en LOW, JD-VCC y optoacoplador, uso con ESP32 y Pico y normas de seguridad con la tensión de red.

Un relé es un interruptor accionado eléctricamente que, con una pequeña señal, enciende y apaga una carga mucho mayor. Un pin de Arduino solo da 5 V y unas decenas de miliamperios: suficiente para un LED, pero no para una lámpara, un ventilador, una bomba de agua o un aparato conectado a la red de 230 V. El módulo relé cubre ese hueco: Arduino envía una señal pequeña y el relé cierra sus contactos para que la corriente grande pase por la carga. Es la pieza clave de los proyectos de domótica, riego automático y temporizadores.

Módulo relé de 5V de un canal
Módulo relé de 5 V de un canal: la caja azul es el relé y las bornas de tornillo de al lado conectan el lado de la carga.

¿Cómo funciona un relé?

Dentro del relé hay una bobina (un electroimán), un brazo metálico móvil y unos contactos. Cuando pasa corriente por la bobina, el campo magnético atrae el brazo y une los contactos; el «clic» que oyes es ese movimiento. Al cortar la corriente, un muelle devuelve el brazo a su sitio y los contactos se separan.

Lo más importante es que entre el lado de la bobina (circuito de control) y el lado de los contactos (circuito de carga) no hay conexión eléctrica. Solo están unidos magnéticamente. Así tu circuito de Arduino de 5 V queda aislado de la red eléctrica.

¿Qué lleva un módulo relé?

No puedes conectar un relé suelto directamente a un pin de Arduino: la bobina consume más corriente de la que puede dar el pin y, al apagarse, genera un pico de tensión capaz de dañarlo. La placa del módulo incluye las piezas que resuelven estos problemas:

  • Transistor de excitación: conmuta los 70–80 mA que necesita la bobina usando la pequeña señal del pin.
  • Diodo de protección (flyback): absorbe la tensión inversa que aparece al apagarse la bobina y protege el transistor y el Arduino.
  • Optoacoplador (en algunos modelos): transmite la señal de control mediante luz y separa por completo el Arduino del circuito del relé.
  • LED de estado: se enciende cuando el relé está activado; muy útil para comprobar que tu código funciona.
  • Bornas de tornillo: permiten conectar los cables de la carga con seguridad y sin soldar.

¿Qué significan NO, NC y COM?

El lado de la carga del relé tiene tres terminales. Según cuáles uses, tu aparato estará encendido o apagado cuando el relé no esté activado:

TerminalSignificado¿Cuándo está unido a COM?
COMComún; aquí va uno de los cables de la cargaSiempre está unido a NO o a NC
NONormalmente abierto (Normally Open)Solo cuando el relé está activado
NCNormalmente cerrado (Normally Closed)Cuando el relé no está activado
En la mayoría de los proyectos se usan COM y NO: si el Arduino está apagado, se reinicia o el código se cuelga, el aparato también queda apagado. Elige NC para un aparato que debe funcionar siempre y solo cortarse de vez en cuando.

Características técnicas (módulo habitual de 5 V)

CaracterísticaValor
Tensión de bobina5 V DC
Corriente de bobinaUnos 70–80 mA (por canal)
Capacidad de los contactos10 A 250 V AC / 10 A 30 V DC (impreso en el relé)
DisparoActivo en LOW o activo en HIGH (según el módulo)
Pines de controlVCC, GND, IN (IN1, IN2... en los de varios canales)
Terminales de cargaCOM, NO, NC

Conectar el módulo relé a Arduino

El lado de control necesita tres cables: VCC del módulo a 5V, GND a GND e IN al pin digital 7. En el lado de la carga, cortas uno de los cables del aparato que quieres controlar y conectas sus dos extremos a las bornas COM y NO. El relé ocupa el lugar de un interruptor de pared normal.

Arduino (C++)
1const int RELAY_PIN = 7;
2
3void setup() {
4  pinMode(RELAY_PIN, OUTPUT);
5  digitalWrite(RELAY_PIN, HIGH);  // aktif LOW modülde kapalı başla / start OFF on active-LOW modules
6}
7
8void loop() {
9  digitalWrite(RELAY_PIN, LOW);   // röle çeker, cihaz açılır / relay on
10  delay(3000);
11  digitalWrite(RELAY_PIN, HIGH);  // röle bırakır, cihaz kapanır / relay off
12  delay(3000);
13}
Muchos módulos relé son activos en LOW: el relé se activa al poner el pin IN en LOW y se desactiva con HIGH. El LED de estado te dirá de qué tipo es el tuyo. En una placa activa en HIGH, intercambia HIGH y LOW en el código anterior. Apagar primero el relé en setup() evita que el aparato se encienda un instante al arrancar el Arduino.

Controlar el relé con un botón: interruptor de encendido y apagado

En proyectos reales normalmente controlas el relé con un botón, un sensor o un horario. El código siguiente cambia el estado del relé con cada pulsación, así puedes controlar una lámpara de 230 V con un pequeño pulsador. Para la conexión del botón y el rebote, mira Cómo conectar un pulsador a Arduino.

Arduino (C++)
1const int RELAY_PIN = 7;
2const int BUTTON_PIN = 2;      // butonun diğer ucu GND'de / other leg to GND
3
4bool relayOn = false;
5bool lastButton = HIGH;
6
7void setup() {
8  pinMode(RELAY_PIN, OUTPUT);
9  pinMode(BUTTON_PIN, INPUT_PULLUP);
10  digitalWrite(RELAY_PIN, HIGH); // başta kapalı / start OFF (active LOW)
11}
12
13void loop() {
14  bool button = digitalRead(BUTTON_PIN);
15  if (lastButton == HIGH && button == LOW) {   // yeni basış / new press
16    relayOn = !relayOn;
17    digitalWrite(RELAY_PIN, relayOn ? LOW : HIGH);
18    delay(50);                                  // sıçrama önleme / debounce
19  }
20  lastButton = button;
21}

JD-VCC y optoacoplador: aislamiento total

En los módulos con optoacoplador, junto a los pines VCC, GND e IN hay un pin llamado JD-VCC con un puente (jumper). Con el puente puesto, la bobina del relé también se alimenta de los 5 V del Arduino. Si lo quitas y conectas un adaptador de 5 V aparte a JD-VCC y a su propia GND, la corriente de la bobina sale toda de ese adaptador y el lado del Arduino solo enciende el LED del optoacoplador. Con cargas ruidosas como motores y bombas, esto evita en gran medida que el Arduino se cuelgue o se reinicie.

Relés con el ESP32 y la Raspberry Pi Pico

Los pines del ESP32 y de la Pico dan 3,3 V. La mayoría de los módulos relé de 5 V se activan con esa señal, pero en un módulo activo en LOW un HIGH de 3,3 V no siempre suelta el relé del todo; si tu relé se queda siempre activado, el problema es ese. La solución es comprar un módulo con disparo a 3,3 V, usar una placa con optoacoplador y separación JD-VCC o poner un pequeño transistor NPN. El módulo en sí se sigue alimentando a 5 V. Controlar un relé con la Pico en MicroPython es así de sencillo:

MicroPython
1from machine import Pin
2import time
3
4relay = Pin(15, Pin.OUT, value=1)   # GP15, aktif LOW: 1 = kapalı / active LOW: 1 = off
5
6while True:
7    relay.value(0)    # röle çeker / relay on
8    time.sleep(3)
9    relay.value(1)    # röle bırakır / relay off
10    time.sleep(3)

Normas de seguridad con la tensión de red

La tensión de red puede matar. Haz siempre las conexiones con el enchufe desconectado, no dejes extremos de cable pelados, mete el circuito en una caja cerrada y aislante y, si no estás seguro, practica con una tira LED o un ventilador de 12 V en lugar de 230 V. Los niños nunca deben trabajar en el lado de la red sin un adulto.
  • Respeta la corriente máxima: no superes el valor impreso en el relé (por ejemplo, 10A 250VAC). Con aparatos potentes como estufas, aires acondicionados o hervidores, quédate muy por debajo de ese límite.
  • Corta la fase: al controlar una lámpara o un enchufe, pasa por el relé el cable de fase, no el neutro, para que el aparato apagado no quede con tensión.
  • Usa cable adecuado: los cables de protoboard no están hechos para la red; en el lado de la carga usa cable aislado de sección suficiente.
  • Aísla la parte inferior de la placa: la cara de soldaduras del módulo tiene tensión de red; no la dejes tocando superficies metálicas ni la mano desnuda.
  • Pon un fusible: un fusible adecuado en la línea de carga evita un incendio si hay un cortocircuito.

¿Relé, transistor o relé de estado sólido?

CaracterísticaRelé mecánicoTransistor / MOSFETRelé de estado sólido (SSR)
ConmutaAC y DCSolo DCSobre todo AC
VelocidadLenta (milisegundos)Muy rápida, permite PWMRápida
RuidoHace clicSilenciosoSilencioso
Vida útilLos contactos se desgastanMuy largaMuy larga
Ideal paraLámparas, enchufes, bombasVelocidad de motores, tiras LEDCargas AC que se conmutan a menudo

En resumen: si vas a encender y apagar un aparato de vez en cuando, el relé mecánico es la solución más barata y sencilla. Para regular la velocidad de un motor o el brillo de una tira LED, elige un transistor o MOSFET, y para cargas AC que se conmutan muchas veces por segundo, un relé de estado sólido. Para elegir el transistor adecuado, echa un vistazo a la herramienta Transistores.

Ideas de proyectos con relé

  • Riego inteligente: pon en marcha la bomba de agua cuando el sensor de humedad del suelo indique que está seco.
  • Luz que se enciende con el movimiento: enciende una lámpara cuando un sensor PIR detecte a alguien y apágala al cabo de un rato.
  • Ventilador controlado por humedad: arranca el extractor del baño cuando suba la humedad; para medirla, mira Sensor de temperatura y humedad DHT11.
  • Enchufe con mando a distancia: controla un enchufe con un receptor IR y el mando de la tele.
  • Temporizador: enciende y apaga la luz del acuario a la misma hora cada día.
  • Control desde el móvil: maneja una lámpara desde una página web con el Wi-Fi del ESP32.

Errores comunes y cómo solucionarlos

  • El relé funciona al revés: el módulo es activo en LOW; intercambia HIGH y LOW en el código.
  • El relé no para de hacer clic: puede que la alimentación no sea suficiente; usa un adaptador externo de 5 V, sobre todo con varios relés.
  • El Arduino se reinicia al arrancar el motor: ruido y caída de tensión; alimenta la bobina aparte con JD-VCC y pon un condensador en paralelo con el motor.
  • El LED se enciende pero la carga no funciona: puede que los cables de la carga estén en NC o que un tornillo de la borna esté flojo.
  • Con el ESP32 el relé nunca se suelta: el HIGH de 3,3 V no apaga un módulo activo en LOW; usa un módulo compatible con 3,3 V o un transistor.
  • Conectar un relé suelto directamente a un pin: la corriente de la bobina y la tensión inversa dañan el pin; usa siempre un módulo, o un transistor con un diodo.

Cuando combinas un relé con un sensor, empiezas a crear automatizaciones realmente útiles. Para ver para qué sirve cada sensor, echa un vistazo a la Guía de sensores para Arduino; en la app BlueGrays encontrarás proyectos de lámparas, riego e iluminación con relé, paso a paso y con esquemas.

Preguntas frecuentes

¿Por qué mi módulo relé no para de hacer clic?

La causa más habitual es una alimentación insuficiente: al activarse el relé cae la tensión, el Arduino se reinicia y el relé se suelta. Si usas varios relés o alimentas el Arduino por USB, usa un adaptador externo de 5 V. Comprueba también que tu código no tenga un bucle que active y desactive el relé sin parar.

¿Qué significa relé activo en LOW?

Es un módulo relé que se activa cuando su pin IN está en LOW (0 V) y se desactiva con HIGH. La mayoría de los módulos baratos funcionan así. En el código escribes digitalWrite(pin, LOW) para encenderlo y HIGH para apagarlo; ponerlo primero en HIGH en setup() para que arranque apagado es una buena costumbre.

¿Se puede controlar un motor de corriente continua con un relé?

Para encenderlo y apagarlo, sí, pero no podrás regular su velocidad ni cambiar fácilmente el sentido de giro. Para la velocidad se usa un MOSFET o un controlador de motor con PWM, y para el sentido un puente H como el L298N.

¿Para qué sirve el puente JD-VCC?

En los módulos con optoacoplador separa la alimentación de la bobina del relé (JD-VCC) de la alimentación de control (VCC). Si quitas el puente y das a JD-VCC sus propios 5 V, el Arduino queda totalmente aislado del circuito del relé y el ruido de cargas como los motores no le llega.

¿Compro un relé de 5 V o de 12 V?

La tensión de la bobina debe coincidir con la tensión con la que alimentas el módulo. Para proyectos con Arduino lo más práctico es un módulo con bobina de 5 V, porque bastan los 5 V del Arduino o un cargador USB. Un relé con bobina de 12 V necesita 12 V; no tiene nada que ver con la tensión del lado de la carga.

¿Cuántos relés puede controlar un Arduino?

Cada relé necesita un pin digital y un Uno tiene hasta 20 pines utilizables. El límite real es la corriente: cada bobina consume unos 70–80 mA, así que con más de 2 relés alimenta el módulo con un adaptador externo de 5 V y no desde el Arduino. Para más canales hay módulos de 8 y 16 canales.

Ver todos los proyectos
Bombilla 220V con Pulsador (Push)
#19Avanzado
Premium

Bombilla 220V con Pulsador (Push)

Proyecto que controla una bombilla de 220V con un pulsador utilizando un módulo de relé. Enseña los fundamentos de la conmutación de alta tensión con relé.

4.4(30)
38
Bombilla encendida de 220 V con botón (encendido-apagado)
#20Avanzado
Premium

Bombilla encendida de 220 V con botón (encendido-apagado)

Un proyecto que enciende y apaga una bombilla de 220V (toggle) a cada pulsación de botón con el módulo relé. Enseña lógica de conmutación permanente con relé y variable de estado.

4.5(33)
44
Bombilla incandescente de 220 V con mando a distancia
#21Avanzado
Premium

Bombilla incandescente de 220 V con mando a distancia

Proyecto que enciende y apaga una bombilla de 220V mediante relé con las teclas de encendido y silencio del mando a distancia por infrarrojos. Combina el control por infrarrojos con la conmutación de

4.4(22)
30
Estación de riego inteligente
#83Avanzado
Premium

Estación de riego inteligente

Sistema autónomo de riego de plantas que funciona 24/7 sin cansar Arduino con dos baterías 18650 y regulador LM2596. Gestiona automáticamente el motor de agua midiendo continuamente la humedad del sue

5.0(42)
57
Sistema inteligente de riego de plantas ESP 32
#139Avanzado
Premium

Sistema inteligente de riego de plantas ESP 32

En este proyecto se ha desarrollado un sistema de riego automático para plantas utilizando un ESP32 y un sensor de humedad del suelo. El sensor mide continuamente el nivel de humedad del suelo. Cuando la humedad cae por debajo del nivel establecido, el ESP32 activa el relé para poner en marcha la bomba de agua y regar la planta. Cuando el suelo está lo suficientemente húmedo, la bomba se detiene automáticamente. Gracias a este proyecto, las plantas se pueden regar de forma regular y se ahorra ag

4.7(10)
14
Iluminación Inteligente ESP32 (PIR + LDR + Relé + OLED)
#141Avanzado
Premium

Iluminación Inteligente ESP32 (PIR + LDR + Relé + OLED)

¡Convierte tu pasillo, baño o despensa en iluminación inteligente con ESP32! Utilizando un sensor de movimiento PIR, un sensor de luz LDR y un módulo de relé, construimos el escenario clásico "la luz se enciende cuando se detecta movimiento en la oscuridad" — si el ambiente ya está iluminado, el movimiento NO activa la luz, ahorrando energía durante el día. La luz permanece encendida durante 30 segundos; si el movimiento continúa, el temporizador se reinicia y la luz permanece encendida más tiem

4.3(6)
11
Iluminación automática con el sensor de movimiento PIR del ESP32
#121Intermedio
Premium

Iluminación automática con el sensor de movimiento PIR del ESP32

En este proyecto, utilizaremos el sensor de movimiento PIR HC-SR501 para detectar a las personas que entren en la habitación y encender el LED automáticamente. Cuando se detecte movimiento, el LED permanecerá encendido durante un tiempo determinado y gestionaremos el tiempo mediante la función `millis()` y un contador, sin necesidad de utilizar `delay()`. De este modo, obtendremos un sistema de iluminación con sensor de movimiento que no bloquea el ESP32 y permite realizar otras tareas. En la vi

4.4(24)
38
Timbre y luz con sensor de movimiento
#25Intermedio
Premium

Timbre y luz con sensor de movimiento

Proyecto que enciende el LED y reproduce la melodía del timbre con zumbador cuando el sensor PIR detecta movimiento. Combina la detección de movimiento con la notificación por sonido y luz.

4.7(54)
70

Aprende cómo funciona un relé, qué son los terminales NO, NC y COM, cómo conectar el módulo a Arduino, encenderlo y apagarlo con un botón y trabajar con seguridad con la tensión de red.

¿Qué es un módulo relé? Controla lámparas, enchufes y bombas con Arduino | BlueGrays