아두이노에서 millis() 함수를 사용한 간단한 타이머 구현 방법

GPT40GPT 40 를 사용하여 답변했습니다.

질문:

아두이노 타이머 코드 소스 알려줘

답변:

아두이노에서 타이머를 사용하는 방법은 여러 가지가 있습니다. 가장 간단한 방법은 millis() 함수를 사용하는 것입니다. millis() 함수는 아두이노가 시작된 이후 경과된 시간을 밀리초 단위로 반환합니다. 이를 이용해 간단한 타이머를 구현할 수 있습니다.

아래는 LED를 1초 간격으로 켜고 끄는 예제 코드입니다.

const int ledPin = 13; // LED가 연���된 핀 번호
unsigned long previousMillis = 0; // 마지막으로 LED 상태를 변경한 시간
const long interval = 1000; // 간격 시간 (밀리초 단위)

void setup() {
  pinMode(ledPin, OUTPUT); // LED 핀을 출력 모드로 설정
}

void loop() {
  unsigned long currentMillis = millis(); // 현재 시간을 가져옴

  // 마지막으로 LED 상태를 변경한 시간에서 현재 시간이 interval 이상 경과했는지 확인
  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis; // 마지막으로 LED 상태를 변경한 시간을 현��� 시간으로 갱신

    // LED 상태를 반전시킴
    int ledState = digitalRead(ledPin); // 현재 LED 상태를 읽음
    digitalWrite(ledPin, !ledState); // LED 상태를 반전시켜 출력
  }
}

이 코드는 millis() 함수를 사용하여 1초 간격으로 LED를 켜고 끄는 동작을 합니다. previousMillis 변수는 마지막으로 LED 상태를 변경한 시간을 저장하���, interval 변수는 LED 상태를 변경�� 간격 시간을 설정합니다.

이 외에도 하드웨어 타이머를 직접 설정하여 사용하는 방법도 있지만, 이는 좀 더 복잡한 설정이 필요합니다. 기본적인 타이머 기능을 구현하는 데는 millis() 함수가 충분히 유용합니다.