Raspberry PiでLEDを点灯させるまでの手順メモ
用意するもの
- Raspberry Pi 2 Model B(セットアップ済みのもの、OSはRaspbian)
- 330Ωの抵抗 1本
- 赤色LED 1個
- ブレッドボード
- ブレッドボード用ジャンパーワイヤ(オス-メス) 2本
Raspberry Pi 2以外は、秋月電子通商で購入した。
(2〜5は、送料別で計800円だった)
GPIOの配置の確認
回路を作成する前に、GPIOの配置について確認しておく。
GPIOピンの構成は公式サイトに記載されていた。
また、公式サイトにピンの配置が色付けされているものがあった。
GPIO番号とピン番号は異なるので注意
(下図はピン番号で表記したもの。GPIO番号での表記したものもリンク先にある)
Raspberry Pi2のピン配置図があったので、公式サイトにあったので追記 (2015/10/24 追記)
公式サイト
GPIO番号で表記されたもの
回路を作成
以下の通りに回路を作成し、Raspberry Piと接続する。
【ブレッドボード】
抵抗: b4-b8
LED: c8-c9
c8にプラス(端子の長い方)接続
【ブレッドボードとRaspberry Pi】
ジャンパーワイヤ:a4 - ピン番号22(GPIO 25)
ジャンパーワイヤ:a9 - ピン番号6
Raspberry PiでLEDをチカチカさせる
LEDを点灯させるためのコードをPythonで書いてみる。
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM) # GPIO番号で指定
GPIO.setup(25, GPIO.OUT) # GPIOを出力として使用する
GPIO.output(25, GPIO.HIGH) # GPIO 25の出力をHIGHに設定する(HIGHにすることでLEDが点灯)
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM) # GPIO番号で指定
GPIO.setup(25, GPIO.OUT) # GPIOを出力として使用する
GPIO.output(25, GPIO.LOW) # GPIO 25の出力をLOWに設定する(LOWにすることでLEDが消灯)
GPIOを指定するときに、GPIO番号とピン番号で指定することができる。
- GPIO番号で指定する場合
GPIO.setmode(GPIO.BCM)
- ピン番号で指定する場合
GPIO.setmode(GPIO.BOARD)
実行
LEDを点灯させる。
$ sudo python led_high.py
LEDを消灯させる。
$ sudo python led_low.py
led_low.py:4: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(25, GPIO.OUT)
LEDは消えたが、警告がでる。
この警告は、"GPIO 25を出力に設定しようとしているが、すでに使用済み"と言っている。
プログラム終了時に、以下のように設定の解除を行う必要がある。
GPIO.cleanup()
以下のようにするとすぐにLEDが消灯するので注意
(GPIO.cleanupを実行した時点で消灯する)
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT)
GPIO.output(25, GPIO.HIGH)
GPIO.cleanup() # <- 消灯
以下のsleepなどで待つ処理が必要
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT)
GPIO.output(25, GPIO.HIGH)
time.sleep(2) # この間は点灯し続ける
GPIO.cleanup() # <- 消灯