¿Qué vamos a hacer?
¡Lleva tus proyectos a un nuevo nivel de control! Con el Módulo Relé de 5V y 2 Canales de tu kit, tu ESP32-C3 SuperMini podrá encender y apagar dispositivos que funcionan con voltajes y corrientes mucho mayores, como una lámpara, un ventilador, o incluso un electrodoméstico (¡siempre con las precauciones adecuadas!).
Al final de este tutorial, serás capaz de:
- Entender qué es un relé y cómo funciona para controlar cargas de alta potencia de forma segura.
- Conectar el módulo relé a tu ESP32-C3 SuperMini.
- Controlar el estado de un relé (encender/apagar) mediante un botón, simulando el control de un dispositivo externo.
- (Opcional): Integrar el relé con un sensor (como el PIR o el LDR de tutoriales anteriores) para automatizar el encendido/apagado.
¡ADVERTENCIA IMPORTANTE DE SEGURIDAD!
Los relés permiten controlar circuitos que pueden operar con voltajes peligrosos (como la corriente alterna de la red eléctrica, 220V en Chile). ¡Siempre trabaja con la electricidad de la red con EXTREMA PRECAUCIÓN y, si no estás seguro, busca la ayuda de un adulto o un profesional calificado! Para este tutorial, utilizaremos una carga de bajo voltaje (un LED) controlada por el relé, para demostrar el funcionamiento de manera segura sin manipular directamente la corriente de la red eléctrica.
Requisitos Previos:
Antes de comenzar, asegúrate de tener lo siguiente:
- ESP32-C3 SuperMini (1 unidad)
- Módulo Relé 5V 2 Canales (1 unidad)
- Protoboard de 830 puntos (1 unidad)
- LED (1 unidad, como carga de demostración segura)
- Resistencia de 220 Ohm (para el LED)
- Botón Interruptor (1 unidad, para control manual, del Tutorial 1)
- Cables Dupont F-M y M-M
- IDE de Arduino con la plataforma ESP32 instalada y configurada (Tutorial 0).
Actividad 1: Entendiendo y Controlando un Relé con un Botón
Dificultad: Media
Objetivo: Conectar un canal del módulo relé a tu ESP32-C3 y usar un botón para activarlo y desactivarlo, controlando un LED como carga de bajo voltaje.
Descripción: Esta actividad te introducirá en el mundo de los relés. Aprenderás a conectarlo y a usar un botón para conmutar su estado, simulando el encendido y apagado de un dispositivo de forma segura.
Materiales que necesitas:
- ESP32-C3 SuperMini
- Módulo Relé 5V 2 Canales
- LED
- Resistencia de 220 Ohm
- Botón Interruptor
- Cables Dupont
- Protoboard
¿Qué es un Módulo Relé?
Un relé es un interruptor electromecánico. Funciona como un puente que se abre o se cierra para permitir o bloquear el flujo de corriente en un circuito, pero lo hace de una manera muy especial:
El relé, a su vez, puede conmutar un circuito separado que maneja alta potencia (ej. 220V AC o 12V DC).
Tu ESP32-C3 controla el relé con una señal de baja potencia (ej. 3.3V).
Esto es fundamental por seguridad: tu ESP32-C3 y tú nunca entran en contacto directo con el alto voltaje. El relé aísla completamente los dos circuitos.
Los módulos de relé suelen tener pines de control (VCC, GND, INx) y terminales de conmutación (NC, NO, COM).
- VCC y GND: Alimentación para el relé (normalmente 5V, tu ESP32-C3 puede proporcionarlos).
- INx (Input): Este es el pin de control digital. Cuando tu ESP32-C3 envía una señal a este pin (ALTA o BAJA, dependiendo del relé), el relé cambia de estado.
- NC (Normally Closed – Normalmente Cerrado): La carga está conectada a este terminal y al
COM
. Por defecto (sin activar el relé), el circuito está CERRADO y pasa corriente. - NO (Normally Open – Normalmente Abierto): La carga está conectada a este terminal y al
COM
. Por defecto (sin activar el relé), el circuito está ABIERTO y no pasa corriente. - COM (Common – Común): Este es el pin común al que conectas un lado de tu carga.
Para la mayoría de los proyectos, conectamos el dispositivo a los pines NO y COM, de modo que el relé enciende el dispositivo cuando se activa.
Conexión del circuito (Módulo Relé con Botón y LED como Carga Segura):
¡Siempre trabaja con la ESP32-C3 SuperMini desconectada del computador al hacer conexiones!
Configuración del Relé:
VCC
del Módulo Relé a5V
en tu ESP32-C3 (el ESP32-C3 SuperMini suele tener un pin de 5V).GND
del Módulo Relé aGND
en tu ESP32-C3.IN1
(o cualquierINx
disponible) del Módulo Relé aGPIO 7
en tu ESP32-C3.
Configuración del Botón (revisa el Tutorial 1 para más detalles):
- Una patilla del Botón a
GPIO 10
en tu ESP32-C3. - La patilla opuesta del Botón a
GND
. - ¡Importante! Usaremos la resistencia
pull-up
interna de la ESP32-C3 para este botón en el código, así evitamos añadir una resistencia física.
Configuración del LED (como carga de demostración segura):
- Conecta el polo positivo de una batería de 3V o 5V (o el pin
3.3V
de tu ESP32-C3 si la carga es pequeña y temporal) al terminalCOM
de tu relé. - Conecta el terminal
NO
(Normally Open) de tu relé a la patilla larga (ánodo) de tu LED. - La patilla corta (cátodo) de tu LED a una Resistencia de 220 Ohm.
- El otro extremo de la Resistencia de 220 Ohm a la patilla negativa de tu batería o a
GND
de la ESP32-C3 (si usas su 3.3V).- Nota: Para la simulación en Wokwi, conectaremos directamente el
COM
a 3.3V y elNO
al LED, que se conecta a GND.
- Nota: Para la simulación en Wokwi, conectaremos directamente el
Esquemático y Simulación en Wokwi:
Observa cómo se conectan el relé, el botón y el LED. Haz clic en la imagen para abrir la simulación en Wokwi. Podrás presionar el botón virtual y ver cómo el relé se activa y el LED se enciende.
Código para la Actividad 1:
Utilizaremos la función digitalWrite()
para controlar el relé y digitalRead()
para el botón.
// Define los pines para el relé y el botón #define RELAY_PIN GPIO_NUM_7 // Pin para controlar el relé #define BUTTON_PIN GPIO_NUM_10 // Pin para leer el botón void setup() { Serial.begin(115200); Serial.println(F("Control de Relé con Botón Iniciado.")); pinMode(RELAY_PIN, OUTPUT); // El pin del relé es una salida // ¡Importante! La mayoría de los módulos relé se activan con LOW (señal invertida) // Siempre verifica la documentación de tu módulo relé. digitalWrite(RELAY_PIN, HIGH); // Apaga el relé al inicio (HIGH para relés que activan con LOW) pinMode(BUTTON_PIN, INPUT_PULLUP); // El pin del botón como entrada con resistencia pull-up interna // Esto significa que el botón estará HIGH si no se presiona, y LOW al presionarse. } void loop() { // Lee el estado del botón. Usamos INPUT_PULLUP, así que LOW significa presionado. if (digitalRead(BUTTON_PIN) == LOW) { // Si el botón está presionado // Enciende el relé (poniendo el pin en LOW si el relé es de activación invertida) digitalWrite(RELAY_PIN, LOW); Serial.println(F("Boton PRESIONADO: Relé ACTIVADO (LED ON).")); delay(500); // Pequeño retardo para evitar múltiples lecturas al presionar } else { // Apaga el relé (poniendo el pin en HIGH si el relé es de activación invertida) digitalWrite(RELAY_PIN, HIGH); // Serial.println(F("Boton SUELTO: Rele DESACTIVADO (LED OFF).")); // Esto saturaría el serial } }
Actividad 2: Automatizando el Relé con un Sensor (LDR)
Dificultad: Alta
Objetivo: Controlar el encendido y apagado del relé automáticamente usando el módulo LDR (del Tutorial 4), simulando una luz que se enciende al anochecer.
Descripción: Esta actividad te mostrará el poder de la automatización. Conectarás el módulo LDR para que, al detectar «oscuridad» (o un nivel de luz bajo que configures), el relé se active y encienda nuestro LED de demostración. Cuando haya luz, se apagará.
Materiales que necesitas:
- ESP32-C3 SuperMini
- Módulo Relé 5V 2 Canales
- LED y Resistencia de 220 Ohm (como carga segura)
- Módulo de Resistor Fotosensible (LDR) (del Tutorial 4)
- Cables Dupont
- Protoboard
Conexión del circuito:
¡Asegúrate de que tu ESP32-C3 SuperMini esté desconectada del computador!
- Conexiones Módulo Relé: (Las mismas que la Actividad 1)
VCC
del Relé a5V
GND
del Relé aGND
IN1
del Relé aGPIO 7
- Conexiones LED (Carga): (Las mismas que la Actividad 1)
- Positivo de batería/3.3V a
COM
del relé. NO
del relé a Ánodo del LED.- Cátodo del LED a Resistencia 220 Ohm a
GND
.
- Positivo de batería/3.3V a
- Conexiones Módulo LDR: (Revisa la Actividad 2 del Tutorial 4)
VCC
del LDR a3.3V
GND
del LDR aGND
DO
(Salida Digital) del LDR aGPIO 5
en tu ESP32-C3.- ¡Importante! Asegúrate de ajustar el potenciómetro azul en tu módulo LDR para que su salida
DO
cambie aHIGH
(oLOW
, dependiendo de cómo lo leas) cuando el nivel de luz sea el deseado para activar el relé.
Esquemático y Simulación en Wokwi:
Aquí verás cómo se conectan el relé, el LED y el módulo LDR. Haz clic en la imagen para abrir la simulación en Wokwi y observa cómo la luz del LDR virtual controla el encendido/apagado del LED a través del relé.
// Define los pines para el relé y el LDR #define RELAY_PIN GPIO_NUM_7 // Pin para controlar el relé #define LDR_DOUT_PIN GPIO_NUM_5 // Pin para leer la salida digital (DO) del módulo LDR void setup() { Serial.begin(115200); Serial.println(F("Sistema de Luz Automatica (LDR + Rele) Iniciado.")); pinMode(RELAY_PIN, OUTPUT); // El pin del relé es una salida digitalWrite(RELAY_PIN, HIGH); // Asegura que el relé esté APAGADO al inicio (HIGH para relés que activan con LOW) pinMode(LDR_DOUT_PIN, INPUT); // El pin del LDR como entrada } void loop() { // Lee el estado digital del módulo LDR int ldrState = digitalRead(LDR_DOUT_PIN); // Lógica de control: // Si el LDR detecta "oscuridad" (ldrState == HIGH, asumiendo configuración de módulo) // enciende el relé (poniendo el pin en LOW si es de activación invertida) if (ldrState == HIGH) { // Si el módulo LDR indica "oscuridad" digitalWrite(RELAY_PIN, LOW); // Activa el relé (enciende el LED) Serial.println(F("Luz Baja Detectada: Relé ACTIVADO (LED ON).")); } else { // Si el LDR detecta "claridad" (ldrState == LOW) digitalWrite(RELAY_PIN, HIGH); // Desactiva el relé (apaga el LED) Serial.println(F("Luz Suficiente Detectada: Relé DESACTIVADO (LED OFF).")); } delay(500); // Pequeña pausa para evitar cambios rápidos y saturación del serial }