Relé de estado sólido de 4 canales con Arduino
Esta guía del proyecto demuestra cómo controlar un módulo de relé de estado sólido (SSR) de 4 canales usando un Arduino. Esta configuración te permite encender y apagar hasta cuatro cargas de CA independientes, como bombillas o pequeños electrodomésticos, sin contactos mecánicos ni sonidos de clic audibles. Esto es ideal para automatizar la iluminación del hogar, crear tomas de corriente inteligentes, construir paneles de control industrial o gestionar elementos de calentamiento de manera segura y silenciosa. Al final de esta guía, entenderás el hardware, el cableado y el código necesarios para llevar tus propios proyectos de control de CA a la vida.

Componentes de hardware
- Arduino Uno (o placa compatible)
- Módulo de relé de estado sólido de 4 canales (basado en OMRON G3MB-202P)
- 4 bombillas de CA u otras cargas de CA (dentro de la capacidad del módulo)
- Cables de puente (se recomiendan conectores Dupont)
- Cable y enchufe de corriente alterna (para la carga)
- Placa de pruebas (opcional, para prototipos)
Guía de cableado
Antes de comenzar, es fundamental recordar que estás trabajando con voltaje peligroso de CA de red. Siempre desconecta la energía antes de realizar cualquier conexión. Nunca toques el módulo o sus conexiones mientras esté alimentado. Coloca el módulo sobre una superficie no conductora, como plástico o madera, para evitar cortocircuitos. (en el video a las 00:32)
El cableado para este proyecto es sencillo. El módulo tiene dos lados: un lado de control de bajo voltaje y un lado de carga de alto voltaje. En el lado de control, encontrará los pines DC+ y DC- para la alimentación, y cuatro pines de entrada etiquetados como CH1, CH2, CH3 y CH4. Estos están conectados al Arduino de la siguiente manera:
- DC+a Arduino5V
- DC-a ArduinoGND
- CH1al pin digital de Arduino2
- CH2al pin digital de Arduino3
- CH3al pin digital de Arduino4
- CH4a pin digital de Arduino5
En el lado de carga, cada canal de relé tiene dos terminales de tornillo. Para conectar una carga, debes cortar uno de los cables de tu fuente de alimentación de CA y conectar los dos extremos a estos terminales. El relé actúa como un interruptor, conectando o desconectando el circuito. (en el video a las 04:12) Para cada una de las cuatro cargas, conectarás sus dos cables a los terminales del canal correspondiente. El diagrama a continuación ilustra esta configuración, con los pines de Arduino a la izquierda y las cargas de CA conectadas a la derecha.

