解决方案 >>首页 >> 解决方案

Arduino扩展板使用之无线数传篇

作者:管理员 发表时间:2009-6-24 16:53:05 阅读:

Arduino扩展板使用之无线数传篇 

XBee无线通信模块是Arduino官方推荐的基于ZigBee技术的2.4G无线数传,不过鉴于我们不方便购买和性价比,和所以就推荐国内的一款433MHz的无线数传(APC220)来代替XBee,同样APC220也通过Arduino的串行接口Tx和Rx引脚进行通信,不过APC220只能进行点对点通讯。下面先介绍一下APC220的特性和参数配置。

(1)。APC220的指标特性:

1. 工作频率 431MHz to 478MHz (1KHz步进)

2. 调制方式 GFSK

3. 频率间隔 200KHz

4. 发射功率 20mw (10级可调)

5. 接收灵敏度 -117dBm@1200bps

6. 空中传输速率 1200 - 19200bps

7. 接口速率 1200 - 19200bps

8. 接口效验方式 8E1/8N1/8O1

9. 接口缓冲空间 512bytes

10. 工作湿度 10%~90%(无冷凝)

11. 工作温度 -20℃ - 70℃

12. 电源 3.3 – 5.5V (±50mV 纹波)

13. 发射电流 ≦35mA@10mW

14. 接收电流 ≦30mA

15. 休眠电流 ≦5uA

16. 传输距离 1000米传输距离 (开阔地可视距离)

17. 尺寸 39mm x 19mm x 2.8mm

(2)。APC220的上位机软件:APC220 Test Mate

(3)。USB转接器的使用:

    用USB转接器连接电脑使用APC220伴侣设置参数,由于USB转接器上没有标注引脚功能,所以容易导致我们将APC插错位,请看下图的红色标记,避免连接错误。USB转接器插到电脑上需要安装驱动程序,安装驱动大家应该比较熟练了吧,我就不多讲了,这里有驱动下载地址

    按上图的接法接好后,插到PC的USB口上,然后打开APC伴侣软件。

    选择PC Series,软件将会识别到硬件,设置发射频率(RF frequency)范围431MHz - 478MHz ,空中波特率(RF TRx rate)推荐设置为19200bps,串口波特率(Series rate)根据要求设置,这里设置为19200bps,其余参数默认即可,最后点Write W,完成设置(1对APC220需要配置一样)。

(4)。APC与扩展板的配合:

   系统连接如图:

    APC220无线数传插到Arduino扩展板后,注意串口选择插针的位置,插针需要拔掉。如图:

讲到这里,我们就可以用代码来验证了。代码如下: 

int ledPin = 13;
int val;

void setup()
{
  pinMode(ledPin, OUTPUT);
  Serial.begin(19200);
}

void loop()
{
  // receive data
  val = Serial.read();
  if (-1 != val) {
    if ('A' == val) {
      digitalWrite(ledPin, HIGH);
      delay(500);
      digitalWrite(ledPin, LOW);
      delay(500);
    }
  }
}

     PC端,用Arduino IDE的串口监视器发送一个字母A,该字母会被APC模块通过无线网络发送出去。

    Arduino端,另外一个APC模块接收到字母A,通过Serial.read()函数从APC模块读取接收到的数据,判断如果是字母A的话,则点亮发光二极管。

    注意,下载代码到A板时,请拔掉APC220,因为它要占用串口,导致下载失败。

以上孙工转自于原创http://www.roboticfan.com/blog/user_2005/1229/archives/2008/20081110211649.shtml

苏先生
向先生
谢先生
杨小姐
陈小姐
giodano