我正在使用this library尝试Arduino Uno + HC-05。我不认为它运作正常。这是示例“echo”的串行监视器输出:
library(dplyr)
通讯速度都没有,但我设法将我的Android手机(带蓝牙终端)连接到HC-05,这就是输出结束时看到“OK”的原因。但它无法回应我从蓝牙终端的输入。
Arduino代码:
mydf %>% select(contains("br"))
#br.Id br.day br.year branch br.location
#1 1992.000 23 1992 1 160170
#2 1992.000 23 1992 2 160170
#3 1992.000 23 1992 3 160170
#4 1992.000 23 1992 4 160170
#5 1992.001 23 1992 5 160170
#6 1992.001 23 1992 6 160170
#7 1992.001 23 1992 7 160170
#8 1992.001 23 1992 8 160170
#9 1992.001 23 1992 9 160170
#10 1992.001 23 1992 10 160170
我如何将HC-05连接到Arduino:
我只是遵循指令(5V和GND;状态,Rx和Tx分别为A5,A3和A4),除了我没有引脚“cmd”,但我确实有“CFG”引脚,所以我只是假设应该是cmd并将其连接到A2
答案 0 :(得分:0)
(我知道我应该发表评论,而不是写一个答案,但我需要50个声誉)
同样在这里。
我尝试使用和不使用lib和不同的引脚。我也试过arduino micro和uno。
总是一样的:模块的LED闪烁(当我通过RX / TX发送数据时),但我无法回答(当用" $切换到命令模式时都没有) $$"并且没有带有KEY引脚的AT命令 - 在我的模块上它被命名为EN,可能用于启用,我认为它是相同的)
编辑:
我应该有RTFM。特别是this。
以下是我的发现:
记录中,这是我的代码:
#include <SoftwareSerial.h>
#define HC05_STATE 5
#define HC05_RXD_ARDUINO_TXD 4
#define HC05_TXD_ARDUINO_RXD 3
#define HC05_EN 2
SoftwareSerial BTSerial(HC05_TXD_ARDUINO_RXD, HC05_RXD_ARDUINO_TXD); // RX | TX
void setup(void)
{
pinMode(HC05_EN, OUTPUT);
digitalWrite(HC05_EN, HIGH); // just to be sure to enable the module, if not plugged it still works
Serial.begin(9600);
BTSerial.begin(9600); // default speed
Serial.println("Ready");
}
void loop(void)
{
if (BTSerial.available())
{
Serial.print("< ");
while (BTSerial.available())
Serial.write(BTSerial.read());
Serial.print("\n");
}
if (Serial.available())
{
Serial.print("> ");
while (Serial.available())
{
char c = Serial.read();
BTSerial.write(c);
Serial.write(c);
}
Serial.print("\n");
}
}