Grove - Relé SPDT de 4 Canales

El relé SPDT (Single Pole Double Throw) es bastante útil en ciertas aplicaciones porque tiene un terminal común y 2 contactos que son excelentes para seleccionar entre dos opciones. El Grove - Relé SPDT de 4 Canales tiene cuatro interruptores de polo simple - doble tiro (SPDT). Solo requiere señales de bajo voltaje y baja corriente para controlar esos interruptores. Específicamente, puedes usar 5V DC para controlar máx. 250V AC o 110V DC. La dirección I2C es cambiable para que puedas usar múltiples módulos de relé en el mismo proyecto. El Grove - Relé SPDT de 4 Canales tiene cuatro interruptores de polo simple - doble tiro (SPDT). Solo requiere señales de bajo voltaje y baja corriente para controlar esos interruptores. Específicamente, puedes usar 5V DC para controlar máx. 250V AC o 110V DC.
Usamos un STM32F030F4P6 integrado para controlar los canales por separado. El comando de Arduino u otras placas se transmite a través de la interfaz I2C, el STM32F030F4P6 integrado analizará el comando, para que puedas controlar el interruptor que desees.
Lectura previa
Se recomienda encarecidamente leer una introducción de Qué es un Módulo de Relé Grove y Cómo funciona un Relé si no estás familiarizado con ellos. Por favor visita nuestro blog a continuación para información detallada:
Características
- Carcasa de plástico resistente a altas temperaturas
- Carga de alto voltaje
- Bajo consumo de energía
- Larga duración
- Dirección I2c opcional
- 0x00 ~ 0x7F
Especificaciones
Elemento | Valor |
---|---|
Voltaje de trabajo | 5V |
Corriente Nominal de Bobina | 89.3mA |
Carga con Certificación TUV | 10A 250VAC/ 10A 30VDC |
Carga con Certificación UL | 10A 125VAC 28VDC |
Voltaje Máximo Permitido | 250VAC/110VDC |
Consumo de Energía | aprox. 0.45W |
Resistencia de Contacto | 100mΩ Máx. |
Resistencia de Aislamiento | 100MΩ Mín. (500VDC) |
Máx. Conmutación ON/OFF | 30 operaciones/min |
Temperatura Ambiente | -40°C a +85°C |
Humedad de Operación | 45% a 85% h.r. |
Material de Contacto | AgCdO |
Interfaz de Entrada | I^2^C |
Dirección I^2^C por Defecto | 0x11 o 0x12 |
Dirección I^2^C Disponible | 0x00 ~ 0x7F |
Interfaz de salida | Terminal de Tornillo Hembra DIP de 3 Pines-Verde |
Para el parámetro de carga, proporcionamos dos conjuntos de datos de certificación. En realidad, la carga máxima es 10A 250VAC/10A 30VDC.
Aplicaciones
- Electrodomésticos
- máquina de oficina
- Receptor de TV con control remoto
- pantalla de monitor
- equipo de audio aplicación de uso de alta corriente de arranque
Primeros Pasos
Plataformas Compatibles
Arduino | Raspberry Pi | |||
---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
Las plataformas mencionadas anteriormente como compatibles son una indicación de la compatibilidad de software o teórica del módulo. Solo proporcionamos biblioteca de software o ejemplos de código para la plataforma Arduino en la mayoría de los casos. No es posible proporcionar biblioteca de software / código de demostración para todas las plataformas MCU posibles. Por lo tanto, los usuarios tienen que escribir su propia biblioteca de software.
Jugar con Arduino
Hardware
Materiales requeridos
Seeeduino V4.2 | Base Shield | Grove - Relé SPDT de 4 Canales |
---|---|---|
![]() | ![]() | ![]() |
Obtener Uno Ahora | Obtener Uno Ahora | Obtener Uno Ahora |
-
Por favor conecta el cable USB con cuidado, de lo contrario podrías dañar el puerto. Por favor usa el cable USB con 4 cables en su interior, el cable de 2 cables no puede transferir datos. Si no estás seguro sobre el cable que tienes, puedes hacer clic aquí para comprar.
-
Cada módulo Grove viene con un cable Grove cuando lo compras. En caso de que pierdas el cable Grove, puedes hacer clic aquí para comprar.
Descripción General del Hardware

Si no tenemos Grove Base Shield, también podemos conectar directamente este módulo a Seeeduino como se muestra a continuación.
Seeeduino | Grove - 4-Channel SPDT Relay |
---|---|
5V | Rojo |
GND | Negro |
SDA | Blanco |
SCL | Amarillo |
Mapa de Pines


