Relay Shield for Arduino V2.1
目录
1 简介
2 产品参数
3 引脚说明
4 使用教程
4.1 连线图
4.2 样例一
4.2.1 结果
4.3 样例二
4.3.1 结果
5 疑难解答
6 更多
简介
DFRobot继电器扩展板在扩展传感器接口的同时,还能同时控制4个继电器模块,最大的开关功率高达90W(DC)或360VA(AC)。该模块不仅充分扩展了Arduino控制器的资源,而且能够与其他家用电器对接。高性能进口继电器能够在最大电流5A的条件下正常吸合10万次。吸合/释放时间只有5ms,能够对Arduino的控制信号做出快速的反应,实时控制电器的运行。另外,继电器采用了银合金的触点,保证电流畅通和元件的耐用性。
该扩展板具备14个3P数字端口和6个模拟端口,方便用户外接其他传感器和光电设备。接线柱提供外部7-12V(推荐9V)供电,解决了Arduino的5V电压无法驱动大电压元件的问题。
内置Xbee扩展接口便于用户通过无线通讯模块进行数据通讯,例如采用Xbee封装的蓝牙模块和Xbee模块等,并结合手机实现遥控。当然Xbee接口也能扩展DFRobot无线烧录模块或者Xbee模块来进行数据传输,从而完成智能家居之类的项目概念。
DFRobot继电器扩展板拥有独立外部电源供电和光耦隔离,有效避免被控器件的电磁干扰。充分保护您心爱的Arduino免受大电流电器的伤害。
注意::当用Xbee无线烧录程序时,请将接线柱边上的开关拨至PROG,防止端口冲突。运行Arduino时,拨回RGN.
另外,在接入高压电源模块时,请注意接线,避免短接造成设备损坏。
产品参数
外部供电电源电压:7~12V(>200mA)
继电器最大转换电压:240VAC/60VDC
继电器最大转换电流:5A
触点负载能力:1A 250VAC , 3A 120VA / 24VDC
无线输出接口:(串口)xbee / Bluetooth Bee / Wireless Programming Module
占用Arduino端口:(继电器)数字口2,7,810,(无线模块)数字口0,1
继电器数量:4
电子开关寿命:100,000次
工作温度:-30~85℃
尺寸:70x55mm
重量:165g
引脚说明
引脚
引脚状态:高
引脚状态:低
数字引脚2
NC1未与COM1连接
NO1与COM1连接
NC1与COM1连接
NO1未与COM1连接
数字引脚7
NC2未与COM2连接
NO2与COM2连接
NC2与COM2连接
NO2未与COM2连接
数字引脚8
NC3未与COM3连接
NO3与COM3连接
NC3与COM3连接
NO3未与COM3连接
数字引脚10
NC4未与COM4连接
NO4与COM4连接
NC4与COM4连接
NO4未与COM4连接
使用教程
连线图
样例一
byte relayPin[4] = {2,7,8,10};
//D2 -> RELAY1
//D7 -> RELAY2
//D8 -> RELAY3
//D10 -> RELAY4
void setup(){
for(int i = 0; i < 4; i++) pinMode(relayPin[i],OUTPUT);
}
// an sample to switch the 4 relays
void loop(){
int i;
for(i = 0; i < 4; i++) digitalWrite(relayPin[i],HIGH);
delay(1000);
for(i = 0; i < 4; i++) digitalWrite(relayPin[i],LOW);
delay(1000);
}
样例二
/*
This Sample code is for testing the Relay shield V2.1 for Arduino.
Editor : Phoebe
Date : 2013.2.28
Ver : 0.1
Product: Relay shield for Arduino
SKU : DRI0144
Hardwares:
- Arduino UNO
- Relay Shield For Arduino V2.1
3 Power Supply:7~ 12V
*/
byte relayPin[4] = {
2,7,8,10};
//D2 -> RELAY1
//D7 -> RELAY2
//D8 -> RELAY3
//D10 -> RELAY
char input=0;
int val;
void setup() {
for(int i = 0; i < 4; i++) pinMode(relayPin[i],OUTPUT);
Serial.begin(57600);
delay(100);
Serial.println("Press 1-4 to control the state of the relay");
Serial.println("waiting for input:");
for(int j = 0; j < 4; j++) digitalWrite(relayPin[j],LOW);
}
void loop() {
if (Serial.available())
{
char input= Serial.read();
if(input != -1)
{
switch(input)
{
case '1':
Serial.println("Relay1");
val=digitalRead(relayPin[0]);
val=!val;
digitalWrite(relayPin[0],val);
break;
case '2':
Serial.println("Relay2");
val=digitalRead(relayPin[1]);
val=!val;
digitalWrite(relayPin[1],val);
break;
case '3':
Serial.println("Relay3");
val=digitalRead(relayPin[2]);
val=!val;
digitalWrite(relayPin[2],val);
break;
case '4':
Serial.println("Relay4");
val=digitalRead(relayPin[3]);
val=!val;
digitalWrite(relayPin[3],val);
break;
default:
if(input != '\r' && input != '\n')
Serial.println("invalid entry");
break;
}
}
// else unablerelay();
}
}
疑难解答
更多问题及有趣的应用,请访问论坛
更多
Relay Shield 样例代码
Relay Shield 设计原理图
库安装