Arduino通过蓝牙模块HC-06连接Android手机并且串口输出显示
目录
实验效果
使用HC06蓝牙模块和Android手机实现蓝牙连接,在APP上发送数据,通过PC上的Arduino IDE串口监视器查看接收到的数据
元件说明
HC-06是一款常用的低功耗蓝牙串行通信模块,广泛应用于短距离无线通信领域。它可以很容易地与Arduino或其他微控制器连接,实现蓝牙无线通信。
HC-06模块特点包括:
- 串行通信接口,使用简单的串行指令就能进行配置。
- 支持蓝牙2.0协议。
- 工作频率为2.4GHz ISM频段。
- 默认波特率为9600bps,但可以配置。
- 工作电压通常在3.3V至6V之间。
- 能够作为从设备与蓝牙主设备(如智能手机)进行配对。
使用HC-06模块时,通常需要先通过AT指令设置模块的名称、密码等参数,然后就可以进行数据的发送和接收了。在实际应用中,它可以用于远程控制项目,如无线遥控车、智能家居系统等。
通过手机进行通信是可以实现很多遥控功能,虽然距离是比较短,一般是10米,但对于我这种新手做测试,比起买一个几百块的多通道遥控器成本要低很多。
这次使用的是蓝牙HC-06从模块,就是从机模块,这都因为买之前没有问清楚什么叫从什么叫住。所以在这解释一下,如有错误请指正。谢谢
HC-05是主从模块,能做主机,从机。
HC-06是从模块,只能做从机。
主机可以与从机配对,
从机不能和从机配对。
如果要两个单片机通信,那就至少一个是有主机功能的,要是两个都是从机是通信不了的。
其他型号说明:
- HC03工业级主从
- HC04工业级从
- HC05民用级主从
- HC06民用级从
资料上写,HC06空旷的传输距离是10米。买的时候要搞清楚自己的需求了。
引脚说明
HC-06蓝牙模块通常有以下几个主要引脚,它们的功能如下:
-
VCC:电源正极接口,用于给模块供电。一般需要连接3.3V至6V的直流电源。
-
GND:电源负极接口,用于接地。
-
TXD(Transmit Data):发送数据引脚,用于将数据从HC-06发送到微控制器的RX(接收)引脚。
-
RXD(Receive Data):接收数据引脚,用于接收来自微控制器TX(发送)引脚的数据。
-
STATE:状态引脚,可用于指示蓝牙模块的连接状态。当有设备与HC-06成功配对并连接时,该引脚会输出高电平。
BOM
- 蓝牙模块 HC06 x1
- arduino uno x1
- 安卓手机 x1
接线图
Arduino 引脚 | <-> | HC06 引脚 |
---|---|---|
5V | <-> | VCC |
GND | <-> | GND |
1 | <-> | TXD |
0 | <-> | RXD |
完整程序
这是一个非常简单测试程序,主要是当串口有数据,并且是'A'的情况下,则num加1,并在也在串口中显示出来。
int num = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
while(Serial.available())
{
char c=Serial.read();
if(c=='A')
{
num++;
Serial.print("Hello:num=");
Serial.println(num);
}
}
}
把程序上传到Arduino Uno
手机开始测试
1,安装测试用的蓝牙APP
安卓APP: Amarino_2_v0_55
下载地址:http://code.google.com/p/amarino/downloads/detail?name=Amarino_2_v0_55.apk&can=2&q=
amarino 主页:http://www.amarino-toolkit.net/
2,打开APP 可以搜索到蓝牙模块
3,进行蓝牙模块的配对
进行连接的时候会提示进行配对,输入1234就可以了,如果不行可以试试0000
配对成功后,蓝牙模块的LED灯也变成了常亮。
然后点击右下角的Monitoring按钮。
4,发送数据
在输入框中输入A
,按Send,则可发送数据给Arduino Uno
5,在串口监视器中查看
程序实现就是,接受到数据并且为A
,则num+1,在APP中多发送几次则显示不断累积的num数据。