본문 바로가기
arduino

아두이노 PWM 제어: 초보자를 위한 완벽한 가이드

by Taesung 2023. 9. 26.
728x90

아두이노 PWM 제어에 대한 완벽한 설명서. 

 

PWM란 무엇인가요?

 

PWM(펄스 폭 변조, Pulse Width Modulation)은 전자 장치와 마이크로컨트롤러에서 사용되는 중요한 제어 기술 중 하나입니다. PWM은 디지털 신호를 사용하여 아날로그 신호의 값을 조절하는 방법 중 하나로, 주로 아날로그 출력을 모사하거나 디지털 시스템에서 모터, LED, 스피커 등의 속도나 밝기를 제어하는 데 사용됩니다.

 

PWM 신호는 일정한 주기(T)를 갖습니다. 주기는 펄스의 반복 주기를 나타내며 시간의 단위로 측정됩니다.
각 주기 내에서 펄스의 폭(고조, ON 시간)이 조절됩니다. 펄스 폭은 주로 백분율로 나타내어지며 주기에 대한 고조 시간의 비율을 나타냅니다.

소스코드

// C++ code
//
void setup()
{
  pinMode(6, OUTPUT); //6번 OUTPUT 설정
  //490Hz(3번, 9번, 10번, 11번)와 980Hz(5번, 6번)의 주파수를 갖음

}

void loop()
{
  
  delay(100);
  analogWrite(6, 0);
  delay(100);
  analogWrite(6, 10);
  delay(100);
  analogWrite(6, 50);
  delay(100);
  analogWrite(6, 100);
  delay(100);
  analogWrite(6, 150);
  delay(100);
  analogWrite(6, 200);
  delay(100);
  analogWrite(6, 255);
  delay(100);
  
}

아두이노 UNO기준 3,9,10,11, 5,6 번 핀만 PWM출력이 가능하도 보드에 핀번호를 보면 '~'표시가 되어있다

실험결과

analogWrite(6, 0)   6번핀에 0/255 만큼 HI신호가 출력된다.
analogWrite(6, 10)   6번핀에 10/255 만큼 HI신호가 출력된다.
analogWrite(6, 50)   6번핀에 50/255 만큼 HI신호가 출력된다.
analogWrite(6, 150)   6번핀에 150/255 만큼 HI신호가 출력된다.

 

analogWrite(6, 2000)   6번핀에 200/255 만큼 HI신호가 출력된다.
analogWrite(6, 255) 구간  6번핀에 255/255 만큼 HI신호가 출력된다.

 

위실험에서는 6번핀을 사용하여 980Hz 주기(T)를 갖습니다.
각 주기 내에서 analogWrite (6, x) 를 사용하여 펄스의 폭(x/255) 이 조절됩니다. 펄스의 폭이 조절됨에따라 LED의 밝기 또한 변하는 것을 볼수있습니다.

마무리.

이 글에서는 PWM의 작동 원리, 활용 예시, 그리고 코드 예제를 살펴보았습니다. 아두이노를 활용하여 다양한 디지털 장치를 조절하고 제어할 때 PWM의 강력한 기능을 활용해 보세요. 

 

 

반응형