핵심 아두이노 프로그래밍 언어 14 - 시간
1. millis()
2. delay()
1. millis()
밀리초, 즉 1/1000초 단위의 시간 값을 사용할 때 사용합니다.
millis()의 값은 아두이노 보드가 켜질 때 자동으로 시작합니다.
약 50일이 지나면 millis()의 값은 0에서부터 다시 시작합니다.
millis()의 값을 사용할 때에는 unsinged long 변수를 써야합니다.
다른 변수나 long 변수만을 사용하면 에러가 발생합니다.
unsigned long Sec = 0; // Sec에 0을 저장시킵니다.
void setup() {
Serial.begin(9600); // 시리얼 통신을 시작합니다.
}
void loop() {
if(millis() - Sec > 999) { // 만약 현재 밀리초에서 Sec를 뺀 값이 0.999초를 넘는다면,
Sec = millis(); // Sec는 현재 밀리초 값을 저장하고
Serial.println("1"); // 시리얼 모니터에 1을 출력합니다.
}
}
2. delay()
밀리초, 즉 1/1000 초 단위로 작동을 멈출 때 사용합니다.
사용 방법을 아래와 같습니다.
delay(밀리초)
밀리초이기 때문에 1초 동안 멈추려면
delay(1000)
이라고 써야 합니다.
int LED = 9; // 9번 핀을 LED로 사용합니다.
void setup() {
pinMode(LED, OUTPUT); // LED 핀을 출력모드로 합니다.
}
void loop() {
digitalWrite(LED, HIGH); // LED를 켭니다.
delay(1000); // 1초 동안 멈춥니다.
digitalWrite(LED, LOW); // LED를 끕니다.
delay(1000); // 1초 동안 멈춥니다.
}
delay()를 사용하면 지정한 시간 동안 아두이노 보드의 모든 기능이 멈추게 됩니다.
따라서 센서나 엑츄에이터들을 동시에 사용해야할 경우에는 delay() 쓰지 않는 것이 좋습니다.
'아두이노 IDE > 핵심프로그래밍 언어' 카테고리의 다른 글
13. switch case 조건문 (0) | 2017.02.23 |
---|---|
12. if 조건문 (0) | 2017.02.23 |
11. 복합 연산 기호 (0) | 2017.02.23 |
10. 부울 연산 기호 (0) | 2017.02.23 |
9. 비교 연산 기호 (0) | 2017.02.23 |