**【整理与体验】 一克拉**
* * * * *
学习地址:
http://blog.csdn.net/xieyan0811/article/details/56011999
蓝牙模块与Android通讯
1、蓝牙模块用于手机-带蓝牙的设备通讯。主设备时,它查找和连接其它设备;从设备时只能被连接;通讯模式分透明传输和AT命令模式。
2、最好购买主、从一体的蓝牙模块。
3、Arduino、电脑、蓝牙模块通讯三者都使用串口TX/RX,同时操作时产生com口冲突,程序写入Arduino时要断开与蓝牙连接。
4、执行时要注意,Serial.println()会将内容输出到蓝牙的另一端,而不是在电脑端显示信息。
5、蓝牙的默认密码是0000或1234。
6、蓝牙模块HC-06,Arduino uno,Android手机,杜邦线
7连接方法:因各厂商硬件不同,引脚位置可能有差异
VCC:接Arduino的5V或者3.3V
GND:接Arduino的GND
TXD:发送端,接Arduino的RX T-R
RXD:接收端,接Arduino的TX R-T
8、千万注意,不能接错,若收发端与电源连接,会烧掉。
![](https://box.kancloud.cn/3e9f005b2f6b808c318080b5c653a831_453x357.jpg)
9、拔掉了Android上的TX线(也就是Arduino向蓝牙模块发数据的线),此时串口的输出可显示在电脑上。蓝牙向板子发信息,板子连接电脑。
10、不建议设置更高的波特率,通信会不稳定
11、AT模式下,可以通过串口对蓝牙模块进行一些诸如修改名称、密码的操作。 AT命令一定要大写,中间的+不可省略,AT+BAUD4 9600
12、蓝牙串口的软件,版本为5.4.3,图标为蓝底带大写字母SPP,使用这个软件可以正常地进行蓝牙串口通信。
* * * * *
### 【实例1】蓝牙模块简单连接测通
步骤:
1、连接Arduino,
2、写入程序。
3、进入串口,立即有:BT is ready! 字样返回。 连接成功
4、愉快地使用HC-06模块。
![](https://box.kancloud.cn/11b686f3ffb61391358be69b9138cf32_1714x1329.png)
* * * * *
#include <SoftwareSerial.h>
//使用软件串口,能将数字口模拟成串口
SoftwareSerial BT(8, 9); //新建对象,接收脚为8,发送脚为9
char val; //存储接收的变量
void setup() {
Serial.begin(9600); //与电脑的串口连接
Serial.println("BT is ready!");
BT.begin(9600); //设置波特率
}
void loop() {
//如果串口接收到数据,就输出到蓝牙串口
if (Serial.available()) {
val = Serial.read();
BT.print(val);
}
//如果接收到蓝牙模块的数据,输出到屏幕
if (BT.available()) {
val = BT.read();
Serial.print(val);
}
}
* * * * *
### 【实例2】 手机连接 Arduino 并控制 LED灯开关 ?
手机蓝牙连接,控制 Arduino 开关 LED 灯。
1、蓝牙模块连接
Arduino 上的 TXD 应与 HC05 模块上的 RXD 端连接,Arduino 上的 RXD 应与 HC05 模块上的 TXD 连接。
2、Arduino 与 LED 连接
在下面的图例中, LED 是直接连接在 Arduino Pin13 上,而实际电路连接中,因根据连接的 Led 灯的设计考虑是否需要串联电阻。
![](https://box.kancloud.cn/6c4e8731cbb3fb4af427955202b7e68b_1240x802.jpg)
3、Arduino 程序代码如下:
* * * * *
void setup()
{
// 设置波特率为 38400
Serial.begin(38400);
pinMode(13, OUTPUT);
}
void loop()
{
while(Serial.available())
{
char c=Serial.read();
if(c=='1')
{
Serial.println("BT is ready!");
// 返回到手机调试程序上
Serial.write("Serial--13--high");
digitalWrite(13, HIGH);
}
if(c=='2')
{
Serial.write("Serial--13--low");
digitalWrite(13, LOW);
}
}
}
* * * * *
### 【实例3】利用 Arduino IDE 串口监视器进行调试 ?
1、将 Arduino 断电,然后按着蓝牙模块上的黑色按钮,再让 Arduino 通电,如果蓝牙模块指示灯按2秒的频率闪烁,表明蓝牙模块已经正确进入 AT 模式。
打开 Arduino IDE 的串口监视器,选择正确的端口,将输出格式设置为 Both: NL & CR ,波特率设置为 38400 ,可以看到串口监视器中显示 BT is ready! 的信息。
然后,输入 AT ,如果一切正常,串口显示器会显示 OK。
接下来,我们即可对蓝牙模块进行设置,常用 AT 命令如下:
AT+ORGL # 恢复出厂模式
AT+NAME=<Name> # 设置蓝牙名称
AT+ROLE=0 # 设置蓝牙为从模式
AT+CMODE=1 # 设置蓝牙为任意设备连接模式
AT+PSWD=<Pwd> # 设置蓝牙匹配密码
1
2
3
4
5
正常情况下,命令发送后,会返回 OK ,如果没有返回任何信息,请检查接线是否正确,蓝牙模块是否已经进入 AT 模式,如果上述两点都没有问题,可能是蓝牙模块的问题,可以找蓝牙模块供应商咨询。
设置完毕后,断开电源,再次通电,这是,蓝牙模块指示灯会快速闪烁,这表明蓝牙已经进入正常工作模式。
- 第 1 节 【基础】认识Arduino
- 电子知识
- Arduino与图形编程软件结合使用
- 第 2 节 【基础】串口类串口并口
- 第 3 节 【基础】认识传感器
- 认识舵机
- 超声波传感器
- 认识蓝牙
- LCD1602屏显
- 光敏电阻传感器
- 第 4 节 【教程】Arduino示例教程模块版
- 第 5 节 【概述】电脑控制UNO板组件
- 第 6 节 【实例】光敏传感器与LED灯结合用(自控节能灯)
- 第 7 节 【实例】超声波测距及调试
- 第 8 节 【实例】点亮LED灯
- 第 9 节 【实例】可控舵机-电位器控制舵机
- 第 10 节 【实例】安卓手机控制Arduino单片机-蓝牙串口通讯
- 第 11 节 【实例】WIFI物联-贝壳物联网控制LED灯