Menu
CoddyTech

LED 서서히 켜기

Coddy Arduino 여정의 출력 섹션에 포함된 레슨. 24개 중 3번째.

변수에 밝기를 저장할 수 있습니다. loop()가 실행될 때마다 그 값을 LED에 쓰고, 값을 조금 더한 다음 잠시 기다립니다. LED가 단계적으로 더 밝아집니다:

int brightness = 0;

void loop() {
  analogWrite(9, brightness);
  brightness = brightness + 5;
  if (brightness > 255) {
    brightness = 0;
  }
  delay(30);
}

밝기 값은 누른 횟수 카운터처럼 스케치의 맨 위에 있으므로, loop()가 한 번 실행된 후 다음에 실행될 때까지 값이 유지됩니다. loop() 안에서 만들면 매번 0으로 돌아갑니다.

255는 analogWrite()가 받는 가장 큰 값이므로, 밝기가 255를 넘으면 if가 0부터 페이드를 다시 시작합니다.

단계의 크기와 대기 시간이 속도를 결정합니다. 30ms씩 약 50단계가 걸리면 1.5초가 걸립니다.

challenge icon

챌린지

쉬움

핀 9의 LED가 계속해서 서서히 밝아졌다 어두워지게 하세요:

  • setup() 위에서 만든 변수에 밝기를 저장하고, 0에서 시작하세요
  • loop()에서 analogWrite()로 밝기를 쓰고, 5를 더한 다음 30 ms 기다리세요
  • 255를 넘으면 다시 0으로 설정하세요

Run을 누르고 LED를 지켜본 다음 Check를 누르세요.

직접 해보기

const int ledPin = 9;
// 여기서 0으로 시작하는 밝기 변수를 만드세요

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

void loop() {
  // 밝기 값을 출력하고 5를 더한 뒤, 255를 넘으면 다시 시작하고 30 ms 기다리세요
}
quiz icon실력 점검

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

출력의 모든 레슨

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