创建一个 PWM 实例对象:
1 | p = GPIO.PWM(channel, frequency) |
启动 PWM:
1 | p.start(dc) # dc 指代占空比 (0.0 <= dc <= 100.0) |
更改频率:
1 | p.ChangeFrequency(freq) # freq 指代新频率值,单位是 Hz |
To change the duty cycle:
1 | p.ChangeDutyCycle(dc) # 0.0 <= dc <= 100.0 |
停止 PWM:
1 | p.stop() |
注意如果变量 p
超出范围,PWM 也将停止。
一个让 LED 每两秒闪烁一次的例子:
1 | import RPi.GPIO as GPIO |
一个调亮/调暗 LED 的例子:
1 | import time |
译注:
占空比(Duty cycle)在电信领域中意思(引自 https://wenku.baidu.com/view/6540b82d453610661ed9f463.html):
- 在一串理想的脉冲序列中(如方波),正脉冲的持续时间与脉冲总周期的比值
- 例如:脉冲宽度1μs,信号周期4μS的脉冲序列占空比为0.25
- 在一段逶续工作时间内脉冲占用的时间与总时间的比值
- 负载周期在中文成语中有句话可以形容:「一天捕渔,三天晒网」则负载周期为0.25
- 占空比是高电平所占周期时间与整个周期时间的比值
- 占空比越大,高电平持续的时间越长,电路的开通时间就越长