Arduino通讯模块-Arduino 2.4G 无线程序下载模块
外 观
概 述
- 传统的Arduino系列产品程序下载方式分为两种,一种是通用的ISP方式下载;另一种是通过USB数据线,利用单片机内部的bootloader引导程序进行串行编程。
- 但是随着产品应用范围的拓广,很多时候需要一种无线的编程方式,比如应用场合不便连接USB线缆或根本就无法连接(如机器鱼等机器人)。
- Wireless Programming Module就可以在一定距离范围内实现对Arduino无线程序下载。
- 除支持Arduino无线下载程序之外,模块还可以用作通用的无线数传模块(UART接口)。
- 模块目前可以通过兼容XBee模块的扩展板来实现对Arduino全系列控制器,在一定距离范围内进行无线编程。
性能描述
工作电源:DC 2.7-3.6V,推荐值3.3V
工作电流:10mA(供电电压3.3V)
工作温度范围 :-30~+70℃
无线频率:2.4-2.5GHz
接口类型:UART
支持波特率:1200/2400/4800/9600/14400/19200/28800/38400/57600/115200,默认:57600
传输距离:室外无遮挡20米
寄存器描述
模块的是通过写寄存器的方式进行配置的,接下来详细介绍每个寄存器的功能及注意事项。
1.端口波特率寄存器(Baud Rate)
- 模块支持的波特率为:1200/2400/4800/9600/14400/19200/28800/38400/57600/115200。
- 现以波特率设置方式来阐述所有寄存器和发送字符的关系,单片机实际工作时的波特率由三个寄存器来确定。
- 由于所有的指令操作为字符型,为了方便记忆和操作,将波特率拆成6个字符,如115200,拆成“11”“52”“00”(设置时写“0”亦可,以下类同);1200(,拆成“00”“12”“00”,每两个字符代表对应寄存器中的实际数值,这样做的原因是用户可以不用去记忆实际波特率与参数的对应关系,记住自己常用的波特率,拆成6个字符发送即可。
2.器件地址寄存器(Module ID)
- 器件地址由5个字节的数据组成,可以通过地址的区分,来实现多模块间下载不受干扰(经过实际验证)。
- 如果在实际的环境中区分器件地址不是很可靠的话,可以再对不同的模块设置不同的载波频率。
3.载波频率寄存器(Frequency)
- 此无线模块载波频率可以在2.4-2.5GHz范围内调节,载波频率寄存器的最大值为125,单位调节频率为0.0008GHz。
- 一对模块载波频率相同才能通讯。
4.空中波特率寄存器(Air Rate)
- 空中波特率只能设置为3种模式,250K/1M/2M(bps)
5.时限设置寄存器(Timeout)
- 在Arduino系列产品无线程序下载应用中,时限设置非常讲究,目前:bootloader中波特率设置为19200的,时限设置设为10;波特率设置为57600和115200的,时限设置设置为20。
下面以Arduino客户端软件0021版本为例,列出不同控制板波特率和时限的设置:
控制板型号 | 波特率设置 | 时限设置 |
Arduino Uno | 115200 | 20 |
Arduino Duemilanove or Nano w/ ATmeg328 | 57600 | 20 |
Arduino Diecimila,Duemilanove,or Nano w/ ATmega168 | 19200 | 10 |
Arduino Mega (ATmega1280) | 57600 | 20 |
Arduino Mini | 19200 | 10 |
Arduino Fio | 57600 | 20 |
Arduino BT w/ ATmega328 | 19200 | 10 |
Arduino BT w/ ATmega168 | 19200 | 10 |
LilyPad Arduino w/ ATmega328 | 57600 | 20 |
LilyPad Arduino w/ ATmega168 | 19200 | 10 |
Arduino Pro or Pro Mini (5V,16MHz) w/ ATmega328 | 57600 | 20 |
Arduino Pro or Pro Mini (5V,16MHz) w/ ATmega168 | 19200 | 10 |
Arduino Pro or Pro Mini (3.3V,8MHz) w/ ATmega328 | 57600 | 20 |
Arduino Pro or Pro Mini (3.3V,8MHz) w/ ATmega168 | 19200 | 10 |
Arduino NG or older w/ ATmega168 | 19200 | 10 |
Arduino NG or older w/ ATmega8 | 19200 | 10 |
注意:本产品不支持mega2560!
指令集描述
- 为方便操作,此模块仅有四条指令,寄存器需要一一配置,不能一次性配置所有寄存器。
- 在进行模块设置时,应将模块上的拨码开关1:MODE拨向左端(ON),此时红色LED亮,拨码开关2:PROG_EN拨向右端(此开关为厂家编程使用,用户禁止使用),模块参数配置结束后,MODE拨码开关1需要拨向右端,使能无线收发模式。
1.ATENTER\r\n
ATENTER:查询指令,查看模块配置信息。
\r\n:回车换行符。
eg:如图所示
2.ATEXIT\r\n
ATEXIT:复位指令,软件复位模块,使能之前所有设置。
\r\n:回车换行符。
eg:如图所示
3.ATEEPW[],[]\r\n
ATEEPW:写寄存器指令,对指定寄存器进行写操作。
[]:寄存器序号。
[]:配置参数。
\r\n:回车换行符。
eg1:将模块的波特率设置为9600
ATEEPW1,0\r\n //对寄存器1写入00
ATEEPW2,96\r\n //对寄存器2写入96
ATEEPW3,0\r\n //对寄存器3写入00
Eg2:将模块的空中波特率改为1M
ATEEPW10,1\r\n //对寄存器10写入1
4.ATEEPR[]\r\n
ATEEPR:读寄存器指令,对指定寄存器进行读操作 。
[]:寄存器序号。
\r\n:回车换行符。
eg:读取寄存器1的值
ATEEPW1\r\n //读寄存器1
设置软件的使用
- 使用模块配的设置软件进行系统参数配置。设置软件界面如下:
1.首先是选择COM端口,使用xbee适配器或其他USB-TTL模块连接模块,可以到设备管理器中查看到COM端口号.
2.然后Com Port选对应的端口号。
3.最后点Read(使用该软件时必须先读取一次模块),软件会自动扫描模块并读出模块的各个参数信息。
- 如果是用于Arduino程序下载,那么就可以选择下拉菜单中的Arduino硬件版本,然后点Write。写操作完成后,即可使用了。如下图所示:
- 如果只用于普通的无线数据传输,那么就单独设置波特率、频率等参数即可。如下图所示:
- 选择完毕后,点Write写入即可使用。
模块应用实例
应用领域
- 机器人等需要完全密封的装置,无线编程为调试带来方便。
- 多彩水晶吊灯的控制板,你完全可以把这个吊灯挂在天花板后通过无线下载的方式更改程序来改变灯光组合。你的杰作将不需要拆开就能编程,也不用漏出丑陋的下载接口。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号