請先下載 Timer 庫。並解壓縮到 Arduino 專案路徑下 (存檔路徑)
https://github.com/JChristensen/Timer#installation
傳統我們要控制 LED 閃爍頻率則是修改 delay() 延遲時間,但是如果之後要讓 10 個 LED 以不同頻率閃爍則非常困難。如果之後只是要修改其中一個LED頻率,那麼其他9個LED也要修改,而且還要大量計算好時間,這是非常不容易維護的。如下是使用傳統作法:
int pin = 13;
void setup()
{
pinMode(13, OUTPUT);
digitalWrite(pin, HIGH);
delay(10 * 60 * 1000);
digitalWrite(pin, LOW);
}
void loop()
{
}
下面程式碼是使用 Timer 庫,而達到與上面程式碼相同的結果,但更好維護。下方程式碼是Arduino啟動後 10分鐘後,切換 pin 13 狀態 ( 只做一次 )
#include "Timer.h"
Timer t;
int pin = 13;
void setup()
{
pinMode(pin, OUTPUT);
t.pulse(pin, 10 * 60 * 1000, HIGH); // 10 minutes
}
void loop()
{
t.update();
}
下面程式碼是每 100毫秒 切換 Pin 13 狀態 (無限循環)。並每 1 秒呼叫 takeReading() 函式(方法) ,將讀取 類比 Pin 0 信號並方送至PC端。