Python Gpiozero 中文API(一) - Input Devices - Button
原文:https://www.cooooder.com/archives/2020122501
GPIO Zero库是一个用于处理GPIO引脚的Python库,旨在直观和“友好”,它简化了大多数常规Raspberry Pi用例的Python代码。
类
class Button 继承于 DigitalInputDevice,代表一个简单的按钮或者开关
按钮的一端连接地线,另一端连接到任何GPIO引脚;或者按钮的一端连接3V3引脚,另一端连接任何GPIO引脚,然后在Button的初始化构造方法设置pull_up为False
构造方法参数
class gpiozero.Button(pin, *, pull_up=True, active_state=None, bounce_time=None, hold_time=1, hold_repeat=False, pin_factory=None)
- pin
- 参数类型:int或者string
- 表示按钮连接的GPIO引脚号码,引脚号参考 Broadcom
- 若设置为None,会抛 GPIODeviceError 异常
- pull_up
- 参数类型:bool或者None
- 表示使用内部电阻器上拉该引脚
- 设置为True(默认)时,上拉电阻将GPIO引脚设置为“高”,按钮另一端需连接地线
- 设置为Flase时,上拉电阻将GPIO引脚设置为“低”,按钮另一端需连接3V3引脚
- 设置为None时,GPIO引脚悬空,gpiozero无法猜测活动状态,必须设置active_state
- active_state
- 参数类型:bool或者None
- 设置为True时,当硬件引脚状态为“高”,软件显示引脚状态也为“高”
- 设置为False时,则输入的极性相反,当硬件引脚状态为“高”,软件显示引脚状态为“低”
- 当pull_up设置为None时,使用该参数设置未知的引脚活动状态
- 当pull_up设置为True或者False时,引脚的活动状态被将自动赋值
- bounce_time
- 参数类型:float
- 一般开关在大约20ms内信号不稳定,存在所谓的“开关抖动”
- 设置为None时,将不执行软件抖动补偿,否则该参数是组件在初始更改后忽略的时间长度(秒),默认1s
- hold_time
- 按下按钮后直到 when_held 执行前等待的时间(秒)
- hold_repeat
- 参数类型:bool
- 当设置为True时:每隔hold_repeat秒重复执行 when_held