跳到主要内容

LED 亮灯

注意

本页内容已不再更新,请至 GPIO Zero 专有页面查看。

注意

本页内容已不再更新,请至 GPIO Zero 专有页面查看。

注意

本页内容已不再更新,请至 GPIO Zero 专有页面查看。

注意

本页内容已不再更新,请至 GPIO Zero 专有页面查看。

注意

本页内容已不再更新,请至 GPIO Zero 专有页面查看。

注意

本页内容已不再更新,请至 GPIO Zero 专有页面查看。

注意

本页内容已不再更新,请至 GPIO Zero 专有页面查看。

注意

本页内容已不再更新,请至 GPIO Zero 专有页面查看。

使用 GPIO 控制 LED 灯的点亮与熄灭,是初学者熟悉与掌握 GPIO 使用的有效手段。示例展示了树莓派的 GPIO 控制能力。

Python 中的 gpiozero包 有三种 LED 控制模块,分别为 LED(普通LED)PWMLED(脉宽调制LED)RGBLED(三色LED)

以下代码在 树莓派5 + Bookworm 验证通过,同时向下兼容其它树莓派。

LED 模块

使用 LED 点灯的简单示例。

接线图

将 LED 的阴极(短腿、扁平侧)连接至接地引脚;将阳极(较长的腿)连接到限流电阻;将限流电阻的另一端连接到 GPIO 引脚(限流电阻可以放置在 LED 的任一侧)。

LED接线图

代码示例(每秒交替点亮与熄灭)

from gpiozero import LED  # 导入LED模块
from time import sleep # 导入延时模块

led = LED(16) # 定义LED引脚为16

while True:
led.on() # 点亮LED
sleep(1) # 等待1秒
led.off() # 关闭LED
sleep(1) # 等待1秒

更多功能

LED模块的更多功能请参考 LED 模块

PWMLED 模块

使用 PWMLED 分级控制亮度。

接线图

将 LED 的阴极(短腿、扁平侧)连接至接地引脚;将阳极(较长的腿)连接到限流电阻;将限流电阻的另一端连接到 GPIO 引脚(限流电阻可以放置在 LED 的任一侧)。

PWMLED接线图

代码示例(可变亮度调节)

from gpiozero import PWMLED  # 导入PWMLED模块
from time import sleep # 导入sleep模块

led = PWMLED(16) # 定义LED引脚为16

while True:
led.value = 0 # 熄灭
sleep(1)
led.value = 0.5 # 半亮
sleep(1)
led.value = 1 # 全亮
sleep(1)

代码示例(连续淡入和淡出)

使用 PWMLED pulse 方法实现连续淡入和淡出。

from gpiozero import PWMLED  # 导入PWMLED模块
from signal import pause # 导入pause模块

led = PWMLED(16) # 定义LED引脚为16

led.pulse() # 使用pulse()方法来实现LED的脉冲闪烁

pause() # 保持程序运行

更多功能

PWMLED模块的更多功能请参考 PWMLED 模块

RGBLED 模块

使用 RGBLED 并控制全彩 LED 组件(由红色、绿色和蓝色 LED 组成)。

接线图

将共阴极(最长的引脚)连接到接地引脚;将其他每个引脚(代表红色、绿色和蓝色阳极)连接到 GPIO 引脚。您应该使用三个限流电阻(每个阳极一个)。

注意

请注意引脚阴极和阳极的顺序(红色、绿色和蓝色),不同的型号可能有着不同的定义,请根据实际情况进行接线。

RGBLED接线图

代码示例(显示黄色)

from gpiozero import RGBLED  # 导入LED模块
from signal import pause # 导入pause模块

led = RGBLED(1, 16, 20) # 定义RGBLED引脚为 红色1,绿色16,蓝色20
led.color = (1, 1, 0) # 设置颜色为黄色(红+绿)

pause() # 保持程序运行