简易 HC-05 蓝牙 android 通讯
Simple HC-05 bluetooth android communication
我只是尝试使用 HC-05 蓝牙模块在我的 android phone 和我的 arduino 之间进行通信。
虽然我的模块可以工作并且我也可以在我的 phone 上发送和接收数据,但我的 btData 变量的数据似乎在接收后立即丢失。在我的 android 应用程序上,我得到了我的代码中编写的输入数据输出,然后立即为空 output/line.
将“1”/“off”写入我的控制台不会触发我的 if(btData == “1”)... 部分代码。
我附上了我的代码,以及 android 终端和我的 arduino HC-05 连接。
android terminal
arduino with wiring
希望有人能提供帮助,因为我找不到任何错误。
#include <SoftwareSerial.h>
#define rxPin 10
#define txPin 11
SoftwareSerial btSerial(rxPin, txPin);
String btData;
void setup() {
btSerial.begin(9600);
btSerial.println("bluetooth available");
}
void loop() {
if (btSerial.available()) {
btData = btSerial.readString();
btSerial.println(btData);
if (btData == "1") {
btSerial.println("LED on Pin 13 is on");
}
if (btData == "off") {
btSerial.println("LED on Pin 13 is off");
}
}
delay(100);
}
难道是发送的数据在字符串末尾换行了?
这就是您在发送的数据后看到空行的原因。
可能的解决方案可能是:
void loop() {
if (btSerial.available()) {
btData = btSerial.readString();
btData.trim()
btSerial.println(btData);
if (btData == "1") {
btSerial.println("LED on Pin 13 is on");
}
if (btData == "off") {
btSerial.println("LED on Pin 13 is off");
}
}
delay(100);
}
我只是尝试使用 HC-05 蓝牙模块在我的 android phone 和我的 arduino 之间进行通信。
虽然我的模块可以工作并且我也可以在我的 phone 上发送和接收数据,但我的 btData 变量的数据似乎在接收后立即丢失。在我的 android 应用程序上,我得到了我的代码中编写的输入数据输出,然后立即为空 output/line.
将“1”/“off”写入我的控制台不会触发我的 if(btData == “1”)... 部分代码。
我附上了我的代码,以及 android 终端和我的 arduino HC-05 连接。
android terminal
arduino with wiring
希望有人能提供帮助,因为我找不到任何错误。
#include <SoftwareSerial.h>
#define rxPin 10
#define txPin 11
SoftwareSerial btSerial(rxPin, txPin);
String btData;
void setup() {
btSerial.begin(9600);
btSerial.println("bluetooth available");
}
void loop() {
if (btSerial.available()) {
btData = btSerial.readString();
btSerial.println(btData);
if (btData == "1") {
btSerial.println("LED on Pin 13 is on");
}
if (btData == "off") {
btSerial.println("LED on Pin 13 is off");
}
}
delay(100);
}
难道是发送的数据在字符串末尾换行了?
这就是您在发送的数据后看到空行的原因。
可能的解决方案可能是:
void loop() {
if (btSerial.available()) {
btData = btSerial.readString();
btData.trim()
btSerial.println(btData);
if (btData == "1") {
btSerial.println("LED on Pin 13 is on");
}
if (btData == "off") {
btSerial.println("LED on Pin 13 is off");
}
}
delay(100);
}