int buttonpin[3]={2,3,6};
int LEDpin[3]={11,9,10};
int State;
unsigned long Starttime[3]={0,0,0}; //記錄開始按下按鈕的時間
void ButtonControl(int order){
State=digitalRead(buttonpin[order]]);
if (State == 0){
Starttime[order]=millis(); //記錄開始按下按鈕的時間同時亮燈
digitalWrite(LEDpin[order],1);
}
if (millis()-Starttime[order] >= 3000){ //一旦現在時間-按下時間超過3秒就關燈
digitalWrite(LEDpin[order],0);
}
}
void setup(){
pinMode(LEDpin_R,OUTPUT);
pinMode(LEDpin_G,OUTPUT);
pinMode(LEDpin_B,OUTPUT);
}
void loop(){
ButtonControl(0);
ButtonControl(1);
ButtonControl(2);
}