Raspberry Pi4 を使ってLチカする
Raspberry Pi4 を使った Lチカの方法を紹介。
こんにちは、wakamelabです。
Raspberry Pi4を使って『Lチカ』をやってみたので、その方法を紹介します。
Lチカとは何か?
Lチカとは、LEDを点滅させることです。
電子工作のキモは I/Oピンの制御です。
I/OピンにHIGH、LOWを出力しLEDを点灯、消灯させるLチカはまさにI/Oピン制御の基本です。
電子工作の初歩の初歩であり、プログラミングで言う所の『Hello world』にあたります。
用意するもの
・Raspberry Pi4 本体
・ブレッドボード:1個
・LED:1個
・330Ω抵抗:1個
・ジャンパー線(オス-メス):2本
・microHDMIケーブル
・電源
・キーボード
・マウス
手順① Raspberry Pi で Python IDLE を起動する。
Raspberry Pi を使った開発では、プログラミング言語のPython(パイソン)を使用して行います。
"PI"はPythonという意味であり、Python向けのライブラリも豊富です。
そのため、開発をPythonで行う事が一般的であり、私もPythonを使って開発をしています。
ちなみにPython IDLEとは、Python用の統合開発環境(Integrated DeveLopment Environment)のことです。
まずはRaspberry Pi を起動します。
左上にあるラズベリーのアイコンをクリックし、「プログラミング」→ Python3(IDLE)をクリックします。
Python IDLE が立ち上がりました。
「プログラミング」タブにPython3(IDLE)が表示されなかった場合の対処法
①ターミナルを開き、以下のコマンドを実行しPython IDLEをインストール
sudo apt-get install idle-python3.7
②Python3 IDLE を表示させる
「設定」→「Main Menu Editor」を開く
プログラミングの欄を選択し、Python3 IDLEにチェックを入れる
Python IDLE の使用方法
では実際にPython IDLEを使ってコードを書いていきたいと思います。
まずは、新しいファイルを作成します。
「File」→「New File」を選択すると、新しいファイルを開くことが出来ます。
「Untitled」という名前のファイルを開くことが出来ました。
では試しに、プログラミングの初歩の初歩、Print関数を使って「Hello, World」を表示させてみましょう。
Python3 のルールに従ってコーディングを行います。
Pythonスクリプトを保存します。
「File」→「Save As」でホームにPython スクリプトを保存します。
名前は何でもいいですが、ここでは"HelloWorld.py"で保存します。
コードは以下の通りです。
print("Hello, World")
では早速、先ほど作成したPythonスクリプトを実行しましょう。
「Run」→「Run Module」を選択してください。
このように表示出来れば成功です。
『Lチカ』を実行する
ではお待ちかねの『Lチカ』を実行したいと思います。
先程と同じ手順で新しいファイルを開き、以下のコードを入力し保存してください。
ファイル名は、"led_blink.py"としています。
プログラムのサンプルは以下の通りです。
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(14, GPIO.OUT) while 1: GPIO.output(14, GPIO.HIGH) time.sleep(0.5) GPIO.output(14, GPIO.LOW) time.sleep(0.5)
コードの説明
ここからは、コードの説明を行います。
import RPi.GPIO as GPIO import time
Raspberry Pi でGPIOを操作するための"RPi.GPIO"ライブラリと、時間計測のための"time"ライブラリを使用する宣言です。
”as"を使用することで、インポートしたライブラリを好きな名前で使う事が出来ます。
RPi.GPIO as GPIO とすることで、RPi.GPIOライブラリを、GPIOという名前で使用することが出来ます。
GPIO.setmode(GPIO.BCM)
使用するピン番号の定義にBCMを使用します。
ピン番号の定義には、物理的な配置を基に番号を付ける"GPIO.BOARD"と、役割として番号を付ける"GPIO.BCM"があります。
ピンは以下のように振り分けられています。
ソフト上では、BCM定義のGPIO14を使用しています。
BOARD定義では、PIN8となります。
どちらを使用しても変わりません。
GPIO.setup(14, GPIO.OUT)
GPIO14のピンをアウトプット(出力)に定義しています。
アウトプットとすることで、LEDに電圧を供給することが出来ます。
while 1:
無限ループを行っています。
こうすることで、このプログラムは止まることなく動き続けます。
GPIO.output(14, GPIO.HIGH) time.sleep(0.5) GPIO.output(14, GPIO.LOW) time.sleep(0.5)
GPIO.HIGHとすることで、ピンから3.3Vの電圧が供給され、LEDが点灯します。
逆に、GPIO.LOWとすることで、電圧の供給を止めます。
time.sleepは、カッコ内の時間このプログラムを停止させます。
つまり、このプログラムは、LED点灯→0.5秒キープ→LED消灯→0.5秒キープ
という動作を繰り返すことで、LEDを1秒周期で点滅させています。
プログラムの説明は以上になります。
最後に配線を紹介します。
配線図の紹介
配線はこのようにしています。
使っている抵抗は330Ωです。