While循环和HC05

时间:2019-06-05 20:59:39

标签: while-loop arduino hc-05

晚上好零点

我解释我的项目:我想创建一个led灯条(在本例中为10),该灯条将起到循环功能,直到通过hc05(蓝牙)模块收到不同的命令。

示例:

当我发送's'时,它会让我眨眨眼led灯,并立即感觉到;当我发送'a'时,功能会改变并交替保持我的奇数和偶数led灯。发送“ q”后,我就会离开一会儿,并且循环正在等待接收新的蓝牙信号。

现在是我的代码,我在上面封锁了3天,但看不到该怎么做:

const int LedPin[] = {2,3,4,5,6,7,8,9,10};
String inputString="";
int state = 0;

void setup(){
  Serial.begin(9600);
  for(int i = 0;i< sizeof(LedPin);i++){
      pinMode(LedPin[i], OUTPUT);
  }

}

void loop(){
  char val;

  if (Serial.available() > 0) {
    val = tolower(Serial.read());   // in case the enter upper case
    switch (val) {
      case 's':
        Ledsnake();
        Serial.println("ledon");
        break;
      case 'a':
        LedAltern();
        break;
      case 'q':
        break;
    }
  }
}

void Ledsnake(){
    for(int i=0;i< sizeof(LedPin);i++){
      digitalWrite(LedPin[i],HIGH);
      delay(500);
  }
  for(int i=0;i< sizeof(LedPin);i++){
     digitalWrite(LedPin[i],LOW);
     delay(500);
  }
}

void LedAltern(){
  bool pair = false;

      if(pair)
      {
        for(int j = 0; j<sizeof(LedPin);j+=2)
        {
          digitalWrite(LedPin[j], HIGH);
        }
        delay(500);
        for(int j = 0; j<sizeof(LedPin);j+=2)
        {
          digitalWrite(LedPin[j], LOW);
        }
        delay(500);
        pair = false;
      }
      else
      {
        for(int j = 1; j<sizeof(LedPin);j+=2)
        {
          digitalWrite(LedPin[j], HIGH);
        }
        delay(500);
        for(int j = 1; j<sizeof(LedPin);j+=2)
        {
          digitalWrite(LedPin[j], LOW);
        }
        delay(500);
        pair = true;
      }

  }

0 个答案:

没有答案