わかめの開発日記

ArduinoやRaspberry Pi で作ったものを紹介します

Raspberry Pi4 を使ってLチカする

f:id:wakamelab:20200511222933j:plain

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 PiPython IDLE を起動する。

Raspberry Pi を使った開発では、プログラミング言語Python(パイソン)を使用して行います。
"PI"はPythonという意味であり、Python向けのライブラリも豊富です。
そのため、開発をPythonで行う事が一般的であり、私もPythonを使って開発をしています。
ちなみにPython IDLEとは、Python用の統合開発環境(Integrated DeveLopment Environment)のことです。

まずはRaspberry Pi を起動します。
f:id:wakamelab:20200511221630p:plain

左上にあるラズベリーのアイコンをクリックし、「プログラミング」→ Python3(IDLE)をクリックします。

f:id:wakamelab:20200511221952p:plain

Python IDLE が立ち上がりました。

f:id:wakamelab:20200513002345p:plain

「プログラミング」タブにPython3(IDLE)が表示されなかった場合の対処法

①ターミナルを開き、以下のコマンドを実行しPython IDLEをインストール
f:id:wakamelab:20200516140839p:plain

sudo apt-get install idle-python3.7

②Python3 IDLE を表示させる
「設定」→「Main Menu Editor」を開く

f:id:wakamelab:20200516150647p:plain

プログラミングの欄を選択し、Python3 IDLEにチェックを入れる

f:id:wakamelab:20200516150806p:plain

Python IDLE の使用方法

では実際にPython IDLEを使ってコードを書いていきたいと思います。
まずは、新しいファイルを作成します。
「File」→「New File」を選択すると、新しいファイルを開くことが出来ます。

f:id:wakamelab:20200516110707p:plain

「Untitled」という名前のファイルを開くことが出来ました。

f:id:wakamelab:20200516110759p:plain

では試しに、プログラミングの初歩の初歩、Print関数を使って「Hello, World」を表示させてみましょう。
Python3 のルールに従ってコーディングを行います。

f:id:wakamelab:20200516110829p:plain

Pythonスクリプトを保存します。
「File」→「Save As」でホームにPython スクリプトを保存します。

f:id:wakamelab:20200516110855p:plain

名前は何でもいいですが、ここでは"HelloWorld.py"で保存します。

f:id:wakamelab:20200516111301p:plain

コードは以下の通りです。

print("Hello, World")

では早速、先ほど作成したPythonスクリプトを実行しましょう。
「Run」→「Run Module」を選択してください。

f:id:wakamelab:20200516111328p:plain

このように表示出来れば成功です。

f:id:wakamelab:20200516111349p:plain

Python IDLE の背景色を変更する方法について

Python IDLEを初めて立ち上げた時、背景は白色だったのではないでしょうか。
背景は白色よりも、暗い色の方が目に優しいし、何よりプログラミングをやっている感じが出ると思う人も多いのではないでしょうか。
そんな背景色の変更方法が以下の記事で詳しく紹介されていますので、気になる方は是非実行してみて下さい。

tonari-it.com

『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"があります。
ピンは以下のように振り分けられています。
f:id:wakamelab:20200516134924p:plain
ソフト上では、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Ωです。

f:id:wakamelab:20200516153734j:plain

『Lチカ』実行結果

実行するとこのように1秒周期で点滅を繰り返します。
これが出来たら完成です。

youtu.be