소스코드

아래는 소스코드입니다. 아두이노 IDE에 붙여넣기 하여 컴파일하고 업로드합니다.

// PWM제어 LED점등 실험

int brightness = 0;    //LED밝기를 표현하기 위한 정수형 변수 brightness를 선언하고 초기값 0을 저장합니다.
int fadeAmount = 5;    //밝기가 변하는 속도를 정하기 위한 정수형 변수 fadeAmount를 선언하고 초기값 5를 저장합니다.

void setup()  {
  pinMode(5, OUTPUT); // 포트 5번을 출력포트로 지정합니다.
}

void loop()  {
  
  analogWrite(5, brightness); //5번 포트에 brightness의 값을 출력합니다.

  brightness = brightness + fadeAmount; //다음 회차에 출력할 밝기 값을 brightness 변수에 저장합니다.
  
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ; //최고 밝기 또는 최저 밝기에 도달하면 값을 반대로 바꿔줍니다.
  }
  
  delay(30); //30mS(밀리세컨드) 정지합니다.
}