这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【树莓派5试用】4、基于PWM的呼吸灯

共4条 1/1 1 跳转至

【树莓派5试用】4、基于PWM的呼吸灯

高工
2025-06-08 15:56:12     打赏

        PWM(Pulse-Width Modulation)系脉冲宽度调制的简称,为一种模拟信号电平的数字编码技术。该技术通过将连续电信号离散化,实现降低所传递平均功率的目的。依据面积等效原理,通过调整脉冲时间宽度,可有效合成所需幅值与频率的波形,从而实现模拟电路的数字化控制,此举能显著降低系统成本与功耗。当前,众多微控制器及数字信号处理器(DSP)已内置PWM控制器芯片,便于实施数字化控制。PWM信号通过调节占空比,实现对信号、能量等变化的精准调控。尽管PWM输出可通过GPIO输出配合延时模拟实现,但高级微控制器通常配备专用外设。在树莓派平台上,可利用gpiozero库,通过PWMLED类实现PWM信号输出。之前用的RPI.GPIO库只能实现GPIO的输入输出操作。

        可以直接按前面的方式连接不动,继续使用3脚GPIO通道,然后新建一个文件为pwmled.py的文件,然后输入如下代码:
from gpiozero import PWMLED
from time import sleep
import math

led = PWMLED(3)
N=100
x=1
state=True
while True:                
    print(x)
    if state:
        x += 1
        if x==N:
            state=False
        led.value = x/N
    else:
        x -= 1
        if x==1:
            state=True
        led.value = x/N
    sleep(0.01)

        效果如下:

image.png

        这里需要注意,PWMLED使用的引脚用外侧命名规则的编号:

image.png

        这就很方便了,直接通过python进行控制,也不需要进行太多的配置,使用的库文件实际上把驱动都集成了。


专家
2025-06-08 22:03:32     打赏
2楼

感谢分享


专家
2025-06-08 22:04:59     打赏
3楼

感谢分享


专家
2025-06-08 22:08:55     打赏
4楼

感谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]