728x90
타이머를 사용하여 delay() 함수 없이 주기적인 작업을 실행해보자. 이번에는 millis() 함수를 사용할 예정이다.
millis() : 코드(스케치)가 실행된 이후의 경과 시간을 millisecond 단위로 리턴해주는 함수
int rLedPin = 13;
int gLedPin = 8;
int buttonPin = 2;
unsigned long int preTime = 0;
unsigned long int interval = 1000;
int ledState = LOW;
void setup() {
pinMode(rLedPin, OUTPUT);
pinMode(gLedPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop(){
unsigned long int currentTime = millis(); // by 시간 함수
if (currentTime - preTime > interval) {
preTime = currentTime;
ledState = !ledState;
digitalWrite(rLedPin, ledState);
}
int buttonState = digitalRead(buttionPin);
digitalWrite(gLedPin, buttonState);
}
'Develop > Arduino Uno' 카테고리의 다른 글
[아두이노 우노] SoftwareSerial (0) | 2023.12.18 |
---|---|
[아두이노 우노] 내부 인터럽트(타이머 인터럽트) 실습하기 (0) | 2023.12.18 |
[아두이노 우노] I2C 통신 (TWI 통신) (0) | 2023.12.17 |
[아두이노 우노] I2C 통신 방식의 캐릭터 LCD 실습 (0) | 2023.12.17 |
[아두이노 우노] 인터럽트와 외부 인터럽트 (0) | 2023.12.17 |