void setup() {
// put your setup code here, to run once:
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}
int s1=0,s2=0;
unsigned long interval = 5000;
unsigned long start = millis();
void loop() {
// put your main code here, to run repeatedly:
if (digitalRead(8)==LOW && s2==0) { //代表S2按下
s2=1;
digitalWrite(2, HIGH);
start = millis();
}
if (s2==1) {
// long int dif = millis()-interval;
// if (dif<0) dif+=
if (millis()-start > interval) {
digitalWrite(2, LOW);
s2=0;
}
}
if (digitalRead(9)==LOW && s1==0) { //P9 按下 且 s1 為0(表第一次按p9)
if (digitalRead(3)==HIGH) {
digitalWrite(3, LOW);
} else {
digitalWrite(3, HIGH);
}
s1=1; // p9 已按下過
}
if (digitalRead(9)==HIGH && s1==1) { // p9放開 且 s1==1 表p9被按下過
s1=0; // p9 已放開
}
}