楼主: 
pc148 (简单点...)   
2020-12-21 05:54:04各位好,我是位国小老师
因为带小朋友参赛科技作品而接触arduino
目前是用mblock写完后 贴到IDE上改参数
卡关一个基本问题好久
因此抱着求教来请高手解答
现在想利用蓝芽来传输
分别传输讯号1~4控制LED灯亮10秒、20秒、30秒、40秒
现在是卡在讯号5为熄灯,想让这些灯可以在开灯中途因为传输5而熄灭
以下是语法
再烦请提点  感谢~~
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
SoftwareSerial btSerial(2, 3); // RX, TX
float i = 0;
double currentTime = 0;
double lastTime = 0;
double getLastTime(){
      return currentTime = millis()/1000.0 - lastTime;
}
void _delay(float seconds) {
  long endTime = millis() + seconds * 1000;
  while(millis() < endTime) _loop();
}
void setup() {
  Serial.begin(9600);
  btSerial.begin(9600);
  pinMode(11,OUTPUT);
  i = 0;
while(1) {
      if(btSerial.available() > 0){
          i = btSerial.read();
          if(i == 1.000000){
              lastTime = millis()/1000.0;
              digitalWrite(11,1);
              while(!((getLastTime() == 10.000000)  ||  (i == 5.000000)))
              {
                _loop();
              }
              digitalWrite(11,0);
              _delay(0.5);
          }
          if(i == 2.000000){
              lastTime = millis()/1000.0;
              digitalWrite(11,1);
              while(!((getLastTime() == 20.000000)  ||  (i == 5.000000)))
              {
                _loop();
              }
              digitalWrite(11,0);
              _delay(0.5);
          }
          if(i == 3.000000){
              lastTime = millis()/1000.0;
              digitalWrite(11,1);
              while(!((getLastTime() == 30.000000)  ||  (i == 5.000000)))
              {
                _loop();
              }
              digitalWrite(11,0);
              _delay(0.5);
          }
          if(i == 4.000000){
              lastTime = millis()/1000.0;
              digitalWrite(11,1);
              while(!((getLastTime() == 40.000000)  ||  (i == 5.000000)))
              {
                _loop();
              }
              digitalWrite(11,0);
              _delay(0.5);
              if(i == 5.000000){
                  digitalWrite(11,0);
              }
          }
      }
      _loop();
  }
}
void _loop() {
}
void loop() {
  _loop();
}