如何在Arduino中增加蓝牙的波特率?

时间:2016-04-19 15:19:26

标签: bluetooth arduino embedded

我正在Arduino做一个项目,并希望我的Android上有传感器数据。为此,我在Android上使用HC-05 BT模块和蓝牙终端应用程序。但蓝牙终端正在以恒定速率接收数据(我认为是1秒)。我希望以10毫秒的速度接收数据。我怎样才能做到这一点?

这是我的代码:

#include <SoftwareSerial.h>

int RX=0;
int TX=1;

SoftwareSerial Bluetooth(RX,TX);
int i=0;

void setup() {
    Bluetooth.begin(9600);
    Bluetooth.println("The controller has successfuly connected to the phone");
}

void loop() {
    Bluetooth.write(i);
    i++;
    delay(5);  
}

4 个答案:

答案 0 :(得分:1)

您可以使用AT命令更改HC-05的波特率。

使用:

    AT+UART=57600,1,0

这是一个tutorial

答案 1 :(得分:1)

如果是完整代码,则发送不打印的字符。并且在你得到i = 127之后,你将从ascii表的上部发送字符。并且想想当我> 255时会发生什么。在循环中尝试此代码:

Bluetooth.println("this is test code")

而不是写Bluetooth.write(i);

您可以获得有关ASCII 的更多信息以及有关Serial.printSerial.write

的更多信息

答案 2 :(得分:1)

来自here

  

蓝牙模块波特率由十六进制索引设置   '1'到'C'。索引是:1:1200,2:2400,3:4800,4:9600,5:19200,   6:38400,7:57600,8:115200,9:230400,A:460800,B:921600,C:1382400

     

要设置默认波特率,请输入此命令

     

AT +波特率

     

例如对于multiwii,我们需要115200作为BT波特率   输入AT + BAUD8。

     

如果成功,您应该在串行监视器中返回“OK”。

答案 3 :(得分:0)

您可以使用AT命令更改HC-06的波特率

#include <SoftwareSerial.h>
SoftwareSerial btSerial(2, 3); // RX, TX
/*
* Connect pin 2 Arduino to pin TX HC-06 
* Connect pin 3 Arduino to pin RX HC-06
*/ 
void setup() {
Serial.begin(9600);
Serial.println("Enter AT commands:");
btSerial.begin(9600);
}
void loop()
{
if (btSerial.available())
Serial.write(btSerial.read());
if (Serial.available())
btSerial.write(Serial.read());
}

AT

AT + BAUD4 ==> 9600

AT + BAUD8 ==> 115200