使用Arduino Mega 2560配置蓝牙HC-05

时间:2014-05-18 05:05:39

标签: android bluetooth arduino

我无法理解,当我尝试配置和连接蓝牙与我的Android设备。 (我使用了lc-technology和Arduino Mega 2560的蓝牙HC-05) 我正在尝试将arduino和android连接到蓝牙,但它失败了。 这是arduino的代码

char incomingByte;  
int LED = 12;

void setup (){
    pinMode(LED, OUTPUT);
    Serial.begin(9600);
}
void loop(){
    if (Serial.available()){
        incomingByte = Serial.read();
        if(incomingByte == '1'){
            digitalWrite(LED, LOW);
        }
        if(incomingByte == '0'){
            digitalWrite(LED, HIGH);
        }
    }
}

我尝试将数据从蓝牙设备(我使用蓝牙终端和BlueTerm)发送到蓝牙Arduino并且从不给出响应 我一直在尝试使用另一个引脚用于tx&关于Arduino Mega 2560的rx,但它从未给出回应。

有人有解决方案吗? 在此之前,谢谢你的帮助。我会帮助你提供帮助。

2 个答案:

答案 0 :(得分:1)

您提供的软件正在运行。 我和你报道的问题完全一样,Arduino Uno和来自同一制造商的蓝牙模块。 经过多次测试后,我得出以下结论:问题出在蓝牙模块本身,因为它没有正确管理TX引脚的张力水平。您没有看到任何响应,因为Arduino无法处理蓝牙模块的张力水平。 您可以在以下链接中找到有关我的测试的更多信息: Arduino Forum

HC-05蓝牙设备Tx引脚的张力水平图(从3.1降至0伏) Tension levels of HC-05 Bluetooth device Tx pin

在下一张图片中,您和我使用的制造商的HC-05蓝牙设备Tx引脚的张力水平(从3.3降至1.7伏),请注意信号不能降至0伏 enter image description here

答案 1 :(得分:1)

检查以下事项:

  1. 如果您尝试在引脚12处点亮外部LED,则表示没问题。 但是如果你试图点亮板载LED,它就是引脚13。
  2. 检查您在设备中使用的波特率以发送数据。 它必须与代码中使用的相同。
  3. HC-05可以在很宽的波特率范围内运行(请查看Google)。 默认情况下,它被编程为9600。 如果你的不一样,你就不得不重新编程(再次查看谷歌,看看如何)。
  4. 与此无关,但1表示逻辑高电平,0表示逻辑低电平。 虽然您可以根据自己的方式进行编程,但最好遵循惯例以避免混淆。