【 Raspberry Pi 】LEDを光らせるまでの道のり~後編~vimを使ってプログラムを書く【初心者】

0
1224
初心者がRaspberryPiでLEDを光らせる

【 Raspberry Pi 】LEDを光らせるまでの道のり~後編~vimを使ってプログラムを書く【初心者】

前回の記事では、Raspbery Pi の GPIO ライブラリである WiringPi というライブラリをインストールしました。
今回は、いよいよLEDを光らせるプログラムを書いて実行してみようと思います。

[sitecard subtitle=関連記事 url=https://www.fabshop.jp/raspberrypi_install_gpio/ target=]

STEP 1 : 回路をつくる

マニュアルの6ページ目を見ながら、Fabshop の学習キットに含まれているキットを使って回路を作成しました。
RaspberryPi4B-4G SD電子工作学習キット

STEP 2 : led.py という名前のファイルを作る

LXTerminal を起動し、次のコードを入力します。

$ sudo touch led.py

touch というコマンドで led.py という名前のファイルが作成されます。

STEP 3 : led.py という名前のファイルを開く

vim nano を使って 先ほど作った led.py という名前のファイルを開きます。

この vim や nano は、テキストエディタと呼ばれるもので、これから実行するプログラムは一度テキストエディタに書いて、LXTerminal からこのプログラムを実行するという流れになります。

マニュアルに従って、vim を選択し以下のコードを入力します。

$ sudo vim led.py

これで、led.py が vim テキストエディタで開きます。

最初は何もない状態なのでここからマニュアルの7ページを見ながらコードを入力していきます。

vimで書いたLED点滅コード

もし、$ sudo vim led.py を実行しても「そのようなディレクトリはありません」などという表示がされた場合、vim エディタをインストールする必要があるので、以下のコードを入力してインストールします。

$ sudo apt-get install vim

vim エディタは、LXTerminal にコードを入力する時と使用方法が異なります。

入力するときは、「 i 」で挿入モードにしてコードを書きます。
すべて書けたら保存をするのですが、保存は「 :w 」上書き保存は「 :w! 」を入力して操作します。

Enter キーを押すと、画面左下に「書き込み」と表示されて保存されます。

保存できたら、vim エディタを終了させるために「 :q 」と入力して終了します。

STEP 4 : プログラムを実行

vim エディタを終了させると LXTerminal の画面に戻るので、先ほど作成した led.py を実行させるために以下のコードを入力します。

$ sudo python led.py

led.py というファイルを python で実行します。

何もエラーが起きなければ、マニュアルの7ページ目にあるように、「…led on  led off…」という表示がLXTerminal の画面にずっと流れ続けるのですが、何も表示されませんでした。

led.py のコードにどこか入力ミスをしていると思い、再度 vim エディタを以下のコードを使って呼びだしました。

vim led.py

「 i 」キーを押して挿入モードにしてから間違ったところを直します。

間違っているところが探せなかったので、ネットで原因を探っていくとようやく解決しそうな情報をみつけました。

” Python 2 と Python 3 の print 構文には違いがある “ というものでした。

マニュアルには、print の後は赤文字になっているのに自分のは赤文字になっていなかったので、「 ` 」を「 ” 」に変更して「 ” 」の前にカッコを入れました。
すると、赤文字ではないですがピンク色に変わりました。

print_python

if 文の方にも同様に「 ` 」を「 ” 」に変更しました。

ESC キーを押してノーマルモードに戻してから、:w! で上書き保存し、:q で終了し、再度実行してみました。

sudo python led.py

やっとマニュアル通りに画面上に結果が表示され、LEDも点滅させる事ができました。

LED点滅プログラム実行成功

LED点滅

次回は、このLEDを光らせるプログラムを、Thonny Python IDE、Geany、Python 3 (IDLE) の3種類で試してみたいと思います。

今回、Fabshop のオンラインショップにある ベースキット(Prototype Work Board)を使用しました。
Arduiono や Raspberry Pi 、ブレッドボードなどを固定したり、二段で配置出来たりするので便利です。良かったらお試しください。

ベースキット(Prototype Work Board)