Menu
CoddyTech

PWM으로 LED 밝기 낮추기

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

digitalWrite()는 두 가지 상태를 압니다. 켜짐 또는 꺼짐입니다. LED를 희미하게 빛나게 하려면 보드가 초당 수백 번 핀을 켰다 끕니다. 눈은 깜박임을 따라가지 못하고 평균을 보게 됩니다. 핀이 전체 시간의 4분의 1 동안 켜져 있으면 4분의 1만큼 밝게 보입니다.

이 방법을 PWM, 즉 펄스 폭 변조라고 합니다. 핀이 켜져 있는 시간의 비율을 듀티 사이클이라고 합니다.

analogWrite(pin, value)는 0부터 255까지의 숫자로 이를 설정합니다.

analogWrite(9, 0);    // 항상 꺼짐
analogWrite(9, 64);   // 전체 시간의 4분의 1 동안 켜짐
analogWrite(9, 127);  // 전체 시간의 약 절반 동안 켜짐
analogWrite(9, 255);  // 항상 켜짐

값을 한 번 쓰면, 새 값을 쓸 때까지 보드는 delay() 중에도 핀을 계속 자동으로 펄스 출력합니다. analogWrite()는 핀을 자체적으로 출력으로 설정합니다. setup()의 pinMode(9, OUTPUT)는 여전히 핀의 용도를 지정합니다.

challenge icon

챌린지

쉬움

빨간 LED는 핀 9에 연결되어 있습니다. 최대 밝기의 4분의 1로 빛나게 하세요:

  • 255의 4분의 1은 약 64입니다
  • analogWrite()로 씁니다

Run을 눌러 확인한 다음, Check를 누르세요.

직접 해보기

const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
  // 여기서 LED의 밝기를 4분의 1로 설정합니다
}

void loop() {
  // 반복할 작업이 없습니다: 핀이 자체적으로 계속 펄스를 생성합니다
}
quiz icon실력 점검

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

출력의 모든 레슨

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