LED を点滅させる ~ GPIO の利用方法
GPIO を利用する簡単なプログラミング例として、LED を点滅させてみましょう。
ここでは Raspberry Pi 3 Model B 上の Raspbian で Python 3 を利用しています。
プログラミング言語 Python については、「Python 入門」などを参考にしてください。
また、Raspbian は Debian ベースの要は Linux のひとつなので、必要に応じて「Linux 入門」も参考になるかもしれません。
LED の接続
さて、ここでは GPIO4 に LED を接続します。ピン配置は 「Raspberry Pi 2/3 B ピン配列 (40ピン)」 に記載しましたが、GPIO4 は左側の列の上から4番目です。
GPIO4 から LED と 抵抗 (ここでは 220Ω) を繋ぎ (順番は任意)、GND へと繋ぎます。
プログラムは次の通りです。
import RPi.GPIO as GPIO
import time
led_pin = 4
GPIO.setmode(GPIO.BCM)
GPIO.setup(led_pin, GPIO.OUT)
for i in range(10):
GPIO.output(led_pin, True)
time.sleep(1)
GPIO.output(led_pin, False)
time.sleep(1)
GPIO.cleanup()
GPIO を BCM 番号で指定するために setmode で GPIO.BCM を指定しています。
setup で GPIO4 を出力に指定。それから 1 秒おきに output で True (High) / False (Low) を切り替えます。これを 10 回繰り返し。
最後に GPIO.cleanup でクリーンアップします。
動作の様子 (最初の数秒のみ) は次の通り。
ちなみに cleanup は同じプログラムでセットした OUTPUT ポートを INPUT に切り替えます。もし OUTPUT のままに放っておいて、 かつ HIGH にしていた場合、それを GND に繋ぐと短絡し危険です。このため GPIO を使ったら必ず cleanup を呼び出しましょう。