Arduino蓝牙模块实现通讯

蓝牙参数特色git

1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可经过该脚状态判断蓝牙是否已经链接编程

2.led指示蓝牙链接状态,闪烁表示没有蓝牙链接,常亮表示蓝牙已链接并打开了端口函数

3.输入电压3.6~6V,未配对时电流约30mA,配对后约10mA,输入电压禁止超过7V!oop

4.能够直接链接各类单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接链接测试

5.在未创建蓝牙链接时支持经过AT指令设置波特率、名称、配对密码,设置的参数掉电保存。蓝牙链接之后自动切换到透传模式ui

6.体积 3.57cm*1.52cm调试

7.该蓝牙为从机,从机能与各类带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、Android、PDA、PSP等智能终端配对,从机之间不能配对。对象

Arduino 与蓝牙模块链接方法接口

VCC:接Arduino的5V。
GND:接Arduino的GND。开发

TXD:发送端,通常表示为本身的发送端,接Arduino的RX。
RXD:接收端,通常表示为本身的接收端,接Arduino的TX。
正常通讯时候自己的TXD永远接设备的RXD!正常通讯时RXD接其余设备的TXD,

接下来就是写程序了。为了测试通信,PC经过无线链接向arduino发送一个字符't',arduino收到后闪一下灯,并向PC反馈一个字符串"echo"。程序以下:

const int ledpin = 13;

const int pinRx = 0;

const int pinTx = 1; 

void setup()

{

Serial.begin(9600);

pinMode(ledpin, OUTPUT);

}

void loop()

{

int val = Serial.read();

if (val == 't')

{

digitalWrite(ledPin, HIGH);   // set the LED on

delay(500);

digitalWrite(ledpin, LOW);

delay(500);

Serial.println("echo");

}

}

  相对上一个程序,这里面有些新的东西,就是串口对象Serial,这个对象对应于0,1接口的串口设备;固然,其余3个串口也有对应的串口对象,名字分别为Serial1, Serial2, Serial3。编程参考能够看这个连接:http://arduino.cc/en/Reference/Serial。这里使用的对象接口函数很简单,Serial.begin(波特率),用于初始化串口并指定通信的波特率;Serial.read()是从串口的接收缓冲区中读出一个字符,若是没有,返回-1;Serial.println(字符串)用于输出一个带回车符的字符串。须要提一下的是,arduino的第一个串口和FTDI USB-to-TTL串口芯片相接,也就是说这个串口设备能够经过USB线链接PC。

  程序写完,就能够上传运行了。蓝牙模块背面有2个灯,分别是power和state,通电后power就亮了,state灯却一直闪烁,这是由于蓝牙尚未链接。PC端这时需打开蓝牙管理,而后搜寻新的设备,会找到一个叫linvor的蓝牙设备。打开,这个设备只有一个蓝牙串口。点右键链接,跳出配对密码输入框,输入密码"1234"便可。链接完成后,能够看到蓝牙模块上的state灯长亮了,这代表链接正常,就能够进行通信了。

  既然是通信,PC端也要有个基于串口的通信程序。除了使用arduino开发环境自带的Serial Monitor,本身也能够找一个流行的。咱是懒人,就用开发环境自带的好了,反正应用很简单,这个程序也够用了。点击开发环境最右面Serial Monitor那个图标,就跳出下面这个界面。不过要注意,在TOOL菜单下的COM选择,应该是对应蓝牙串口所用的那个串口编号,而不是USB的,不然,呵呵,就不是蓝牙无线通信而是USB串口通信了。

  最后补充一下,蓝牙模块的信息是能够经过AT命令来进行改动的,缺省状况下,蓝牙设备名是"linvor", 通信波特率为9600,配对密码为"1234"。具体说明以下:

  经过串口与电脑链接,再经过串口调试助手给模块发送命令能够配置模块的一些参数,

具体的配置方式以下:

1)、测试通信:发送AT 命令,返回ok

2) 更改波特率

模块默认的波特率是9600

发送AT BAUD1 返回OK1200

发送AT BAUD2 返回OK2400

……

BAUD1------------1200

BAUD2------------2400

BAUD3------------4800

BAUD4------------9600

BAUD5------------19200

BAUD6------------38400

BAUD7------------57600

BAUD8------------115200

BAUD9------------230400

A--------------------460800

B--------------------921600

C--------------------1382400

不建议使用超过115200 的波特率,由于大多系统都没有提供高

于115200 的波特率,PC 机也是如此,波特率设置超过115200 之后,

电脑没法使用,要使用波特率高于115200 的系统才能从新发AT 命令

设置低的波特率,不然没法恢复低波特率了。

用AT 命令设置好波特率后,下次上电不须要再设置,掉电能够

保存波特率。

3)更改蓝牙名字

发送:AT NAMEname

返回:OKname

参数name:你所要设置的名字,也就是蓝牙被搜索到的名字,

20 个字符之内。

例:发送AT NAMEJYOO

返回返回JYOO

参数能够掉电保存,只需设置一次

4)更改蓝牙配对密码

发送:AT PINXXXX

返回:OKsetpin

参数XXXX:所需设置的密码4 位,只需更改一次,掉电保存。

相关文章
相关标签/搜索