PWM(Pulse Width Modulation, 펄스 폭 변조)

CODEDRAGON Development/IoT

반응형

 

 

PWM(Pulse Width Modulation, 펄스 변조)

아두이노에서는 아날로그 값을 받을 있는 핀은 있지만, 아날로그 출력할 있는 핀은 없습니다. 그래서 디지털 핀을 이용해서 아날로그 출력 핀처럼 있는 방법을 PWM 제공합니다.

전력을 주고 안주고를 빠르게 반복하여 디지털 출력을 아날로그 출력처럼 보이게 합니다.

디지털 핀에는 LOW HIGH 출력할 있는 핀과 LOW HIGH상태의 시간을 조절해 아날로그 신호를 구현 있는 PWM기능을 지원하는 핀이 있습니다.

 

5V출력을 on/off 상태로 유지하는 것으로 출력하는 아니라 빠르게 on/off 반복함으로써 전압을 조절하게 됩니다.


 

 

on/off 간격(Pulse Width) 따라 평균전압이 낮아지는 효과가 납니다.

평균전압이 낮아져서 LED 어둡게 만들 있습니다.

아두이노에서는 500Hz 주파수, 2ms (0.002)간격으로 이런 작업을 수행합니다. 그리고 아두이노는 단계를 256 단계로 구분할 있습니다. 0V(0) ~ 5V (255) 256 단계로 구분해서 입력할 있다는 뜻입니다. 이를 통해 on/off 출력이 아니라 단계적인 출력이 가능해지므로 아날로그 출력이라고도 합니다.


 

on/off 간격(Pulse Width) 따라 평균전압이 낮아지는 효과가 납니다.

평균전압이 낮아져서 LED 어둡게 만들 있습니다.

LED 경우 전기를 주고 안주는 주기를 적게 하면 어두운 밝기를, 주기를 빠르게 하면 매우 밝은 밝기로 설정할 있습니다. 이를 통해 LED 밝기는 물론 모터 속도를 조절할 있게 됩니다.

256단계(0~25) 표현이 가능하며 이를 통해 소리, 빛의 밝기, 모터 속도등을 제어할 있습니다.