Grove - 4通道单刀双掷继电器
单刀双掷(SPDT)继电器在某些应用中非常有用,因为它有一个公共端子和两个触点,非常适合在两个选项之间进行选择。Grove - 4通道SPDT继电器具有四个单刀双掷(SPDT)开关。它只需要低电压和低电流信号来控制这些开关。具体来说,您可以使用5V直流电来控制最大250V交流电或110V直流电。 I2C地址是可变的,因此您可以在同一个项目中使用多个继电器模块。Grove - 4通道SPDT继电器具有四个单刀双掷(SPDT)开关。它只需要低电压和低电流信号来控制这些开关。具体来说,您可以使用5V直流电来控制最大250V交流电或110V直流电。
我们使用板载的STM32F030F4P6微控制器来单独控制通道。来自Arduino或其他板卡的指令通过I2C接口进行传输,板载的STM32F030F4P6将解析这些指令,从而让您能够控制您想要控制的开关。
预读
如果您对Grove继电器模块是什么以及继电器的工作原理不熟悉,强烈建议您提前阅读相关内容。请访问我们下方的 博客 以获取详细信息:
产品特性
- 高温耐受塑料外壳
- 高电压负载
- 低功耗
- 耐用性强
- 可选I2C地址
- 0x00 ~ 0x7F
规格参数
项目 | 值 |
---|---|
工作电压 | 5V |
额定线圈电流 | 89.3mA |
TUV认证负载 | 10A 250VAC/ 10A 30VDC |
UL认证负载 | 10A 125VAC 28VDC |
最大允许电压 | 250VAC/110VDC |
功率消耗 | 约 0.45W |
接触电阻 | 最大 100mΩ |
绝缘电阻 | 最小 100MΩ (500VDC) |
最大开关频率 | 30 次/分钟 |
环境温度 | -40°C 至 +85°C |
工作湿度 | 45% 至 85% 相对湿度 |
触点材料 | AgCdO |
输入接口 | I^2^C |
默认I²C地址 | 0x11 或 0x12 |
可选I²C地址 | 0x00 ~ 0x7F |
输出接口 | 3针DIP母螺丝端子-绿色 |
:::提示 对于负载参数,我们提供了两组认证数据。实际上,最大负载为10A 250VAC/10A 30VDC. :::
应用领域
- 家用电器
- 办公设备
- 遥控电视接收器
- 显示器
- 音频设备的高冲击电流使用应用
入门指南
支持的平台
Arduino | 树莓派 | |||
---|---|---|---|---|
:::警告 上述提及的支持平台只是表示模块的软件或理论上的兼容性。在大多数情况下,我们只提供针对Arduino平台的软件库或代码示例。我们无法为所有可能的MCU平台提供软件库/演示代码。因此,用户需要自行编写软件库。 :::
玩转Arduino
硬件
所需材料
Seeeduino V4.2 | Base Shield | Grove - 4-Channel SPDT Relay |
---|---|---|
立即获取 | 立即获取 | 立即获取 |
:::注意
* 请轻轻插入USB线,否则可能会损坏端口。请使用内部有4根线的USB线,2根线的电缆无法传输数据。如果您不确定您手头的线缆是几根线,可以点击[这里](https://www.seeedstudio.com/Micro-USB-Cable-48cm-p-1475.html),查看我们的官方推荐USB线产品。
* 购买每个Grove模块时都会附带一根Grove电缆。如果您不慎丢失了Grove电缆,可以点击 [这里](https://www.seeedstudio.com/Grove-Universal-4-Pin-Buckled-20cm-Cable-%285-PCs-pack%29-p-936.html) 进行购买。
:::
硬件概述
Seeeduino | Grove - 4通道单刀双掷继电器 |
---|---|
5V | 红色 |
GND | 黑色 |
SDA | 白色 |
SCL | 黄色 |
引脚映射
步骤 1. 将 Grove - 4通道单刀双掷继电器连接到基础底板的I²C端口。
步骤 2. 将 Grove - 基础底板插入 Seeeduino。
步骤 3. 通过USB线将 Seeeduino 连接到电脑。
软件
:::注意 如果您是第一次使用Arduino,我们强烈建议您在开始之前先查看 Arduino 入门指南 before the start. :::
步骤 1. 从Github下载 Multi_Channel_Relay_Arduino 库。
步骤 2. 参考 如何安装库 为Arduino安装库。
步骤 3. 重启Arduino IDE。通过以下路径打开示例:文件 --> 示例 --> Multi Channel Relay Arduino 库 --> four_channel_relay_control。
或者,您只需点击代码块右上角的图标 ,即可将以下代码复制到Arduino IDE中的新草图中。
#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);
}
:::注意 库文件可能会更新。此代码可能不适用于更新的库文件,因此我们建议您使用第一种方法。 :::
步骤 4. 上传示例代码。如果您不知道如何上传代码,请查看如何上传代码的说明。
步骤 5. 在Arduino IDE中,通过点击工具->串口监视器来打开串口监视器。或者同时按下++ctrl+shift+m++键。
:::提示 如果一切顺利,您将看到结果。同时,您将看到板载LED灯交替亮起和熄灭。 :::
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
:::提示 如果一切顺利,Grove - 4通道单刀双掷继电器将按以下方式工作。 :::
功能描述
功能 | 描述 |
---|---|
changeI2CAddress(uint8_t old_addr, uint8_t new_addr) | 改变设备地址 old_addr 当前地址是; new_addr 这是您想要使用的地址。只有输入正确的旧地址,新地址才能成功设置。 |
scanI2CDevice() | 获取 old_addr (current address) |
getChannelState() | 获取每个通道的状态,例如“状态:1111”,这表示所有继电器都已打开。 |
getFirmwareVersion() | 获取烧录在板载MCU中的固件版本 |
channelCtrl(uint8_t state) | 要立即更改您选择的所有通道, 状态参数列表: CHANNLE1_BITor 0x01 CHANNLE2_BIT or 0x02 CHANNLE3_BIT or 0x04 CHANNLE4_BIT or 0x08 例如 channelCtrl(CHANNLE2_BIT|CHANNLE3_BIT),将打开通道2和通道3 channelCtrl(01|02|08), 将打开通道1、通道2和通道4。 channelCtrl(0), 将关闭所有通道。 |
turn_on_channel(uint8_t channel) | 开启单个通道。 例如 turn_on_channel(3), 将打开通道3。 |
turn_off_channel(uint8_t channel) | 关闭单个通道。 e.g. turn_off_channel(3), 将关闭通道3。 |
如果您想要更改地址,您需要在使用之前设置地址。例如,我们想要将其更改为0x2f。我们可以使用以下代码。
#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();
}
常见问题解答
Q1: 如何烧录固件?
A1: 我们建议您使用J-Link烧录器和WSD接口来烧录固件。
您可以在此处下载固件:
我们推荐您使用J-Flash软件来进行操作:
在线原理图查看器
:::注意
由于ST32系列芯片全球缺货,价格已经上涨数倍,且交货日期不明确。我们别无选择,只能改用MM32芯片。具体替换型号如下:STM32F030F4P6TR被替换为MM32F031F6P6。芯片更换后,产品功能、特性、使用方法和代码保持不变。需要注意的是,固件版本已经更改,且出厂固件已根据不同芯片进行了调整。如果需要重新烧录固件,请下载与芯片相对应的固件。 :::
资源
- [Zip] Grove-4通道单刀双掷(SPDT)继电器 eagle 文件
- [Bin] STM32F030F4P6TR固件
- [Bin] MM32F031F6P6固件
- [PDF] SRD 05VDC-SL-C 继电器数据手册
- [PDF] S9013数据手册
- [PDF] STM32数据手册
- [PDF] MM32F031F6P6_数据手册.pdf
项目
这是该产品的介绍视频,包括简单的演示,您可以尝试观看一下。
家庭自动化与监控:基于RSL10 Sense DB的系统,可以通过智能手机应用程序和Alexa监控和控制温度、湿度和光照强度。
Grove - 4通道SPDT继电器:嘿,Seekers们!!!这是我们#newproductsTuesday系列的第二周。在这个视频中,我们将展示我们的新产品——Grove - 4通道SPDT继电器,并为大家带来一个有趣且酷炫的演示。
技术支持与产品讨论
感谢您选择我们的产品!我们在此为您提供全方位的支持,以确保您在使用我们的产品时获得尽可能流畅的体验。我们提供多种沟通渠道,以满足不同用户的偏好和需求。