void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}
int s1=0,s2=0, com=0;
long s2start = millis();
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available()>0)
com=Serial.read();
if (digitalRead(8)==LOW || com=='2') { //代表S2按下
s2start = millis(); // s2 按下的時間
digitalWrite(2, HIGH);
s2=1; // L2 亮
com=0;
}
if (s2==1) { // L2 亮才檢查
if (millis()-s2start > 5000) {
s2 = 0;
digitalWrite(2, LOW);
}
}
if ((digitalRead(9)==LOW && s1==0)|| com=='1') { //P9 按下 且 s1 為0(表第一次按p9)
if (digitalRead(3)==HIGH) {
digitalWrite(3, LOW);
} else {
digitalWrite(3, HIGH);
}
s1=1; // p9 已按下過
com=0;
}
if (digitalRead(9)==HIGH && s1==1) { // p9放開 且 s1==1 表p9被按下過
s1=0; // p9 已放開
}
}