void setup() {
// put your setup code here, to run once:
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
Serial.begin(115200);
}
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() - start;
// if (dif<0) dif+=
Serial.println(dif);
if (dif > 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 已放開
}
}