- Los interruptores 1-4 tienen la misma función de pin, por lo que para los otros interruptores, puedes referirte a NC1/COM1/NO1.
- En la parte posterior de la PCB, hay dos interfaces: SWD e I^2^C. La interfaz SWD se usa por defecto al programar firmware, si quieres usar el I^2^C (que en realidad funciona como UART de arranque), debes configurar el BOOT en Alto.
-
Paso 1. Conecta el Grove - 4-Channel SPDT Relay al puerto I^2^C del Base Shield.
-
Paso 2. Conecta el Grove - Base Shield al Seeeduino.
-
Paso 3. Conecta el Seeeduino a la PC mediante un cable USB.
Software
Si esta es la primera vez que trabajas con Arduino, te recomendamos encarecidamente que veas Getting Started with Arduino antes de comenzar.
-
Paso 1. Descarga la librería Multi_Channel_Relay_Arduino desde Github.
-
Paso 2. Consulta How to install library para instalar la librería para Arduino.
-
Paso 3. Reinicia el IDE de Arduino. Abre el ejemplo a través de la ruta: File --> Examples --> Multi Channel Relay Arduino Library --> four_channel_relay_control.

O, puedes simplemente hacer clic en el icono en la esquina superior derecha del bloque de código para copiar el siguiente código en un nuevo sketch en el IDE de Arduino.
#include <multi_channel_relay.h>
Multi_Channel_Relay relay;
void setup()
{
Serial.begin(9600);
while(!Serial);
/* Scan I2C device detect device address */
uint8_t old_address = relay.scanI2CDevice();
if((0x00 == old_address) || (0xff == old_address)) {
while(1);
}
Serial.println("Start write address");
relay.changeI2CAddress(old_address, 0x11); /* Set I2C address and save to Flash */
Serial.println("End write address");
/* Read firmware version */
Serial.print("firmware version: ");
Serial.print("0x");
Serial.print(relay.getFirmwareVersion(), HEX);
Serial.println();
}
void loop()
{
/**
* channle: 8 7 6 5 4 3 2 1
* state: 0b00000000 -> 0x00 (all off)
* state: 0b11111111 -> 0xff (all on)
*/
/* Begin Controlling Relay */
Serial.println("Channel 1 on");
relay.turn_on_channel(1);
delay(500);
Serial.println("Channel 2 on");
relay.turn_off_channel(1);
relay.turn_on_channel(2);
delay(500);
Serial.println("Channel 3 on");
relay.turn_off_channel(2);
relay.turn_on_channel(3);
delay(500);
Serial.println("Channel 4 on");
relay.turn_off_channel(3);
relay.turn_on_channel(4);
delay(500);
relay.turn_off_channel(4);
relay.channelCtrl(CHANNLE1_BIT |
CHANNLE2_BIT |
CHANNLE3_BIT |
CHANNLE4_BIT);
Serial.print("Turn all channels on, State: ");
Serial.println(relay.getChannelState(), BIN);
delay(2000);
relay.channelCtrl(CHANNLE1_BIT |
CHANNLE3_BIT);
Serial.print("Turn 1 3 channels on, State: ");
Serial.println(relay.getChannelState(), BIN);
delay(2000);
relay.channelCtrl(CHANNLE2_BIT |
CHANNLE4_BIT);
Serial.print("Turn 2 4 channels on, State: ");
Serial.println(relay.getChannelState(), BIN);
delay(2000);
relay.channelCtrl(0);
Serial.print("Turn off all channels, State: ");
Serial.println(relay.getChannelState(), BIN);
delay(2000);
}
El archivo de biblioteca puede actualizarse. Este código puede no ser aplicable al archivo de biblioteca actualizado, por lo que recomendamos que uses los primeros métodos.
-
Paso 4. Sube la demostración. Si no sabes cómo subir el código, por favor consulta Cómo subir código.
-
Paso 5. Abre el Monitor Serie del IDE de Arduino haciendo clic en Herramienta-> Monitor Serie. O presiona las teclas ++ctrl+shift+m++ al mismo tiempo.
Si todo va bien, obtendrás el resultado. Mientras tanto, verás los LEDs de la placa encenderse y apagarse alternativamente.
Scanning...
I2C device found at address 0x12 !
Found 1 I2C devices
Start write address
End write address
firmware version: 0x1
Channel 1 on
Channel 2 on
Channel 3 on
Channel 4 on
Turn all channels on, State: 1111
Turn 1 3 channels on, State: 101
Turn 2 4 channels on, State: 1010
Turn off all channels, State: 0
Channel 1 on
Channel 2 on
El Grove - 4-Channel SPDT Relay funcionará como se muestra a continuación si todo va bien.

