Page 71 - 최강 아두이노 퍼스트 참고서
P. 71
아두이노 우노 R3 에서 사용하는 ATMega328 MCU 에는 3 개의 하드웨어 타이머가 있습니
다.
아두이노 우노 R3 부트로더에서는 하나의 타이머마다 2 개의 PWM 포트를 연동하도 록 되어
있습니다. 한 개의 타이머에는 2 개의 PWM 포트를 연동하게 되어 있습니다. 그리고 3 개의
타이머는 조금 다른 Frequency 로 설정 되어 있습니다.
void setup()
{
pinMode(5,OUTPUT); pintMode(11,OUTPUT);
analogWrite(5,200); // 5 ƷƮpwm ; 200 8Πvd.
analogWrite(11,200); // 11 ƷƮpwm ; 200 8Πvd.
}
void loop()
{
}
위의 코드를 업로드 후에 5번핀, 11번 핀의 전압을 테스터기로 측정하면 약간의 전압 오차가
있습니다.
255 값이 5V 로 보았을 경우 200 의 출력 값은 4V 입니다. 그럼 균등하게 5번 핀과 11번 핀의
출력 전압은 4V 로 되어야 합니다. 실제 측정된 값은 약간 다릅니다.
아두이노 프로젝트에서 PWM 포트를 2 개 사용하는 경우에는 짝을 지어서 사용해야 합니다.
5,6 번 TIMER0 에 의해 제어됩니다.
9,10 번 TIMER1 에 의해 제어됩니다.
3,11 번 TIMER2 에 의해 제어됩니다.
2 개의 PWM 포트를 사용하는 경우에는 위에 지정된 포트를 사용해야 합니다.
PWM 제어가 필요한 1 개의 모듈을 사용하는 경우 PWM 지원되는 포트, 구분 없이 사용하면
됩니다. 하지만, 2 개의 모듈을 사용하는 경우, 동일한 전압레벨 차이를 이용 하는 경우에는 짝
지어진 PWM 포트를 사용하면 결과적으로 정확한 제어가 가능합니다.
71