ラズパイとLEDをPythonでコントロール【コードをファイルに保存→呼出し→実行】
ラズパイとLEDを繋いでPythonでコントロールする(その1)からの続きです。
回路はその1と同様ですが、今度はPythonコンソールに直接打ち込むのではなく、コードをファイルに保存して、そのファイルを呼び出して実行することで動作させます。
簡単なコードであれば、Pythonコンソールから直接入力して動作させても良いですが、今後コードが複雑になると毎回長いコードを入力するのは大変です。長いコードは保存しておいて、必要な時に呼び出して実行できれば便利です。
Pythonコンソールの左上にある「File」をクリックして「New File」をクリックすると、もう1つ新しくウインドウが引きます。
新規のウインドウの上部には「Untitled」と表示され、まだ名前が付いていない状態です。この白紙のウインドウにコードを入力します。
[python]
import gpiozero
import time
led = gpiozero.LED(4)
led.on()
time.sleep(3)
led.off()
[/python]
入力後、「Run」メニューをクリックして「Run Module」をクリックするとファイルに書いたコードを実行します。
実行すると、保存するように求められます。ここでは「OK」を押して保存後に実行します。
どこに保存するか、ファイルの名前を何にするかなどを決めます。今回は/home/pi というフォルダの中に「led1.py」という名前で保存します。この/home/piというのはホームディレクトリと呼ばれる場所になっています。
入力したら「Save」ボタンをおして保存します。保存したら、pythonコマンドで保存したファイルを指定して実行します。ターミナルを起動して、以下のコマンドを入力し、Enterを押せば実行されます。
実行の様子は以下の動画のように、点灯します。
これはpythonで書いたプログラムを実行している状態になりますが、このプログラムでは終了させるための処理を作っていませんので、ラズベリーパイのシステムを終了するまでずっと動き続けてしまいます。実行しているファイルを強制的に終了するためには、キーボードの「Ctrl」キーを押したまま「C」ボタンを押して強制終了することができます。
同様に、blinkというファイルを作成し、保存して実行してみます。blinkはその名の通り「点滅」するプログラムです。1秒ごとにON,OFFを繰り返すものです。pythonコンソールの「File」から「New File」をクリックし、以下のソースコードを打ち込みます。
[python]
from gpiozero import LED
from time import sleep
LED_PIN =4
WAIT_TIME = 1
led=LED(LED_PIN)
while True:
led.on()
sleep(WAIT_TIME)
led.off()
sleep(WAIT_TIME)
[/python]
最初と同様に/home/piの中にblink.pyという名称で保存します。保存後、ターミナルから以下のようにコマンドを実行します。