설명
PWM신호를 통해 LED 제어 또는 DC 모터 제어등을 할 수 있다.
파형에서 HIGH가 차지하는 비율을 duty ratio라고 한다.
회로

회로 설명
구성된 회로를 통해 3번 핀에서 발생하는 PWM신호와 5번 핀에서 발생하는 PWM 신호는 duty ratio를 조절할 수 있지만 주기는 서로 다르다는 것을 확인 할 수 있다.
(3번과 5번의 주기는 2배정도 차이난다고 볼 수 있음)
PWM 신호를 통해 LED 밝기 제어하는 회로

코드
// C++ code
//
void setup() { /// 아날로그는 핀번호 설정 안해도 돼
}
void loop() {
analogWrite(3, 64); /// 0 ~ 255 8bit 모드의 timer사용
delay(1000);
analogWrite(3, 128);
delay(1000);
analogWrite(3, 192);
delay(1000);
analogWrite(3, 255);
delay(1000);
}
설명
analogWrite(3, 128); 은 3번핀을 통해 아날로그 신호를 출력한다. 두번째 전달인자로 255를 전달하는 경우 All HIGH이며, 128인 경우 0.5의 duty ratio를 갖는다.
추가설명
PWM 신호를 발생시킬 때 사용하는 timer는 8비트 모드이므로 0 ~ 255사이 값을 통해 duty ratio를 조절할 수 있다
'아두이노' 카테고리의 다른 글
| 아두이노 / 시리얼 통신을 통한 서보 제어 (2) | 2024.12.20 |
|---|---|
| 아두이노 / 라즈베리파이와 아두이노의 시리얼 통신 (0) | 2024.12.20 |
| 아두이노 / 외부 전원으로 서보모터 제어하기 (5) | 2024.12.20 |
| 아두이노 / 아날로그 입력을 통해 LED 밝기 제어하기 (1) | 2024.12.08 |