DEV Community

Cover image for Cómo elegir un módulo de relé para ESP32 (y el problema de los 3,3 V)
Steven Carvajal
Steven Carvajal

Posted on Originally published at iot.gripe

Cómo elegir un módulo de relé para ESP32 (y el problema de los 3,3 V)

Publicado originalmente en iot.gripe.

El relé es la pieza que convierte una señal del ESP32 en una luz que se enciende. Hay cientos de módulos que parecen iguales, y muchos funcionan mal con un ESP32 por un detalle que casi nunca aparece en la ficha: el ESP32 trabaja con 3,3 V y la mayoría de los módulos están pensados para 5 V.

En esta guía te cuento qué revisar antes de comprar, el problema de los 3,3 V y cómo evitarlo, y cuándo conviene otra cosa en lugar de un relé. Un consejo antes de empezar: desarrolla con el LED de la placa como salida y deja el relé para cuando el resto funcione. El resto del proyecto está en la guía de casa inteligente DIY con ESP32 y AWS.

Antes de seguir: el relé conmuta la red eléctrica, 230 V en España y 110–127 V en México. Un error puede causar una descarga o un incendio. Si no tienes experiencia con instalaciones eléctricas, deja la conexión a la red a un electricista.

Qué es un módulo de relé

Un relé es un interruptor accionado por un electroimán: una corriente pequeña en la bobina mueve unos contactos que dejan pasar o cortan una corriente grande. Un módulo de relé trae además lo necesario para manejarlo desde un microcontrolador:

  • un transistor que da la corriente que la bobina necesita (un pin del ESP32 no puede);
  • un diodo que protege el circuito cuando la bobina se apaga;
  • a menudo, un optoacoplador que separa eléctricamente la señal del ESP32 del circuito del relé;
  • un LED que indica si está activado;
  • bornes para los cables de la carga: común (COM), normalmente abierto (NO) y normalmente cerrado (NC).

Lo que hay que revisar

Qué Por qué importa Qué buscar
Tensión de la bobina El módulo necesita esa tensión para accionar el relé 5 V es lo más común; existen de 3,3 V
Señal de control El ESP32 entrega 3,3 V, no 5 V Que funcione con 3,3 V, o con alimentación separada (puente JD-VCC)
Activo en alto o en bajo Define si el relé se activa con HIGH o con LOW Muchos baratos son activos en bajo; algunos traen un puente para elegir
Optoacoplador Aísla el ESP32 del circuito del relé Preferible para cargas de red eléctrica
Capacidad de los contactos Lo que el relé puede conmutar sin dañarse Suelen indicar 10 A a 250 V AC; deja margen respecto a tu carga
Número de canales Cuántas cargas controla 1 canal por dispositivo, si cada luz tiene su ESP32

El problema de los 3,3 V

Muchos módulos de 5 V con optoacoplador son activos en bajo: el relé se activa cuando el pin de entrada (IN) está en 0 V. Para apagarlo, el pin tiene que subir lo suficiente para que el LED del optoacoplador deje de conducir.

Si alimentas el módulo con 5 V y lo controlas con un ESP32, el pin en HIGH solo llega a 3,3 V. La diferencia de 1,7 V con los 5 V de alimentación puede ser suficiente para que el optoacoplador siga conduciendo un poco, y el relé no se apague, haga clic de forma intermitente o el LED quede encendido a medias.

Formas de evitarlo:

  • Elegir un módulo que indique compatibilidad con 3,3 V, o uno con bobina de 3,3 V.
  • Usar un módulo con puente JD-VCC: se quita el puente y se alimenta la parte del optoacoplador con 3,3 V del ESP32 y la bobina con 5 V aparte. Así la señal de 3,3 V apaga el optoacoplador por completo.
  • Elegir un módulo activo en alto con transistor, que se activa al recibir 3,3 V.

Pruébalo con el módulo desconectado de la red eléctrica: comprueba con el LED y el clic del relé que enciende y apaga bien con tu ESP32 antes de conectarle ninguna carga.

Activo en bajo: ajusta tu código

Si tu módulo es activo en bajo, invierte la lógica en un solo sitio del código:

#define RELE_PIN 5
#define RELE_ACTIVO_EN_BAJO true  // cámbialo según tu módulo

void aplicarEstado(bool encendido) {
  bool nivel = RELE_ACTIVO_EN_BAJO ? !encendido : encendido;
  digitalWrite(RELE_PIN, nivel ? HIGH : LOW);
}

void setup() {
  pinMode(RELE_PIN, OUTPUT);
  aplicarEstado(false);  // el estado seguro, lo antes posible
}
Enter fullscreen mode Exit fullscreen mode

Fija el estado apagado en cuanto configuras el pin, al principio de setup(). Elige además un pin que no sea de arranque: en el ESP32-C3, por ejemplo, evita los GPIO 2, 8 y 9, cuyo estado durante el arranque puede hacer que el relé se active un instante.

¿Relé, SSR o TRIAC?

Relé mecánico Relé de estado sólido (SSR) TRIAC
Cómo conmuta Contactos físicos Electrónica, sin piezas móviles Electrónica
Ruido Hace clic Silencioso Silencioso
Vida útil Limitada por los contactos Larga Larga
Corriente de fuga en apagado Ninguna Puede haber una pequeña Puede haber una pequeña
Regular la intensidad No No (en la mayoría) Sí, con el circuito adecuado
Uso típico Encender y apagar luces o enchufes Conmutaciones frecuentes y silenciosas Atenuadores

Un detalle práctico de los SSR: la pequeña corriente que dejan pasar apagados puede hacer que algunas bombillas LED queden encendidas débilmente o parpadeen. Con un relé mecánico eso no pasa.

Para encender y apagar luces unas cuantas veces al día, un relé mecánico es la opción más simple y fiable.

Qué comprar

  • Módulo de relé de 1 canal con optoacoplador y puente JD-VCC

  • Módulo de relé de 1 canal con disparo seleccionable (alto/bajo)

  • Relé de estado sólido (SSR) de 2 A

Preguntas frecuentes

¿Puedo alimentar la bobina de 5 V desde el pin de 5 V de la placa?

En placas alimentadas por USB, el pin de 5 V entrega la tensión del USB y suele bastar para uno o dos relés. Para varios, usa una fuente aparte con la tierra común.

¿Por qué el relé hace clic al arrancar el ESP32?

Porque el pin está en un estado indefinido durante el arranque, hasta que tu programa lo configura. Evita los pines de arranque, fija el estado apagado al principio de setup() y, si el módulo es activo en bajo, una resistencia de pull-up en la entrada lo mantiene apagado mientras tanto.

¿Un relé de 10 A sirve para cualquier cosa de la casa?

Para luces y la mayoría de aparatos pequeños, sí. Para cargas grandes (estufas, calentadores, motores) no te acerques al límite: usa contactores adecuados y consulta a un electricista.

Top comments (0)