用 Arduino Uno 重置 HC-06 蓝牙模块?
Resetting the HC-06 Bluetooth module with Arduino Uno?
这是我在 Whosebug 上的第一个 post,希望您能回答我的问题。
我是 Arduino 的新手,我不小心用以下代码更改了我的 HC-06 蓝牙模块的波特率和名称。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(3, 4); // RX, TX
void setup()
{
//Serial.begin(9600);
//Serial.begin(57600);
Serial.begin(115200);
Serial.println("Goodnight moon!");
mySerial.begin(9600);
//mySerial.begin(57600);
//mySerial.begin(115200); //if you change the baud and want to re-run this sketch, make sure this baud rate matches the new rate.
delay(1000);
mySerial.print("AT");
delay(1000);
mySerial.print("AT+VERSION");
delay(1000);
//mySerial.print("AT+PIN1234"); // Set pin to 1234 was 1342
//delay(1000);
//mySerial.print("AT+NAMEJY-MCU-HC06"); // Set the name to JY-MCU-HC06
//delay(1000);
//mySerial.print("AT+BAUD4"); // Set baudrate to 9600
//mySerial.print("AT+BAUD7"); // Set baudrate to 57600
mySerial.print("AT+BAUD8"); // Set baudrate to 115200
delay(1000);
}
void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
现在我无法恢复到默认设置(波特率 9600 和名称 HC-06)而且我不知道如何解决这个问题。
我尝试输入串口 AT 命令,但没有任何响应。我还确保 HC-06 模块没有与任何其他设备配对,但仍然没有反应。除了 Arduino 串行监视器之外,我还尝试了不同的源和终端,例如:
http://www.hobbyist.co.nz/?q=bluetooth-module-device
http://42bots.com/tutorials/hc-06-bluetooth-module-datasheet-and-configuration-with-arduino/
还有更多...
所以我的问题如下:我应该如何恢复对 HC-06 蓝牙模块所做的更改,最好恢复到波特率 9600?
提前谢谢你。
-F
您可以尝试使用硬件串行而不是软件串行,看看是否可行吗?
注意:根据我将 HC 蓝牙模块与 arduino 硬件序列号一起使用的经验,为了获得正确的草图上传,您必须从 Arduino 上拔下 HC-06 的电源或 tx/rx ,否则会干扰。
此外,您可能想注释掉
mySerial.print("AT+BAUD8"); // Set baudrate to 115200
并取消注释
//mySerial.print("AT+BAUD4"); // Set baudrate to 9600
当您发送命令时,您应该得到如下信息:
来自主机控制器:
AT+BAUD3
回应
OK4800
Secondary Datasheet For Reference
在数据表上,11 上有一个复位引脚。(第 2 页上的图表)
此外,还有一个重置命令:
AT+RESET Reset Device
好吧,我觉得很蠢...
显然我将波特率设置为 57600,而不是 115200...所以现在我可以通过 57600 波特率更改波特率和名称。
好吧,我不会忘记它现在是如何工作的 :P。谢谢大家的时间和耐心。
-F
如果您将波特率设置为超过 8(115200),则很难回到 9600 或其他可用的波特率,因为计算机大多不能处理那么高的频率。
instructables.com 的 Yoda 博士基于 ATMEGA328P-PU(例如 arduino UNO)制作了一个汇编程序技巧,可能有助于在如此高的频率下伪造串行连接。基于他的工作,我做了这个页面来生成一个 arduino 脚本,可以恢复你的 AT 连接到你的 HC-06。
首先阅读尤达博士的 post。
这是我在 Whosebug 上的第一个 post,希望您能回答我的问题。
我是 Arduino 的新手,我不小心用以下代码更改了我的 HC-06 蓝牙模块的波特率和名称。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(3, 4); // RX, TX
void setup()
{
//Serial.begin(9600);
//Serial.begin(57600);
Serial.begin(115200);
Serial.println("Goodnight moon!");
mySerial.begin(9600);
//mySerial.begin(57600);
//mySerial.begin(115200); //if you change the baud and want to re-run this sketch, make sure this baud rate matches the new rate.
delay(1000);
mySerial.print("AT");
delay(1000);
mySerial.print("AT+VERSION");
delay(1000);
//mySerial.print("AT+PIN1234"); // Set pin to 1234 was 1342
//delay(1000);
//mySerial.print("AT+NAMEJY-MCU-HC06"); // Set the name to JY-MCU-HC06
//delay(1000);
//mySerial.print("AT+BAUD4"); // Set baudrate to 9600
//mySerial.print("AT+BAUD7"); // Set baudrate to 57600
mySerial.print("AT+BAUD8"); // Set baudrate to 115200
delay(1000);
}
void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
现在我无法恢复到默认设置(波特率 9600 和名称 HC-06)而且我不知道如何解决这个问题。
我尝试输入串口 AT 命令,但没有任何响应。我还确保 HC-06 模块没有与任何其他设备配对,但仍然没有反应。除了 Arduino 串行监视器之外,我还尝试了不同的源和终端,例如:
http://www.hobbyist.co.nz/?q=bluetooth-module-device
http://42bots.com/tutorials/hc-06-bluetooth-module-datasheet-and-configuration-with-arduino/
还有更多...
所以我的问题如下:我应该如何恢复对 HC-06 蓝牙模块所做的更改,最好恢复到波特率 9600?
提前谢谢你。
-F
您可以尝试使用硬件串行而不是软件串行,看看是否可行吗?
注意:根据我将 HC 蓝牙模块与 arduino 硬件序列号一起使用的经验,为了获得正确的草图上传,您必须从 Arduino 上拔下 HC-06 的电源或 tx/rx ,否则会干扰。
此外,您可能想注释掉
mySerial.print("AT+BAUD8"); // Set baudrate to 115200
并取消注释
//mySerial.print("AT+BAUD4"); // Set baudrate to 9600
当您发送命令时,您应该得到如下信息:
来自主机控制器:
AT+BAUD3
回应
OK4800
Secondary Datasheet For Reference
在数据表上,11 上有一个复位引脚。(第 2 页上的图表)
此外,还有一个重置命令:
AT+RESET Reset Device
好吧,我觉得很蠢...
显然我将波特率设置为 57600,而不是 115200...所以现在我可以通过 57600 波特率更改波特率和名称。
好吧,我不会忘记它现在是如何工作的 :P。谢谢大家的时间和耐心。
-F
如果您将波特率设置为超过 8(115200),则很难回到 9600 或其他可用的波特率,因为计算机大多不能处理那么高的频率。
instructables.com 的 Yoda 博士基于 ATMEGA328P-PU(例如 arduino UNO)制作了一个汇编程序技巧,可能有助于在如此高的频率下伪造串行连接。基于他的工作,我做了这个页面来生成一个 arduino 脚本,可以恢复你的 AT 连接到你的 HC-06。
首先阅读尤达博士的 post。