#include <TimerOne.h>
long interval = 1000000; // 初始間隔為1秒
bool toggle = false; // 用來切換閃爍速度
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
pinMode(2, INPUT_PULLUP); // 設置按鈕接腳為輸入並啟用上拉電阻
Timer1.initialize(interval);
Timer1.attachInterrupt(timerISR);
Serial.begin(9600);
}
void timerISR() {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
Serial.println(interval);
}
void loop() {
if (digitalRead(2) == LOW) { // 按鈕按下
toggle = !toggle;
//interval = toggle ? 500000 : 1000000; // 切換間隔時間
if (toggle)
interval = 200000;
else
interval = 1000000;
Timer1.setPeriod(interval); // 設置新的週期
delay(200); // 防抖動延遲
}
}