Arduino LED闪烁问题

mxr*_*r29 1 android bluetooth arduino led

所以我有一个蓝牙模块,我已经创建了一些代码,所以当我按下按钮1它打开LED时,当我按2它关闭LED时,3应该让LED持续闪烁.一切都运行得很好,除了当我按3次LED闪烁一次然后停止.我可以对代码做什么让它连续闪烁,直到我再次按下按钮1或2?

char LED = 0;

void setup() {
    pinMode(13, OUTPUT);
    Serial.begin(9600); // Opens Serial port 
}

void loop() {
    if (Serial.available()> 0){
        LED = Serial.read();
        Serial.print(LED);

        if (LED == '1') 
            digitalWrite(13, HIGH);
        if (LED == '0') 
            digitalWrite(13, LOW);
        if (LED == '3') {
            digitalWrite(13, HIGH);
            delay(1000);
            digitalWrite(13, LOW);
            delay(1000);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

XII*_*-th 6

您需要将主循环更改为:

void loop() {
    if (Serial.available()> 0){
        LED = Serial.read();
        Serial.print(LED);
    }

    if (LED == '3') {
        digitalWrite(13, HIGH);
        delay(1000);
        digitalWrite(13, LOW);
        delay(1000);
    }
    else if (LED == '1') 
        digitalWrite(13, HIGH);
    else if (LED == '0') 
        digitalWrite(13, LOW);
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下LED == '3',即使Serial不包含任何数据,也将在每个循环迭代中起作用