Raspberry Piで、PythonをGPIOを使用して、LEDを点滅させます。
LEDをチカチカさせるため、通称「Lチカ」と呼ばれる制御の「Hallo World」です。
GPIOとブレッドボードを接続するコネクタを使用します。
使用するもの
RaspberryPiで電子回路を制御する場合、GPIOとブレッドボードを接続するケーブルを使用した方がなにかと便利です。
たくさんのGPIOを使用する場合は、ケーブルとコネクタが一緒になったものが便利です。
GPIOをすべて取り出す必要我ない場合は、メス-オスのブレッドボード用のケーブルが便利です。
Amazonでも安いものが簡単に手に入るので、少し多めに購入しておくことをオススメします。
GPIOとコネクタを接続する
Raspberry PiのGPIOとLEDを接続します。
ここでは、GPIOとブレッドボードを、メス-オスのブレッドボード用ケーブルで接続して、ブレッドボード上でLEDを点灯させます。
最初にLEDが点灯できることを確認します。1番ピンは、3.3vに接続されているため、常に電流をとることができます。まずは、LEDの足が長い方(アノード)を、1番ピンに接続し、足が短い方(カソード)を抵抗1kΩを通して6番ピンのGNDに接続します。
LEDが点灯することを確認します。
LEDが点灯することを確認したら、次はプログラムで制御を行います。
GPIOを制御するライブラリをインストールする
最初に、GPIO Pythonライブラリをインストールします。
ライブラリのインストールは以下のコマンドを実行するのみです。
ライブラリインストール後、PythonによるGPIOの制御が可能になります。
$ sudo apt-get install python-rpi.gpio
プログラムから制御する
GPIOを制御してLEDを点灯するプログラムを作成します。
1番ピンに繋いでいたLEDのアソードは11番ピンに繋ぎかえます。
エディタを起動して、プログラムを記述するファイルの新規作成・編集を行います。
$ vi gpiooutput.py
エディタを起動したら、以下のPythonのプログラムをコピーします。
#!/usr/bin/env python import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD) GPIO.setup(11, GPIO.OUT) while True: GPIO.output(11, True) time.sleep(2) GPIO.output(11, False) time.sleep(2)
GPIO.setmode(GPIO.BOARD)は、ハードウェアのリビジョン等に関係なく常にGPIOのピン番号を示します。
基本的にGPIO.setmode(GPIO.BOARD)を設定しておけばよいです。
sudoコマンドで、プログラムを実行するとLEDが2秒間隔で点滅します。
$ sudo python gpiooutput.py
sudoで実行するのは、GPIOの制御は、rootにのみ権限があるためです。
sudoをつけないとエラーがでて実行できません。