아두이노 타이머 사용 방법
Software/Arduino2023. 2. 6. 11:27
반응형
아두이노에서 내부 Timer를 이용하여 LED를 제어하는 코드 입니다.
토글 스위치를 이용하여 타이머 동작을 제어하고 타이머가 구동되면 1초간격으로 LED 가 점멸하도록 했습니다.
#include "MsTimer2.h" // Timer를 사용하기위한 헤더 선언
#define LED_ON 0
#define LED_OFF 1
const int LED_CONT = 1 ;
const int Timer_CONT = 2 ;
boolean LED_Status = false ; // LED 의 현재 상태 Flag
boolean timerStatus = false ; // 타이머 동작 여부 상태 Flag
//--------------------------------------------------------------------------------
void setup()
{
MsTimer2::set(1000, Timer_Event); // 타이머 설정 : 1000msec, 구동 함수 선언
pinMode(LED_CONT, OUTPUT) ;
pinMode(Timer_CONT, INPUT) ; // toggle switch를 사용한 입력
digitalWrite(LED_CONT, LED_OFF);
}
//--------------------------------------------------------------------------------
void loop()
{
int input = digitalRead(Timer_CONT) ;
if(input == 1)
{
if(timerStatus == false)
{
MsTimer2::start(); // 타이머 동작 시작
timerStatus = true ;
}
}
else
{
if(timerStatus == true)
{
MsTimer2::stop(); // 타이머 동작 멈출
timerStatus = false ;
}
}
}
//--------------------------------------------------------------------------------
void Timer_Event()
{
/* Timer Event : 1초에 한번씩 동작 */
if(LED_Status)
{
digitalWrite(LED_CONT, LED_OFF);
}
else
{
digitalWrite(LED_CONT, LED_ON);
}
LED_Status = !LED_Status ;
}
//--------------------------------------------------------------------------------
반응형
'Software > Arduino' 카테고리의 다른 글
아두이노 74HC573 Latch 사용방법 (0) | 2023.04.17 |
---|---|
아두이노 EEPRom 읽고 쓰기 (0) | 2023.02.06 |
아두이노 비트필드(bit field)를 이용한 버튼입력 처리 (0) | 2023.01.17 |
아두이노 시리얼 통신( PC <-> 아두이노 ) (0) | 2023.01.17 |
댓글()