使用 Adafruit Blinka 库驱动 PWM

1. 安装 Adafruit Blinka 及其依赖

登入 root 用户,并安装 Python 3 和 pip

1
2
$ su root -l
$ apt install python3 python3-pip

安装 Adafruit-Python-PlatformDetect,用于自动检测运行平台。

1
$ pip3 install git+https://github.com/Loongbian/Adafruit_Python_PlatformDetect.git

安装 Adafruit-Blinka 本体。

1
$ pip3 install git+https://github.com/Loongbian/Adafruit_Blinka.git

2. 硬件连线

将一个 LED 灯模块正极接主板 PWM0 引脚,负极接 GND 引脚,你可能需要串联一个限流电阻以避免 LED 烧坏。

3. 编写 PWM 控制程序

以下为一个简单呼吸灯程序(来源),使用常用文本编辑器编辑并保存为 pulse.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import time
import board
import pulseio

led = pulseio.PWMOut(board.PWM0, frequency=5000, duty_cycle=0)

while True:
for i in range(100):
# PWM LED up and down
if i < 50:
led.duty_cycle = int(i * 2 * 65535 / 100) # Up
else:
led.duty_cycle = 65535 - int((i - 50) * 2 * 65535 / 100) # Down
time.sleep(0.01)

使用 Python 3 运行

1
$ python3 pulse.py