[스케치] - [라이브러리 포함하기] -[라이브러리 관리]
"MS-Timer2"로 검색한 후 설치

#include <MsTimer2.h>
int output=1;
void flash() {
digitalWrite(13, output);
output = !output; // onoff는 1과 0을 반복함, ! 연산자는 값을 반전함.
}
void setup() {
pinMode(13, OUTPUT);
MsTimer2::set(1000, flash); // 1초 마다 flash 함수를 호출
MsTimer2::start(); // 시작
}
void loop() {
// 여기에 다른 코드를 넣을 수 있다.
}
이 프로그램은 1초마다 LED를 깜박인다.
loop( )속에 다른 프로그램을 넣어서 다중 작업을 할 수 있다.
타이머 라이브러리를 다운로드
https://github.com/JChristensen/Timer
라이브러리를 다운받고 압축을 푼 후 전체 폴더를 [내 문서] - [Arduino] - [Library]
폴더에 옮기고 아두이노를 다시 실행시킨다.
아두이노 IDE에서 [파일] - [예제] - [Timer-master] - [blink2] 를 열어서
실행해보면 LED가 깜박인다.
#include "Timer.h"
Timer t; // instantiate the timer object
Timer led; // timer for analogRead function.
void setup(void){
Serial.begin(9600);
pinMode(13, OUTPUT);
t.oscillate(13, 1000, HIGH); // 1초 마다.
led.every(100, readData);
}
void loop( ){
t.update();
led.update();
}
void readData(){
Serial.println(analogRead(A0));
}
만약 1초당 A0 포트부터 10번의 아날로그 신호를 읽으려면
every()함수로 해결할 수 있다.
메인 루프에delay()함수를 넣으면 모든 타이머들이 뒤로 밀려나기 때문에 주의가 필요하다.
