这些输出设备组件接口是为日常组件的简单使用而提供的。在代码中使用组件前,必须正确布线。
所有 GPIO 引脚编号默认使用 Broadcom (BCM) 编号。更多信息,请参阅 引脚编号 部分。
常规类
下列类用于它们 所代表的设备。本节中的所有类都是具体类(非抽象类)。
LED
class gpiozero.LED(pin, *, active_high=True, initial_value=False, pin_factory=None)
扩展 DigitalOutputDevice,表示一个发光二极管(LED)。
将 LED 的阴极(短腿,平坦的一侧)连接到接地引脚;将阳极(长腿)连接到限流电阻;将限流电阻的另一侧连接到 GPIO 引脚(限流电阻可以放在 LED 的任一侧)。
以下示例将点亮 LED:
from gpiozero import LED
led = LED(17)
led.on()
| 参数 |
- pin (
int 或 str)- LED 连接的 GPIO 引脚。更多信息请参阅 引脚编号。如果为 None,将抛出 GPIODeviceError。
- active_high (
bool)- 如果为 True(默认值),LED 将按照上述电路正常工作。如果为 False,则应将阴极连接到 GPIO 引脚,将阳极连接到 3V3 引脚(通过限流电阻)。
- initial_value (
bool 或 None)- 如果为 False(默认值),LED 初始状态为关闭。如果为 None,LED 将保持引脚配置为输出时发现的任何状态(警告:这可能是开启状态)。如果为 True,LED 初始将被打开。
- pin_factory (
Factory 或 None)- 请参阅 API - Pins 获取更多信息(这是一项高级功能,大多数用户可以忽略)。
|
property on
打开设备。
property off
关闭设备。
property toggle
反转设备的状态。如果当前是开,则关闭;如果当前是关,则打开。
blink(on_time=1, off_time=1, n=None, background=True)
使设备重复开启和关闭。
| 参数 |
- on_time (
float)- 开启的秒数。默认为 1。
- off_time (
float)- 关闭的秒数。默认为 1。
- n (
int 或 None)- 闪烁的次数;None(默认值)表示永久闪烁。
- background (
bool)- 如果为 True(默认值),启动后台线程继续闪烁并立即返回。如果为 False,仅在闪烁完成后返回(警告:n 的默认值将导致此方法永不返回)。
|
property pin
设备连接的 Pin。如果设备已关闭,此属性将为 None(参见 close() 方法)。在处理 GPIO 引脚时,查询 pin.number 以发现设备连接的 GPIO 引脚(BCM 编号)。
property is_lit
当设备当前活动时返回 True,否则返回 False。此属性通常从 value 派生。与 value 不同,这始终是布尔值。
property value
如果设备当前活动则返回 1,否则返回 0。设置此属性会更改设备的状态。
PWMLED
class gpiozero.PWMLED(pin, *, active_high=True, initial_value=0, frequency=100, pin_factory=None)
扩展 PWMOutputDevice,表示具有可变亮度的发光二极管(LED)。
典型的此类设备配置是将 GPIO 引脚连接到 LED 的阳极(长腿),将阴极(短腿)连接到接地,使用可选的电阻以防止 LED 烧毁。
| 参数 |
- pin (
int 或 str)- LED 连接的 GPIO 引脚。更多信息请参阅 引脚编号。如果为 None,将抛出 GPIODeviceError。
- active_high (
bool)- 如果为 True(默认值),on 方法将 GPIO 设置为 HIGH。如果为 False,on 方法将 GPIO 设置为 LOW(off 方法总是相反)。
- initial_value (
float)- 如果为 0(默认值),LED 初始状态为关闭。可以指定 0 到 1 之间的其他值作为 LED 的初始亮度。注意,不能指定 None(与父类不同),因为 PWM 无法不改变引脚状态。
- frequency (
int)- 用于驱动 LED 的脉冲频率(以 Hz 为单位)。默认为 100Hz。
- pin_factory (
Factory 或 None)- 请参阅 API - Pins。
|
property on
打开设备,使其达到最大亮度。
property off
关闭设备。
property toggle
反转设备的状态。如果设备当前关闭(value 为 0.0),则将其改为"完全"开启(value 为 1.0)。如果设备的占空比(value)为 0.1,这会将其切换到 0.9,以此类推。
blink(on_time=1, off_time=1, fade_in_time=0, fade_out_time=0, n=None, background=True)
使设备重复开启和关闭。
| 参数 |
- on_time (
float)- 开启的秒数。默认为 1。
- off_time (
float)- 关闭的秒数。默认为 1。
- fade_in_time (
float)- 淡入的秒数。默认为 0。
- fade_out_time (
float)- 淡出的秒数。默认为 0。
- n (
int 或 None)- 闪烁的次数;None(默认值)表示永久闪烁。
- background (
bool)- 如果为 True(默认值),启动后台线程继续闪烁并立即返回。如果为 False,仅在闪烁完成后返回(警告:n 的默认值将导致此方法永不返回)。
|
pulse(fade_in_time=1, fade_out_time=1, n=None, background=True)
使设备重复淡入和淡出。
| 参数 |
- fade_in_time (
float)- 淡入的秒数。默认为 1。
- fade_out_time (
float)- 淡出的秒数。默认为 1。
- n (
int 或 None)- 脉冲的次数;None(默认值)表示永久脉冲。
- background (
bool)- 如果为 True(默认值),启动后台线程继续脉冲并立即返回。如果为 False,仅在脉冲完成后返回(警告:n 的默认值将导致此方法永不返回)。
|
property pin
设备连接的 Pin。
property is_lit
当设备当前活动(value 非零)时返回 True,否则返回 False。
property value
PWM 设备的占空比。0.0 完全关闭,1.0 完全开启。可以为设备中不同的功率级别指定中间值。
RGBLED
class gpiozero.RGBLED(red, green, blue, *, active_high=True, initial_value=(0, 0, 0), pwm=True, pin_factory=None)
扩展 CompositeOutputDevice,表示一个全彩 LED 组件(由红、绿、蓝三个 LED 组成)。
将 RGBLED 的共阴极连接到接地引脚;将红色、绿色和蓝色阳极分别连接到任意 GPIO 引脚。
以下示例将 LED 设置为黄色:
from gpiozero import RGBLED
led = RGBLED(2, 3, 4)
led.color = (1, 1, 0)
还支持 colorzero 库:
from gpiozero import RGBLED
from colorzero import Color
led = RGBLED(2, 3, 4)
led.color = Color('yellow')
| 参数 |
- red (
int 或 str)- 红色 LED 连接的 GPIO 引脚。
- green (
int 或 str)- 绿色 LED 连接的 GPIO 引脚。
- blue (
int 或 str)- 蓝色 LED 连接的 GPIO 引脚。
- active_high (
bool)- 如果为 True( 默认值),LED 将按照共阴极配置正常工作。如果为 False,使用共阳极配置。
- initial_value (
Color 或元组)- LED 的初始颜色。默认为黑色 (0, 0, 0)。
- pwm (
bool)- 如果为 True(默认值),构造 PWMLED 实例以表示每个组件。如果为 False,构造常规的 LED 实例,这将阻止改变每个组件的亮度。
- pin_factory (
Factory 或 None)- 请参阅 API - Pins。
|
property on
打开 LED。这等同于将 LED 颜色设置为白色 (1, 1, 1)。
property off
关闭 LED。这等同于将 LED 颜色设置为黑色 (0, 0, 0)。
property toggle
反转设备的状态。如果设备当前是关闭(value 为 (0, 0, 0)),则将其改为"完全"开启(value 为 (1, 1, 1))。如果设备有特定颜色,此方法将反转该颜色。
blink(on_time=1, off_time=1, fade_in_time=0, fade_out_time=0, on_color=(1, 1, 1), off_color=(0, 0, 0), n=None, background=True)
使设备重复开启和关闭。
| 参数 |
- on_time (
float)- 开启的秒数。默认为 1。
- off_time (
float)- 关闭的秒数。默认为 1。
- fade_in_time (
float)- 淡入的秒数。默认为 0。如果类构造时 pwm 为 False,则必须为 0(否则将引发 ValueError)。
- fade_out_time (
float)- 淡出的秒数。默认为 0。如果类构造时 pwm 为 False,则必须为 0(否则将引发 ValueError)。
- on_color (
Color 或 tuple)- LED"开启"时使用的颜色。默认为白色。
- off_color (
Color 或 tuple)- LED"关闭"时使用的颜色。默认为黑色。
- n (
int 或 None)- 闪烁的次数;None(默认值)表示永久闪烁。
- background (
bool)- 如果为 True(默认值),启动后台线程继续闪烁并立即返回。如果为 False,仅在闪烁完成后返回(警告:n 的默认值将导致此方法永不返回)。
|
pulse(fade_in_time=1, fade_out_time=1, on_color=(1, 1, 1), off_color=(0, 0, 0), n=None, background=True)
使设备重复淡入和淡出。
| 参数 |
- fade_in_time (
float)- 淡入的秒数。默认为 1。
- fade_out_time (
float)- 淡出的秒数。默认为 1。
- on_color (
Color 或 tuple)- LED"开启"时使用的颜色。默认为白色。
- off_color (
Color 或 tuple)- LED"关闭"时使用的颜色。默认为黑色。
- n (
int 或 None)- 脉冲的次数;None(默认值)表示永久脉冲。
- background (
bool)- 如果为 True(默认值),启动后台线程继续脉冲并立即返回。如果为 False,仅在脉冲完成后返回(警告:n 的默认值将导致此方法永不返回)。
|
property red
将 LED 的红色元素表示为 Red 对象。
property green
将 LED 的绿色元素表示为 Green 对象。
property blue
将 LED 的蓝色元素表示为 Blue 对象。
property is_lit
当 LED 当前处于活动状态(不是黑色)时返回 True,否则返回 False。
property color
将 LED 的颜色表示为 Color 对象。
property value
将 LED 颜色表示为 (红, 绿, 蓝) 的 RGB 3 元组,每个值从 0 到 1(如果类构造时 pwm 为 True),或者只能是 0 或 1(如果不是)。
例如,红色将是 (1, 0, 0),黄色将是 (1, 1, 0),而橙色将是 (1, 0.5, 0)。
Buzzer
class gpiozero.Buzzer(pin, *, active_high=True, initial_value=False, pin_factory=None)
扩展 DigitalOutputDevice,表示数字蜂鸣器组件。
此接口仅能执行简单的开/关命令,无法播放各种音调(请参阅 TonalBuzzer)。
将蜂鸣器的阴极(负引脚)连接到接地引脚;将另一侧连接到任意 GPIO 引脚。
以下示例将发出蜂鸣声:
from gpiozero import Buzzer
bz = Buzzer(3)
bz.on()
| 参数 |
- pin (
int 或 str)- 蜂鸣器连接的 GPIO 引脚。更多信息请参阅 引脚编号。如果为 None,将抛出 GPIODeviceError。
- active_high (
bool |