Python3(IDLE) でLEDを光らせる
前回の記事では、Raspberry Pi を使ってLEDを光らせるプログラムを実行するのに使う開発環境の比較をするために、Geany で同じプログラムの実行をしました。
[sitecard subtitle=関連記事 url= http://www.fabshop.jp/raspberry-pi-led-blinking-geany/ target=]
今回は、同じプログラムで Python3 (IDLE) を使ってLEDを光らせてみます。
配線
必要なもの
- Raspberry Pi (今回は3を使用)
- ブレッドボード
- ジャンパー線(オスーメス)2本
- LED
- 抵抗 220Ω
配線
マニュアルの6ページにある配線図を見ながら配線します。
LEDのプラス(線が長い方)を抵抗につなぎます。
Python3 (IDLE) をインストール
Thonny Python IDE や Geany でプログラムを実行した時と同様に LXTerminal を開いて、ファイルを先に作成してから Python3 (IDLE) でプログラムを実行するという流れは今回はこれだと同じようには進めることは出来ません。
Thonny Python IDE や Geany を使用した時は別窓が開いて進めましたが、Python3 (IDLE) では LXTerminal の中で進めることになります。
今回は、スタートメニューのプログラミングの中にある、Python3 (IDLE) を使って進めます。
スタートメニューの中にあるプログラミングの中に Python3 (IDLE) がない場合は、以下の通りに実行します。
$ sudo apt update
$ sudo apt-get install idle-python3.7
スタートメニューの中にあるプログラミングの中に、Python3 (IDLE) が表示されます。
コードを入力
Python3(IDLE) が起動したら、Geany や Thonny Python IDE の時にプログラムを実行した時と同じように、マニュアルにあるコードを入力します。
コードの入力が終わったら名前をつけて保存します。
File > Save As… > 名前をつける
(今回はデスクトップ上に保存しました)
プログラム実行
Python3 (IDLE) の上部にある、 Run > Run Module F5 を押してプログラムを実行します。
何も問題がなければ画面に ” … led on led off… ” という表示が流れ続け、LEDが点滅します。
エラーが出たら
invalid syntax
もし、Run をしてプログラムを実行して、invalid syntax というエラーが表示されたら、これは「構文エラーがある」という意味なのでもう一度コードを見直して修正します。
例えば、” time ” のところを ” gime ” と入力ミスをしていたり、空白の数が違うだけでもエラーとなってしまいます。
This channel is already in use
プログラムを実行して、…led on led off… と表示はされるけど、その表示の前に ” This channel is already in use ” と出た場合、これは「GPIOが既に使われていますよ」というエラー文ですが、他にGPIOを使っていないのであればそのまま実行しても問題ありません。
LEDが光らない原因
プログラムがうまく実行されると画面に ” … led on led off … ” という表示が流れ続けるけど LED が光らない・・・その原因のひとつとして考えられるのが、抵抗の数値が大きいものを使用していないか?です。
キットに含まれている 220Ω の抵抗をそのまま使用すれば問題なくLEDは点滅しますが、マニュアルに載っている抵抗の色だけを見て同じ色らしきものを選んだとします。
似たものとして 220kΩ(右下の写真) の抵抗がありますが、これを使用すると、プログラムが正常に実行されていてもLEDは光っているのかどうか分からないくらいの明るさになります。
抵抗値の求め方
マニュアルの11ページにも記載されていますが、LEDを点滅させるのに必要な電流は 5~20mA で、電圧 / 電流 で抵抗値を求めることができます(オームの法則)。
出力3.3V の場合、3.3V / 0.005 ~ 0.02A (1A = 1000mA) = 165 ~ 660Ω となりますので、220kΩ(220,000Ω)の抵抗がどれだけ大きな値なのかがわかります。
Thonny Python IDE や Geany との比較
Python3 (IDLE) は、Thonny Python IDE や Geany のような補助的な窓はなく、1画面のみのシンプルな作りとなっています。
エラーがあるとエラー文も表示はされますが、Thonny Python IDE や Geany の方が初心者には使いやすいのかなという印象です。
次回は、Geany を使ってブザーを鳴らすプログラムを実行してみたいと思います。