3.5 Lチカをモジュール(部品のセット)にしよう
Lチカを部品(関数)にします。部品は初期化、LEDのオン、LEDのオフの3種類です。この部品を他のプログラムで取り込んで使えるようにします。
回路は3.2と同じです。
(1) Lチカノの部品をモジュール(部品のセット)にしよう
作ったモジュールを使ってみよう。自分で作った、モジュールを「import」して使うことで、自分で作った関数(部品)を使って簡単にプログラムを大きくしていけます。
*Pythonの新しい命令を使います。
*import、as
*書き方
import モジュール名as ニックネーム
*取り込んで、部品(関数)を使うときは「ニックネーム.関数」で使います。
① 「nano」エディター立ち上げます。
「nano rpi_bp_gpio_led1c_1.py」コマンドを実行して下さい。画面が「nano」エディターの画面に変わります。
② プログラムを変更します。
サンプルの様にプログラムを変更します。
サンプルプログラム1
#! /usr/bin/env python
import RPi.GPIO as GPIO def led_init(leds): def led_on(leds): def led_off(leds): if __name__ ==(“__main__”): GPIO.setmode(GPIO.BCM) # use GPIO Number LED1 = 5 # LED1 –> GPIO5 LED2 = 6 # LED1 –> GPIO6 for i in range(10): led_off(LED1) GPIO.cleanup() |
③ 入力を終わります。
「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。
④ 入力したプログラムを実行します。
「sudo python rpi_bp_gpio_led1b_1.py」を実行します。
*LEDが1秒間隔で10回点滅します。その後に、「led1b done」のメッセージが出ます。
⑤ 電源をきります。
「sudo shutdown -h now」を入力して下さい。
*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。
(2) モジュールを使おう
作ったモジュールを使ってみよう。自分で作った、モジュールを「import」して使うことで、自分で作った関数(部品)を使って簡単にプログラムを大きくしていけます。
*Pythonの新しい命令を使います。
*import、as
*書き方
import モジュール名as ニックネーム
*取り込んで、部品(関数)を使うときは「ニックネーム.関数」で使います。
① 「nano」エディター立ち上げます。
「nano rpi_bp_gpio_led2c_1.py」コマンドを実行して下さい。画面が「nano」エディターの画面に変わります。
② プログラムを変更します。
サンプルの様にプログラムを変更します。
-「import time」の後に「import rpi_bp_gpio_led2c_1.pyas ctrl」を追加します。
-全部の関数定義「def」を削除します。
サンプルプログラム2
#! /usr/bin/env python
import RPi.GPIO as GPIO import rpi_bp_gpio_led2b_1 as ctrl if __name__ ==(“__main__”): GPIO.setmode(GPIO.BCM) # use GPIO Number LED1 = 5 # LED1 –> GPIO5 LED2 = 6 # LED1 –> GPIO6 for i in range(10): ctrl.led_off(LED1) GPIO.cleanup() |
③ 入力を終わります。
「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。
④ 入力したプログラムを実行します。
「sudo python rpi_bp_gpio_led1c_1.py」を実行します。
*LEDが1秒間隔で10回点滅します。その後に、「led1b done」のメッセージが出ます。
⑤ 電源をきります。
「sudo shutdown -h now」を入力して下さい。
*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。
(3) 同じ部品名(関数名)でモジュールを使おう
作ったモジュールを使ってみよう。自分で作った、モジュールを「import」して使うことで、自分で作った関数(部品)をそのまま使えるようにします。
*Pythonの新しい命令を使います。
*from
*書き方
from モジュール名import *
① 「nano」エディター立ち上げます。
「nano rpi_bp_gpio_led2d_1.py」コマンドを実行して下さい。画面が「nano」エディターの画面に変わります。
② プログラムを変更します。
サンプルの様にプログラムを変更します。
-「import rpi_bp_gpio_led2c_1.pyas ctrl」を「from rpi_bp_gpio_led2c_1.pyimport *」に変更します。
-使用する関数の「ctrl.」をとります。
サンプルプログラム3
#! /usr/bin/env python
import RPi.GPIO as GPIO from rpi_bp_gpio_led2b_1 import * if __name__ ==(“__main__”): GPIO.setmode(GPIO.BCM) # use GPIO Number LED1 = 5 # LED1 –> GPIO5 LED2 = 6 # LED1 –> GPIO6 for i in range(10): led_off(LED1) GPIO.cleanup() |
③ 入力を終わります。
「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。
④ 入力したプログラムを実行します。
「sudo python rpi_bp_gpio_led1d_1.py」を実行します。
*LEDが1秒間隔で10回点滅します。その後に、「led1d done」のメッセージが出ます。
⑤ 電源をきります。
「sudo shutdown -h now」を入力して下さい。
*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。