ホーム >  RaspberryPi >  Raspberry Pi 3でpythonを使ってLチカ


Posted:2016/12/22 9:00:00 AM|Category : RaspberryPi

Raspberry Pi 3でpythonを使ってLチカ

前回、シェルスクリプトでラズベリーパイ3をLチカしました。今回はPythonで実行してみたいと思います。

前回のLチカ

前回は、Lチカする前に準備する物を紹介しました。また、シェルスクリプトを利用したLチカを実行しました。

ラズパイでLチカ

ラズパイ環境

RaspberyyPi Raspberry Pi 3 Model B (Element14)
OS Raspbian 8.0

Pythonの準備

①Rasbianには初めからPythonはインストールされていますが、ベースのアップデートをしてから、Pythonのビルドに必要なものをインストールします。

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade

・sudo apt-get upgrade・・・パッケージ構成を変えない範囲でアップグレードする

・sudo apt-get dist-upgrade・・・パッケージ構成の変更に追随してアップグレード

②以下のコマンドを入力し、GPIO Pythonライブラリをインストールします。

sudo apt-get install python-rpi.gpio

ライブラリインストール後、PythonによるGPIOの制御が可能になります。

Lチカ

①以下のような回路を作ります。

【ジャンパーワイヤの接続】

(ラズパイ)3番ピン:GPIO2 - (ブレッドボード)A2  プラス極

(ラズパイ)6番ピン GND - (ブレッドボード)A6  マイナス極

【ブレッドボードの回路】

抵抗: B2 - B5

LED: (アノード)E5 - (カソード)E6

②ホームディレクトリ「/home/pi/」へ移動します。

cd /home/pi/

③端末からviコマンドで以下のファイルを作成します。

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(3, GPIO.OUT)
while True:
    GPIO.output(3, True)
    time.sleep(1)
    GPIO.output(3, False)
    time.sleep(1)

※gpioコマンドはgpio番号を指定しますが、Pythonの場合はPin番号を指定します。今回は3番目のPinを繋ぐため、「GPIO.setup(3, GPIO.OUT)」です。間違えると、実行した時以下のようなエラーが表示されます。

Traceback (most recent call last):
  File "gpiooutput.py", line 4 in <module>
    GPIO.setup(led, GPIO.OUT)
ValueError: The channel sent is invalid on a Raspberry Pi

④以下のディレクトリにpyファイルが作成されます。

  • home/
  • pi/
  • gpiooutput.py

⑤以下のコマンドを実行します。

sudo python3 gpiooutput.py

⑥Lチカします。プログラムを終了するには「Ctrl + C」を押します。

WiringPiを使ったLチカ

WiringPiというライブラリがあります。これを利用した場合のLチカも行います。

①WiringPiをインストールします。

WiringPiのインストール

②ホームディレクトリ「/home/pi/」へ移動します。

cd /home/pi/

③端末からviコマンドで以下のファイルを作成します。

# GPIOを制御するライブラリ
import wiringpi
# タイマーのライブラリ
import time

# LEDを繋いだGPIOの端子番号
led_pin = 2 # 3番端子

# GPIO初期化
wiringpi.wiringPiSetupGpio()
# GPIOを出力モード(1)に設定
wiringpi.pinMode( led_pin, 1 )

# whileの無限ループ
while True:
# GPIOを3.3VにしてLEDを点灯
    wiringpi.digitalWrite( led_pin, 1 )
    # 1秒待ち
    time.sleep(1)
    # GPIOを0VにしてLEDを消灯
    wiringpi.digitalWrite( led_pin, 0 )
    # 1秒待ち
    time.sleep(1)

※Pythonの場合はPin番号を指定しますが、WiringPiはGPIO番号を指定します。つまり、「led_pin = 2」です。

④以下のディレクトリにpyファイルが作成されます。

  • home/
  • pi/
  • led.py

⑤以下のコマンドを実行します。

sudo python3 led.py

⑥Lチカします。プログラムを終了するには「Ctrl + C」を押します。


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 2008年04月 金融機関系I

最近の投稿
人気記事
カテゴリー
広告