def note(frequency, duration=1.0):
"""Play a single note.
:param frequency: Musical frequency in hertz
:param duration: Optional duration in seconds, use None to sustain note
"""
global _timeout
if frequency <= 0:
raise ValueError("Frequency must be > 0")
if duration is not None and duration <= 0:
raise ValueError("Duration must be > 0")
clear_timeout()
pwm.ChangeFrequency(frequency)
GPIO.setup(BUZZER, GPIO.OUT)
if duration is not None and duration > 0:
_timeout = Timer(duration, stop)
_timeout.start()
评论列表
文章目录