소개
설정한 주파수(Frequency, Hz)와 Duty Cycle(%)로 PWM(Pulse Width Modulation) 출력을 발생시킵니다. LED밝기제어, 서보모터, DC모터 제어등 다양한 목적에 사용될 수 있습니다.
라즈베리파이의 하드웨어 PWM이 아닌, 소프트웨어적으로 구현된 PWM 출력신호로 출력가능한 주파수는 다음으로 제한됩니다.
10, 20, 40, 50, 80, 100, 160, 200, 250, 320, 400, 500, 800, 1000, 1600, 2000, 4000, 8000 Hz
10, 20, 40, 50, 80, 100, 160, 200, 250, 320, 400, 500, 800, 1000, 1600, 2000, 4000, 8000 Hz
명령
INIT
PWM 주파수(Frequency)와 해상도(Full Step Range)를 설정합니다.
항목 | 타입 | 설명 |
---|---|---|
GPIO 핀 | WRITE | PWM 출력을 사용할 GPIO핀을 설정합니다. |
Frequency (Hz) | WRITE | 출력주파수를 설정합니다. (0~8,000Hz) |
Full Step Range | WRITE | 출력신호의 해상도를 설정합니다. (25~40,000 ,예: 255 → 0~100%를 255단계로 나눔) |
소프트웨어 PWM 신호는 설정 주파수, Full range step 과 실제 출력신호에 차이가 발생할 수 있습니다. Duty Cycle(%)은 정확하므로 대부분의 경우에는 문제가 없으나, 정확한 주파수의 PWM출력이 필요한 경우에는 라즈베리파이 하드웨어 PWM을 사용해야 합니다.
SET_PWM
PWM 신호를 출력합니다.
항목 | 타입 | 설명 |
---|---|---|
Duty Cycle (%) | WRITE | 입력한 Duty Cycle의 PWM 신호를 출력합니다. (0~100%) |
READ_PWM
출력되는 PWM 신호의 실제정보를 읽어옵니다.
항목 | 타입 | 설명 |
---|---|---|
Frequency(Hz) | READ | 실제 출력주파수 입니다. |
Full step range | READ | 실제 출력해상도 (Full Step Range)입니다. |
Step | READ | 실제 출력 Step입니다. (예: Full step range 250, 50% duty cycle → 125) |
예제
부품
부품 | 갯수 |
---|---|
적색 LED | 1 |
220Ω 저항 ¹ | 1 |
¹ 저항의 용량 선정 방법은 여기를 참고합니다.
연결
부품1 | 부품2 | GPIO |
---|---|---|
LED + ¹ | | 18 |
LED – | 220Ω 저항 | GND |
¹ 임의의 GPIO핀에 연결할 수 있습니다.