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