_SKU_DFR0259_RS485扩展板_RS485_Shield - jimaobian/DFRobotWikiCn GitHub Wiki
- RS485扩展板是专为Arduino控制器设计的,可方便的将串口转换为RS485接口。
- 板上集成标准接线柱和迷你RS485接口(PH2.0接口),引出RS485排针,让你用最方便的方式连接各种RS485设备。
- 扩展板具备焊接区域,方便您的DIY设计,充分利用扩展板上的空间。
- 自动和手动收发模式一键切换,扩展了应用范围。
- 板载运行/编程模式开关,拨到OFF时屏蔽扩展板,此时Arduino可烧写程序,避免反复插拔扩展板;ON处时,扩展板正常使用。
- 沉金工艺,既美观,又保证PCB质量。长脚镀金排针,接触良好,适应各种Arduino主控设备。
- 模块电源:+5.0V
- 模块尺寸:55mmx53mm
- 引出16个数字IO口(含一个I2C接口)
- 引出6个模拟IO口及电源
- 运行/编程模式开关
- 自动与手动收发模式切换开关(手动收发模式时,使能端是2号数字IO口)
- 收发指示灯
- 标准RS485接口、迷你RS485接口(PH2.0接口)、RS485排针
- 可焊接区域
- 复位开关
运行/编程模式开关:拨到OFF处,您可以为Arduino控制器下载程序。拨到ON处,扩展板将Arduino控制器的串口转化为RS485接口。 收发模式切换开关:拨到AUTO处,扩展板处于自动收发状态,您无需关心操作时序;拨到MANU处,扩展板处于手动收发状态,使能端为2号数字IO口,使能端高电平为发送状态,低电平为接收状态。
将RS485扩展板插在您的Arduino控制器上,然后用导线将RS485扩展板的接线端子与USB—RS485转换器的接线端子连接起来,即:A对A,B对B,GND对GND,然后下载以下实例代码(注意:下载代码时,运行/编程模式开关必须打到OFF处,否则会导致下载失败,下载完成后打到ON处,扩展板才能正常使用)。打开Arduino IDE的Serial Monitor,找到USB-RS485转换器对应的串口,发送字符“V”,可以看到LED灯状态会改变,并且回复“OK”。
自动收发模式
/*
# This sample codes is for testing the RS485 shiled(automatic transmission mode).
# Editor : YouYou
# Date : 2013.9.16
# Ver : 0.1
# Product: RS485 shield
# SKU : DFR0259
*/
int led = 13; //定义LED所在灯管脚
void setup()
{
Serial.begin(9600); //初始化串口
pinMode(led,OUTPUT);
}
void loop()
{
int temp; //串口数据临时缓存
if(Serial.available()) //如果串口接收到数据了
{
temp=Serial.read(); //暂存接收到的数据
if(temp=='V'){
digitalWrite(led,1-digitalRead(led)); //如果接收到的数据是字符“V”,则改变LED灯的状态
Serial.println("OK"); //回复OK,表示收到了字符“V”,并改变了LED的状态
}
}
}
手动收发模式
/*
# This sample codes is for testing the RS485 shiled(manual transmission mode).
# EN = 2;
# Editor : YouYou
# Date : 2013.9.16
# Ver : 0.1
# Product: RS485 shield
# SKU : DFR0259
*/
int led = 13; //定义LED所在灯管脚
int EN = 2; //定义RS485扩展板的使能端(2号数字IO口),高电平为发送状态,低电平为接收状态
void setup()
{
Serial.begin(9600); //初始化串口
pinMode(led,OUTPUT);
pinMode(EN,OUTPUT);
}
void loop()
{
int temp; //串口数据临时缓存
digitalWrite(EN,LOW); //使能端低电平,RS485扩展板等待接收数据
if(Serial.available()) //如果串口接收到数据了
{
temp=Serial.read();
if(temp=='V') //如果接收到的数据是字符“V”,则改变LED灯的状态
{
digitalWrite(led,1-digitalRead(led));
digitalWrite(EN,HIGH); //使能端高电平,RS485扩展板处于发送状态
Serial.println("OK"); //回复OK,表示收到了字符“V”,并改变了LED的状态
delay(10); //延时一段时间,等待数据发送完
}
}
}