No agregamos carga en esta demostración, si quieres verificar cómo agregar carga, por favor consulta el Grove - 2-Channel SPDT Relay.
Descripción de funciones
Función | Descripción |
---|---|
changeI2CAddress(uint8_t old_addr, uint8_t new_addr) | cambia la dirección del dispositivo, el old_addr es la dirección actual; el new_addr es la dirección que quieres usar. La nueva dirección solo se puede establecer exitosamente ingresando la dirección antigua correcta. |
scanI2CDevice() | obtiene el old_addr (dirección actual) |
getChannelState() | obtiene el estado de cada canal, por ejemplo "State: 1111", lo que significa que todos los relés están encendidos |
getFirmwareVersion() | obtiene la versión del firmware grabada en el MCU de la placa |
channelCtrl(uint8_t state) | para cambiar inmediatamente todos los canales que seleccionaste, la lista de parámetros de estado: CHANNLE1_BITo 0x01 CHANNLE2_BIT o 0x02 CHANNLE3_BIT o 0x04 CHANNLE4_BIT o 0x08 ej. channelCtrl(CHANNLE2_BIT|CHANNLE3_BIT),encenderá el canal 2, canal 3 channelCtrl(01|02|08), encenderá el canal 1, canal 2 y canal 4. channelCtrl(0), apagará todos los canales. |
turn_on_channel(uint8_t channel) | para encender un solo canal. ej. turn_on_channel(3), encenderá el canal 3 |
turn_off_channel(uint8_t channel) | para apagar un solo canal. ej. turn_off_channel(3), apagará el canal 3 |
En caso de que quieras cambiar la dirección, necesitas establecer la dirección antes de usar. Por ejemplo, queremos cambiarla a 0x2f. Podemos usar el siguiente código.
#include <multi_channel_relay.h>
Multi_Channel_Relay relay;
void setup()
{
Serial.begin(9600);
while(!Serial);
/* Scan I2C device detect device address */
uint8_t old_address = relay. ;
if((0x00 == old_address) || (0xff == old_address)) {
while(1);
}
Serial.println("Start write address");
relay.changeI2CAddress(old_address,0x2f); /* Set I2C address as 0x2f and save it to the EEPRom */
Serial.println("End write address");
/* Read firmware version */
Serial.print("firmware version: ");
Serial.print("0x");
Serial.print(relay.getFirmwareVersion(), HEX);
Serial.println();
}
FAQ
P1: ¿Cómo grabar el firmware?
R1: Recomendamos que uses el grabador J-Link y la interfaz WSD para grabar el firmware.
Puedes descargar el firmware aquí:
Recomendamos que uses J-flash para el software:
Visor de Esquemas en Línea
Debido a que los chips de la serie ST32 están agotados globalmente, los precios han aumentado varias veces y no hay una fecha de entrega clara. No tenemos más opción que cambiar al chip MM32. Los modelos de reemplazo específicos son los siguientes: STM32F030F4P6TR es reemplazado por MM32F031F6P6. Después del reemplazo del chip, las funciones del producto, características, métodos de uso y códigos permanecen sin cambios. Cabe señalar que la versión del firmware ha cambiado, y el firmware de fábrica ha sido ajustado según los diferentes chips. Si necesitas volver a grabar el firmware, por favor descarga el firmware correspondiente al chip.
Recursos
- [Zip] Archivos eagle de Grove-4-Channel SPDT Relay
- [Bin] STM32F030F4P6TR-Firmware
- [Bin] MM32F031F6P6-Firmware
- [PDF] Hoja de datos del Relé SRD 05VDC-SL-C
- [PDF] Hoja de datos del S9013
- [PDF] Hoja de datos del STM32
- [PDF] MM32F031F6P6_Datasheet.pdf
Proyecto
Este es el video de introducción de este producto, demostraciones simples, puedes intentarlo.
Automatización y Monitoreo del Hogar: Un sistema basado en RSL10 Sense DB que puede monitorear y controlar la temperatura, humedad e intensidad de luz mediante una aplicación de smartphone y Alexa.
Grove - 4-Channel SPDT Relay: ¡¡¡Hola Seeekers!!! Esta es la segunda semana de nuestro segmento #newproductsTuesday. Habrá una presentación del producto de nuestro nuevo Grove - 4-Channel SPDT Relay en este video y también una demostración genial e interesante.
Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.