반응형
아두이노, 타이머 지정 실행 SimpleTimer 라이브러리
글. 오상문 sualchi@daum.net
SimpleTimer 라이브러리를 이용하면 원하는 시간 이후에 동작하거나
지정한 숫자만큼 일정 시간 간격으로 동작하는 것이 가능합니다.
참고로, 기본 라이브러리가 아니므로 아두이노 스튜디오에 라이브러리를 추가해야 합니다.
링크: http://playground.arduino.cc/Code/SimpleTimer
<예제 1>
-----------------------------------------------------------
#include <SimpleTimer.h>
#define BUTTON 2
#define ALARM 8
#define LED 13
SimpleTimer timer;
int
pState = LOW;
boolean booked =
false
;
void
setup() {
pinMode(BUTTON, INPUT);
pinMode(LED, OUTPUT);
}
void
loop() {
int
state = digitalRead(BUTTON);
if
(pState == LOW && state == HIGH) {
if
(booked ==
false
) {
booked =
true
;
digitalWrite(LED, HIGH);
timer.setTimeout(5000, beep);
// 5초 뒤에 beep 함수 호출
}
}
pState = state;
timer.run();
}
void
beep() {
booked =
false
;
digitalWrite(LED, LOW);
tone(8, 1000, 20);
delay(100);
tone(8, 1000, 20);
delay(100);
tone(8, 1000, 20);
}
<예제 2>
-----------------------------------------------------------
#include <SimpleTimer.h>
#define LED 13
SimpleTimer timer;
boolean ledOn =
false
;
void
setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
timer.setInterval(1000, toggle);
// 1초에 한번 toggle 함수 호출
timer.setInterval(5000, notify);
// 5초에 한번 notify 함수 호출
}
void
loop() {
timer.run();
}
void
toggle() {
if
(ledOn ==
true
) {
digitalWrite(LED, LOW);
}
else
{
digitalWrite(LED, HIGH);
}
ledOn = !ledOn;
}
void
notify() {
Serial.print(
"Brightenss : "
);
Serial.println(analogRead(A0));
}
참조: http://tkpark86.tistory.com/17
<이상>
반응형
'아두이노, 라즈베리파이' 카테고리의 다른 글
아두이노 부품은 드라이버가 달린 것을 구매하세요. (0) | 2019.01.03 |
---|---|
아두이노, DC 모터 제어 사이트 링크 (0) | 2018.12.23 |
아두이노, 농구대 점수판 예제 코드 (0) | 2018.12.11 |
아두이노, 4열(4 digits) 7 세그먼트 출력 자료 링크 (0) | 2018.12.05 |
아두이노, 시리얼 IC2 LCD 디스플레이 루프 출력 처리 (0) | 2018.12.05 |