gpiozeroライブラリ入門⑤import Buzzer
前回、「gpiozeroライブラリ入門④import RGBLED」で調べたように、GPIOポートが最初にHighだと、ブザーをつなぐとプログラムが動く前から音が鳴ります。
今回のBuzzerは自励式です。電圧が端子にかかると一定の周波数の音が鳴ります。次回のTonalBuzzerは他励式です。どちらも接続するケーブルは2本です。
アマゾンで入手しました。
●「mxuteuk 3個dc 3-24V有線電子ブザー警報サウンダスピーカービープ音連続音HF-4216-I」のおもなスペック
- 動作電圧 3~24V
- 動作電流 12V時15mA、実測3.3V時2mA
●接続
赤色をGPIO21へ、黒色のリード線をGNDにつなぎました。
●クラスBuzzer
このインターフェースは、単純なON/OFFコマンドのみで、さまざまなトーンを再生することはできません。
クラスgpiozero.Buzzer(pin, *, active_high=True, initial_value=False, pin_factory=None)パラメータ: pin (int or str) – ブザーが接続されているGPIOピン。 有効なピン番号は、ピン番号を参照。 これがNoneの場合、GPIODeviceErrorが発生する。
|
●プログラム-ブザーのON/OFF
ブザーを鳴らします。1秒鳴って1秒休みます。
from gpiozero import Buzzer from time import sleep bz = Buzzer(21) bz.beep() sleep(3) print(bz.is_active) |
3秒経ってis_activeを実行した結果はFalseでした。ブザーは継続して鳴っています。
●プログラム-リレーのON/OFF
LEDと同じく、BuzzerはGPIOのON/OFFしているだけです。次のようにリレーをつないでもON/OFFはできます。Buzzerの別名にRelayを使いました。リレーの駆動は、こちらの記事を参照ください。
from gpiozero import Buzzer as Relay from time import sleep RL = Relay(21) RL.on() sleep(3) RL.off() |
gpiozero Copyright 2015-2020 Ben Nuttall