当我从Android手机通过蓝牙将正确的密码发送到Arduino时,我有一个非常简单的任务就是点亮LED 3秒钟。以下是我正在使用的代码:
设置变量:
int output = 9; //Pin 9 on arduino (LED)
char final[4];
char correct[4] = {'Q','W','E','R'}; //Password is QWER
int pass_true;
void setup() {
pinMode(output, OUTPUT);
Serial.begin(9600);
}
以下是有问题的代码:
void loop() {
while(Serial.available()){
for(int i=0; i<4; i++){
final[i] = Serial.read();
}
for(int i=0; i<4; i++){
if(final[i]==correct[i]){
pass_true = 1;
}
else{
pass_true = 0;
break;
}
}
}
if(pass_true==1){
digitalWrite(output, HIGH);
Serial.println("ON");
delay(3000);
pass_true = 0;
}
else{
digitalWrite(output, LOW);
}
}
作为新手,我无法看清这段代码的错误。在发送正确的密码时,我没有收到arduino的任何回复。 LED没有开启,设备不会返回任何Serial.println()字符串。
我认为电气部件都很好,所以我很确定问题出在代码上。我正在使用蓝牙spp pro Android应用程序。