Python Gpiozero 中文API(四) – Output Devices – Buzzer 蜂鸣器

  • Post author:
  • Post category:python




Python Gpiozero 中文API(四) – Output Devices – Buzzer 蜂鸣器


原文:

https://www.cooooder.com/archives/20210615




class Buzzer 继承于 DigitalOutputDevice,代表一个数字蜂鸣器组件,此接口只能执行简单的开/关命令,不能播放多种音调(多种音调需使用 TonalBuzzer),将蜂鸣器的阴极连接地线,另一侧连接GPIO引脚。



构造方法参数

class gpiozero.Buzzer(pin, *, active_high=True, initial_value=False, pin_factory=None)

  • pin

    • 参数类型:int或者string
    • 蜂鸣器连接的GPIO引脚,如果设置None,会抛GPIODeviceError
  • active_high

    • 参数类型:bool
    • 如果True(默认),on()方法会将 GPIO 设置为高电平,如果False,on()方法会将 GPIO 设置为低电平
  • initial_value

    • 参数类型:float
    • 如果是False(默认),蜂鸣器最初将静音,如果是True,蜂鸣器将首先打开
  • pin_factory

    • 参数类型:Factory或None
    • Gpiozero库对很多GPIO相关功能进行了封装,但它自己并不实现GPIO口底层的操作,而是借由一些现有的库来实现,Pin Factory就是用来连接上层和底层库的。
    • 默认情况下大部分Gpiozero库功能都是由RPi.GPIO库来实现的,可以通过Pin Factory来更改所使用的库,参考

      Pin Factory

蜂鸣器发声示例:

from gpiozero import Buzzer

bz = Buzzer(3)
bz.on()



方法




属性


Buzzer 方法




beep(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 的默认值的情况下将导致此方法永不返回)



off()

关闭蜂鸣器




on()

打开蜂鸣器




toggle()

反转蜂鸣器的状态,如果处于打开状态,则会将它关闭,如果处于关闭状态,则会将它打开


Buzzer 属性




is_active

返回True,表示蜂鸣器当前处于激活状态,否则返回False




pin

蜂鸣器连接的引脚号,如果已关闭,则返回None




value

如果蜂鸣器当前处于激活状态,则返回 1,否则返回 0。设置此属性会更改蜂鸣器的状态。



相关API快捷导航


出处:https://www.cooooder.com/archives/20210615



转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任



版权声明:本文为zszangy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。