我通过蓝牙连接将arduino与c#应用程序连接,数字引脚2和4连接两个LED 当我通过蓝牙按下c#应用程序上的按钮时,命令进入arudino并执行“数字写入”(LED HIGH)并且它不停地发光。我的问题是如何改进arduino代码,以便LED灯只在按下按钮时发光,或者当我们停止用鼠标按下按钮时它会停止发光。
#include <SoftwareSerial.h>
int LED=2;
int LED=4;
void setup()
{
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0)
{
int command = Serial.read();
{
if(command == 'LED1_ON')
{
digitalWrite(LED1, HIGH);
}
else if(command == 'LED2_ON')
{
digitalWrite(LED2, HIGH);
}
}
}
}
答案 0 :(得分:0)
int command = Serial.read();
在源代码的开头声明这是一个好习惯(你的leds声明在哪里)。但问题是。我猜,当你按下按钮时,你的串口链接是可用的吗?因此,当你的LED无法使用时,你可以关掉它:
if (Serial.available() > 0)
{ ....}
else { /* turn off youre leds */ }