我有一个连接到Arduino Nano的HC-06蓝牙模块。
我可以将手机与HC-06配对,我可以连接它,HC-06板上的红灯停止闪烁。
但是当我尝试发送任何数据时,它什么也没做。我尝试使用几个蓝牙应用程序向蓝牙模块发送命令,但没有任何作用。
您是否知道问题是什么或我如何进一步调试?
我有2个Hc-06板,我试过两个,结果相同。
谢谢。
我添加了我的Arduino代码打击。我将D6引脚连接到HC-06的RX引脚,将D5引脚连接到TX引脚:
#include <PWMServo.h>
#include <SoftwareSerial.h>
#include <Arduino.h>
SoftwareSerial mySerial(6, 5);
PWMServo myservo;
String inString = "";
unsigned long startTime;
unsigned long otherTime;
int prev = 150;
float vPow = 5;
float r1 = 47000;
float r2 = 10000;
int voltcheck = 0;
double b = 85; //Braking
double n = 90; //Neutral
double m = 120; //Accelerate
void setup() {
pinMode(13, OUTPUT);
myservo.attach(9);
mySerial.begin(9600);
digitalWrite(13, LOW);
}
void loop() {
if (mySerial.available() > 0) {
int inChar = mySerial.read();
if (isDigit(inChar)) {
inString += (char)inChar;
}
if (inChar == 'n') {
int x = inString.toInt();
if (x <= 180){
myservo.write(x);
}
inString = "";
}
if (inChar == 'm') {
if (voltcheck > 10){
getv();
voltcheck = 0;
}
else {
voltcheck = voltcheck + 1;
}
digitalWrite(13, HIGH);
//Serial.println("ALIVE");
startTime = millis();
}
}
if ((millis() - startTime) > 210) {
digitalWrite(13, LOW);
myservo.write(90);
delay(30);
}
}
static void getv() {
float v = (analogRead(5) * vPow) / 1023.0;
float v2 = v / (r2 / (r1 + r2));
mySerial.print(v2);
mySerial.println("v");
}
答案 0 :(得分:0)
假设您的Arduino代码查找要显示的串行数据并对其做出响应(IE您已准备好代码进行通信,您无法让它响应),请尝试切换Rx和Tx线。