Menu
CoddyTech

점점 빨라지는 깜박임

Coddy Arduino 여정의 첫 번째 회로 섹션에 포함된 레슨. 22개 중 17번째.

delay(waitTime)는 그 순간 waitTime에 들어 있는 값만큼 기다립니다. 스케치가 실행되는 동안 변수를 바꾸면 깜박임도 함께 바뀝니다.

waitTime = waitTime - 100;   // 다음 깜빡임은 100 ms 더 짧아집니다

이 코드를 loop()의 끝에 넣으면 깜박일 때마다 이전 깜박임보다 간격이 짧아집니다.

잠시 실행했을 때 어떤 일이 일어나는지 살펴보세요. 대기 시간이 0까지 줄어든 다음, 0보다 작아집니다. delay()는 음수 시간만큼 기다릴 수 없습니다. -200을 약 49일에 해당하는 엄청나게 큰 숫자로 읽기 때문에 LED가 멈춘 것처럼 보입니다. 스케치가 대기 시간을 더 이상 줄이지 않을 시점을 스스로 결정해야 합니다. 다음 레슨에서는 바로 그 내용을 다룹니다.

challenge icon

챌린지

쉬움

핀 13의 LED가 점점 더 빠르게 깜박이게 하세요:

  • 맨 위에 int waitTime = 1000;을 만드세요
  • loop()에서 두 대기 시간 모두에 delay(waitTime)을 사용해 깜박이게 하세요
  • loop()의 끝에서 waitTime을 200만큼 줄이세요

Run을 누르고 멈출 때까지 지켜본 다음 Check를 누르세요.

직접 해보기

// 여기에서 waitTime을 만드세요

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
  // waitTime을 더 작게 만드세요
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

첫 번째 회로의 모든 레슨

직접 연습해 보세요: Arduino 플레이그라운드