Explicación del código
El código de Arduino proporcionado para este proyecto está diseñado para ser fácil de configurar. Las partes clave configurables por el usuario están en la parte superior del boceto. (en el video a las 06:12)
Primero, defines los pines conectados al módulo de relé:
int ssr[]={2,3,4,5}; // Arduino pin numbers used for SSRA continuación, debes configurar el tipo de disparador para que coincida con tu módulo específico. El código es compatible con módulos de activación alta y baja. Si no estás seguro de qué tipo tienes, verifica la etiqueta en el módulo o en su listado de productos. (en el video a las 06:48)
int triggerType = HIGH;// type LOW if low trigger and HIGH if high trigger SSR is usedFinalmente, puedes ajustar el tiempo de retraso predeterminado utilizado en el bucle de demostración:
int wait = 2000;// delay timeEl código incluye una función personalizada,contrlSSR(), que simplifica el control de cada relé. Para usarlo, necesitas proporcionar tres parámetros: el número del relé (1-4), la acción (ssrONossrOFF), y la duración en milisegundos para mantener ese estado. Por ejemplo,contrlSSR(1, ssrON, 5000);encenderá el relé 1 durante 5 segundos. Esta función maneja la lógica de traducir sus comandos de alto nivel en las señales digitales correctas para su tipo de activador específico. (en el video a las 08:58)
Demostración de Proyecto en Vivo
En la demostración, el código se ejecuta primero para mostrar una secuencia básica de encendido/apagado para un único canal. Puedes ver el LED en el módulo encenderse a medida que la bombilla de AC correspondiente se enciende. (en el video a las 12:31) Luego, el código se modifica para demostrar el control de múltiples canales en secuencia, encendiéndolos y apagándolos uno por uno. Esto resalta la flexibilidad de la configuración para crear varios patrones de automatización. (en el video a las 12:51) Finalmente, se utiliza un bucle para recorrer los cuatro canales, encendiendo cada uno y luego apagándolo en secuencia. (en el video a las 13:12)
Capítulos
- [00:00] Introducción al Proyecto SSR de 4 Canales
- [00:32] Advertencias de seguridad para trabajar con CA
- [01:10] Comprendiendo las Especificaciones del Módulo SSR
- [02:18] Pines de módulo y conectores
- [04:12] Preparando y conectando cargas de CA
- [05:34] Conectar el módulo al Arduino
- [06:12] Configuración y Explicación del Código
- [08:58] Usando la función contrlSSR()
- [12:31] Demostración y Prueba en Vivo
- [14:01] Conclusión y Recursos Adicionales
++
/*
* This is code to control 4-channel Solid State Relay (SSR) modules using Arduino.
* Written by Ahmad Shamshiri for Robojax.com
* on January 11, 2019 at 21:03 in Ajax, Ontario, Canada.
Watch instruction video for this code: https://youtu.be/Rfaz5qOLKYQ
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
* This code has been downloaded from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
int ssr[]={2,3,4,5}; // Arduino pin numbers used for SSR
int triggerType = HIGH;// type LOW if low trigger and HIGH if high trigger SSR is used
int wait = 2000;// delay time
int ssrON, ssrOFF;// used for two different SSR trigger type. Do not change
void setup() {
Serial.begin(9600);// prepare Serial monitor
// set pins as output
if(triggerType)
{
ssrON = HIGH;
ssrOFF = LOW;
}else{
ssrON = LOW;
ssrOFF = HIGH;
}
for(int i=0; i < 4; i++)
{
pinMode(ssr[i], OUTPUT);// sent i(th) pin as output
digitalWrite(ssr[i], ssrOFF); // Turn the SSR OFF
}
Serial.println("Robojax 4 SSR ");
}
void loop() {
// this is just a demo
for(int i=0; i < 4; i++)
{
contrlSSR(i+1, ssrON, 2000); // turn SSRs one by one ON
}// for loop
for(int i=0; i < 4; i++)
{
contrlSSR(i+1, ssrOFF, 1000); // turn SSRs one by one OFF
}// for loop
contrlSSR(1, ssrON, 2000); // turn SSR1 ON for 2 seconds
contrlSSR(2, ssrON, 3000);// turn SSR2 ON for 3 seconds
contrlSSR(4, ssrON, 2000);// turn SSR4 ON for 2 seconds
contrlSSR(1, ssrOFF, 0); // turn ssr1 OFF
contrlSSR(4, ssrOFF, 0);// turn ssr4 OFF
contrlSSR(2, ssrOFF, 0);// turn ssr2 OFF
delay(2000);
Serial.println("====== loop done ==");
}// loop
/*
* contrlSSR turns OFF or ON SSR
* January 11, 2019
* @param is an integer, SSR number starts with 1
* @param control should be ssrON or ssrOFF
* @param wait is a number in milliseconds.
*
*/
void contrlSSR(int number, int control, int wait)
{
if(control == HIGH)
{
Serial.print("SSR "); Serial.print(number);Serial.println(" ON");
digitalWrite(ssr[number-1], ssrON); // Turn the SSR ON
delay(wait);
}else{
Serial.print("SSR "); Serial.print(number);Serial.println(" OFF");
digitalWrite(ssr[number-1], ssrOFF); // Turn the SSR OFF
delay(wait);
}
}
Cosas que podrías necesitar
-
AmazonasSolid State relay on Amazonamzn.to
-
eBay
-
AliExpressSolid State relay 1ch 2ch 4ch and 8ch on AliExpresss.click.aliexpress.com
-
AliExpressSolid State relay 1ch 2ch 4ch and 8ch on AliExpress-2s.click.aliexpress.com
Recursos y referencias
Aún no hay recursos.
Archivos📁
Archivo de Fritzing
-
Módulo de relé de estado sólido de alto nivel
Solid State High Level Relay Module .fzpz0.04 MB
Otros archivos
-
Hoja de datos para el relé de estado sólido GM3B
robojax-solid-state-relay_G3MB.pdf0.31 MB