自由制作第1回目(ラズベリーパイ・Python)

・今日の進歩

 

ラズベリーパイ Python LEDをチカチカ

 

 

f:id:tamukenkun:20181018101720j:plain

Raspberry PiPython の関係
Raspberry Pi の "Pi"、実はこの Python に由来したものと言われもともとはイギリスで子供達のコンピューター教育のために開発されていた Raspberry Pi ですが、そのプログラミング学習環境として Python が標準インストールされまた、入出力(GPIO)を制御するための Python ライブラリも用意されているので、プログラミング初心者の方でも扱いやすい言語かと思う。

GPIO ライブラリ「RPi.GPIO」をインストール
はじめに、Python で GPIO を制御するためのライブラリ「RPi.GPIO」をインストールしRPi.GPIO は Raspbian に標準インストールされているので、基本的には、以下のコマンドでアップデートするだけでOK。

Shell

1$ sudo apt-get update
2$ sudo apt-get upgrade

もしインストールが必要な場合は、以下のコマンドを実行する。

1$ sudo apt-get install python-rpi.gpio

Raspberry Pi の任意の場所に led-flashing.py というファイルを作成して、以下のプログラムを記述します。

 Python

1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3
4# ライブラリの読み込み
5import RPi.GPIO as GPIO
6import time
7# GPIOピン番号の定義方法を設定する(BCM/BOARD)
8GPIO.setmode(RPi.GPIO.BCM)
9# 18番ピンを出力モードで初期化する
10GPIO.setup(18, GPIO.OUT)
11# LED点滅(2秒置き)を5回繰り返す
12for x in xrange(5):
13GPIO.output(18, True)
14time.sleep(2)
15GPIO.output(18, False)
16time.sleep(2)
17# GPIOを解放
18GPIO.cleanup()

GPIO.setmode のパラメータは、RPi.GPIO.BCM/RPi.GPIO.BOARD の二種類あります。
違いはピン番号の定義で、BCM の場合は GPIO番号、BOARD の場合は Raspberry Pi の基盤のピン番号となります。
今回は、直感的にわかりやすい BCM を採用しました。
18行目の GPIO.cleanup() は、RPi.GPIOライブラリで GPIO を使った場合、最後に必ず記述しておきましょう。忘れてしまうと、次回実行時に「ピンが使用されているよ!」とエラーになる場合がある。

プログラム実行

 

 

f:id:tamukenkun:20181018105956j:plain

早速、作成した led-flashing.py を実行してみましょう。GPIO を操作するには root 権限が必要なので、コマンドの先頭に sudo をつける。

1$ sudo python led-flashing.py

さて、その結果は...

 

f:id:tamukenkun:20181018110344j:plain

無事点滅したということになりました!

前にラズベリーパイ Pythonについて勉強したんですが、その時は理解が不十分だったので今回改めてラズベリーパイについて理解するために様々なネットから調べ所によるとLEDを光らせたりチカチカと点滅させたりと不十分な所がありましたがようやく理解が出来るようになってきました。次回からandroidアプリなどはこんなことが出来るのか~と納得がいくようなブログを書いていきたいと思っています。

プログラミング初心者でも簡単!Raspberry Pi + PythonでLチカさせる方法 | Tech Blog | 株式会社INDETAIL - インディテール