怎样使用Arduino设置蓝牙HC-05

电子说

1.3w人已加入

描述

步骤1:模块

观察交换机顶端板上的微小开关,我们将使用它将电路板置于AT命令模式。 - 详情请见:http://exploreembedded.com/wiki/Setting_up_Bluetooth_HC-05_with_Arduino#sthash.IDzTy4yN.dpuf

第2步:引脚功能:

引脚说明Statel可以连接到Arduino输入,以便了解连接的状态。配对或断开连接。 Rx cReceive模块的Pin。建议使用分离器中所示的分压器。 Tx可以直接连接到连接到Arduino 5v的GND引脚的Arduino Rx引脚GND这个分线板上有一个内部3.3v稳压器。

步骤3:简单数据传输示例

我们将从一个非常简单的示例开始,在HC-05和智能手机之间建立串行连接并发送/接收消息。您可以将示例转发到控制设备或记录您希望的任何数据。

第4步:连接:

蓝牙

我们将使用Arduino的引脚10和11来连接HC-05并使用SoftwareSerial库与模块通信。 arduino上的硬件串口用于从计算机向Arduino发送/接收消息。

建议模块Rx线上的分压器确保模块不接收3.3v以上的信号。在实际应用中,如果需要硬件中断,可能需要使用HW串口本身连接蓝牙模块。

步骤5:代码:

这可能是测试支持串口通信的所有设备的最简单代码。它只是简单地将计算机终端和HC-05连接在一起。代码将消息从终端发送到蓝牙模块,并将消息从蓝牙模块发送到终端。

#include

SoftwareSerial EEBlue(10,11);//RX | TX

void setup()

{

Serial.begin(9600);

EEBlue.begin(9600);//comm的默认波特率,可能与您的模块不同。 Serial.println(“蓝牙门打开。 n从任何其他蓝牙设备连接到HC-05,配对密钥为1234!”);

}

void loop ()

{

//将任何数据从蓝牙传送到终端。 if(EEBlue.available())Serial.write(EEBlue.read());

//将所有数据从termial提供给蓝牙if(Serial.available())EEBlue.write(Serial.read ());

}

第6步:演示:

蓝牙

蓝牙

蓝牙

蓝牙

有许多Android应用程序可以将手机连接到蓝牙模块。我用蓝牙终端将它连接到HC-05。

步骤7:串行终端输出

蓝牙

Arduino终端上显示的输出。通过这种方式,我们建立了一个蓝牙链接,通过电话将消息从HC-05发送到Arduino。

步骤8:使用AT命令进行配置:

如前所述,您可能希望配置模块以设置各种设备名称,传递代码,波特率等。要完成所有这些操作,首先需要将模块置于AT命令模式。

步骤9:AT命令模式:

我们有一个带有开关的分线板,如第一张图所示,为此模块执行步骤如下:

从模块端断开+ 5v线,如上图中的钩图所示。

按住开关(不要释放它!)。

重新连接+ 5v连接。

现在松开开关,呼吸一下。观察模块上的LED每两秒钟开始闪烁一次,比正常断开模式慢。

将以下代码上传到Arduino。

#include

SoftwareSerial EEBlue(10,11);//RX | TX

void setup()

{

Serial.begin(9600); EEBlue.begin(38400);//命令模式的波特率。 Serial.println(“输入AT命令!”);

}

void loop()

{

//Feed any从蓝牙到终端的数据。

if(EEBlue.available())

Serial.write(EEBlue.read());

//将所有数据从termial提供给bluetooth

if(Serial.available())

EEBlue.write(Serial.read());

}

请注意,代码中唯一的变化是波特率。这是模块在命令模式下说话的速率。我们不需要改变终端上的任何东西,因为我们仍然在9600波特与Arduino说话。

步骤10:

蓝牙

打开终端命中AT,检查模块是否回送OK!

责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分