无线模块让Arduino更自由.docx
《无线模块让Arduino更自由.docx》由会员分享,可在线阅读,更多相关《无线模块让Arduino更自由.docx(15页珍藏版)》请在冰豆网上搜索。
无线模块让Arduino更自由
无线模块让Arduino更自由
导读:
Arduino的简单宜用,使得更多的人能够将自己想法变成现实,但仅仅依靠Arduino是不够的,各种各样的外围模块也是必不可少的。
上期杂志为大家介绍了Arduino的部分传感器模块,它们可以构成以Arduino开发板为基础的机器人的器官世界,本期笔者整理了4种应用于Arduino..
Arduino的简单宜用,使得更多的人能够将自己想法变成现实,但仅仅依靠Arduino是不够的,各种各样的外围模块也是必不可少的。
上期杂志为大家介绍了Arduino的部分传感器模块,它们可以构成以Arduino开发板为基础的机器人的器官世界,本期笔者整理了4种应用于Arduino开发板的无线模块,它们是APC220、DFduinowireless、BluetoothV3和XBee1mw,4种模块均可直接插在Xbee传感器扩展板V5(曾在2010年第11期及上一期《无线电》杂志中介绍过)上使用。
就让我们以遥控小车为应用平台,走近这几种无线模块吧。
应用平台
先来简单介绍一下无线模块的应用平台——遥控小车。
这款遥控小车也是基于Arduino设计制作的,它通过接收无线模块的命令来决定运行轨迹,程序流程见图2所示。
程序写好后,先在PC上用串口调试工具验证一下小车是否能按流程图做出动作,然后就可以接入无线模块了。
图1 基于Arduino的遥控小车 图2 遥控小车的程序流程图
APC220
APC220模块是一款半双工微功耗无线数据传输模块,提供多个频道的选择,具有丰富便捷的软件编程设置功能,可设置7种速率和3种接口校验方式,对外为UART/TTL接口。
传输距离可达到1000m(开阔地可视距离)。
模块的设置通过本身的UART/TTL接口完成,所以在计算机端需要连接USBTOUART/TTL接口转换板(图3中最下面带有USB接口的小板子)。
将两个模块设置好后,就可以使用了。
1.将一个APC220模块连接到遥控小车上,见图4。
2.将另一个APC220模块通过USBTOUART/TTL接口转换板连接到PC上,见图5。
3.或者将另一个模块连接到基于Arduino的遥控器上。
遥控器上有一个摇杆,改变摇杆的位置,遥控器就会发送一条控制命令,见图6。
4.通过遥控器或PC机发送命令就能够控制遥控小车了,见图7。
图3 APC220模块
图4 图5
图6 图7
DFduinowireless
在调试遥控小车的程序时,发现程序有问题,又觉得小车跑得太远不想过去拿,这个时候DFduinowireless模块就显示出它的优势了。
DFduinowireless模块除了可以像APC220模块一样进行无线数据传输外,其独有的无线编程模式非常适用于Arduino不便连接或根本就无法连接USB线缆的情况下,当对Arduino进行无线编程时,要注意模块的时限设置,具体设置值可以查看相关的技术手册。
模块上有两个拨码开关,分别用于设置模块的模式和出厂编程模式。
DFduinowireless模块可设置10种速率,但其传输距离较短,室外理论传输距离为20m。
其用法与APC220模块类似。
图8 DFduinowireless模块 图9
BluetoothV3
BluetoothV3模块基于蓝牙通信协议研制,自带高效板载天线,信号质量好,可与各种蓝牙适配器、蓝牙手机配对使用,使我们可以用手机控制小车。
BluetoothV3蓝牙模块通过USBtoSerial模块进行简单设置后就可以“上岗”了,这里我们重点讲讲如何使用Andriod系统的智能手机控制遥控小车。
A.在PC上通过USBtoSerial模块对BluetoothV3蓝牙模块进行设置,见图10。
图10
B.将设置好的BluetoothV3蓝牙模块连接到遥控小车上,见图11。
图11
C.先用PC机通过蓝牙控制遥控小车,见图12。
图12
D.选择一部Android系统的手机,安装Amarino软件。
运行Amarino软件后能够搜索到蓝牙设备Bluetooth_V3,选择connet按钮,见图13。
图13
E.打开遥控小车电源,在手机上输入指令就可以控制遥控小车了,见图14。
图14
F.在Amarino软件上能够实时查看到手机发送的数据。
另外软件内有许多的Event可以选择,比如我们选择CompassSensor,手机就会发送罗盘数据,可以编写一个程序通过手机的方向来控制小车的速度,见图15。
还有更多的应用读者可以自己去尝试。
图15
XBee1mw
XBee1mw模块的点对点传输距离为100m,但它的强大之处在于多个模块可以形成一个多跳的自组织Zigbee网络(基于IEEE802.15.4协议),在网络中的各个节点均可移动,网络的拓扑结构也会随着节点的移动而不断地动态变化,有兴趣的读者可以查看Zigbee应用的相关文章和资料。
PC上使用X-CTU就可轻易地对模块进行设置,合理地应用XBee1mw模块,就可以实现多个设备的远距离控制。
图16 XBee1mw模块
图17 Zigbee网络的拓扑结构
最后,我们将4种无线模块进行简单地对比,大家可以挑选适合自己的模块应用到自己的Arduino项目中。
其实还有很多基于Arduino的外围模块让开发变得更加简单,有兴趣的读者可以多关注一下。
APC220
DFduinowireless
BluetoothV3
XBee1mw
工作频率(bit/s)
433M
2.4G
2.4G
2.4G
调制方式
GFSK
GFSK
GFSK
Q-QPSK
工作电压
3.3V~5.5V
2.7V~3.6V
3.5V~8V或3.3V/50mA
2.8V~3.4V
工作温度
-20℃~70℃
-30℃~70℃
-20℃~55℃
-40℃~85℃
接口
UART/TTL
UART/TTL
UART/TTL
UART/TTL
传输距离(开阔地)
1000m
20m
20m
100m
特点
传输距离较远
无线程序下载
与手机配对使用
组网通信
关键词:
无线 模块 Arduino 自由