gpiozeroライブラリ入門②import LED その2
LEDクラスの詳細です。
クラスの中に複数のメソッドがあります。メソッドはクラス・オブジェクトとも呼ばれます。
クラス gpiozero.LED(pin, *, active_high=True, initial_value=False, pin_factory=None)パラメータ:
|
クラスはimportして利用します。メソッド(クラス・オブジェクト、関数、変数)は、クラス名にドットをつけてつなげます。
●importの記述方法は複数ある
LEDを点灯したいときの記述です。
import gpiozero led = gpiozero.LED(17) led.on() |
エディタでled = gpiozero.LEDを入力していると、LEDで始めるクラスもしくはモジュール名が表示されました。
importのところをLEDクラスだけにします。こちらのほうが使いやすいですね。
from gpiozero import LED led = LED(17) led.on() |
●残りのクラス・オブジェクトを使う
pinはピン番号なのでGPIO17、is_litとValueはLEDが点灯すれば'1'(True)です。
toggleはONとOFFの状態を逆転させます。
from gpiozero import LED
from time import sleep
led = LED(17)
while True:
print('---')
led.on()
print('ON {} {} {}'.format(led.pin, led.is_lit, led.value))
sleep(1)
led.off()
print('OFF {} {} {}'.format(led.pin, led.is_lit, led.value))
sleep(1)
led.toggle()
print('toggle {} {} {}'.format(led.pin, led.is_lit, led.value))
sleep(1)
led.toggle()
print('toggle {} {} {}'.format(led.pin, led.is_lit, led.value))
sleep(3.14)
|
期待通りの状態になりました。
blinkは、n=xで点滅回数xを指定できます。次のプログラムで確認をします。デフォルトで、点灯と消灯の時間はそれぞれ1秒です。5回の点滅には10秒かかります。
from gpiozero import LED
from time import sleep
led = LED(17)
led.off()
sleep(3)
while True:
print('blink start')
led.blink(n=5)
print('{} {} {}'.format(led.pin, led.is_lit, led.value))
sleep(15)
|
「blink start」と表示した直後に「GPIO17 True 1」が表示されます。LEDの点滅は続いています。LEDの点滅は、別のスレッドで動作していることが確認できました。
gpiozero Copyright 2015-2020 Ben Nuttall