Raspberry Pi 5搭載ミニPCでLチカをやってみた

当ページのリンクには広告が含まれています。

Raspberry Pi 5搭載ミニPC (Pironman 5 Mini)を先日組み立てましたが、まずは電子工作の実験に活用してみようと思います。今回は初回なので、お約束として定番のLチカ(LEDを点滅させる)」をやってみました。本記事では、Raspberry Pi 5を使ったLチカに必要な準備から配線、Pythonコードの実行まで解説していきます。

目次

Lチカに使う部品紹介

今回のLチカ実験に使うのは、以下の部品です。

部品一式

  1. LED … 1個
  2. 抵抗 … 1個
  3. ブレッドボード … 1枚
  4. ジャンパ線(オスーメスタイプ) … 2本

シンプルな回路なので部品点数は少ないですね。各部品について順に説明していきます。

1. LED

LEDは汎用的なものでかまいませんが、私は手持ちの部品から以下を使ってみることにしました。

パーツNo.:OSO5PA33A-1MA

5Φオレンジ色、低消費電力タイプのLEDです。秋月にて購入しました。消費電流1mAでも1120mcdの明るさを出せるので、マイコンIOのような電流をあまり流せない用途に適しています。

LEDは極性があり、足の長さで区別します。足の長い方がアノード(+)、短い方がカソード(-)です。

2. 抵抗

LEDに流れる電流を制限するのに使います。

一応、手書きの回路で抵抗値を計算してみました。

IO電圧3.3V、LEDの順電圧1.8Vとすると、抵抗にかかる電圧は 3.3 – 1.8 = 1.5V

このときLEDの順電流を1mAとして、抵抗値は1.5V / 1mA = 1.5kΩ。精度が必要な箇所ではないため、この抵抗値はアバウトでOKです。今回は手持ちにちょうど1.5kΩのものがあったので、それを使いました。

3. ブレッドボード

Lチカのようなシンプルな回路の実験には、半田付け不要のブレッドボードで十分です。ブレッドボードは色々なサイズがありますが、今回は配線が少ないのでこのようなミニタイプを使いました。

4. ジャンパ線

ジャンパ線は、ラズパイのIOピンとブレッドボードを接続するのにオスーメスタイプを2本使います。これ以外の配線は、ブレッドボードのパターンを利用します。

赤は+側、黒は-側(GND)に使います。自分で分かればよいので色は何でもかまいません。私は前に電子回路設計の仕事をやっていたので、GNDを黒にする癖がついてしまってます。

ブレッドボードを使って配線する

部品を揃えたら、次は配線です。

ラズパイのピン配置

その前に、ラズパイGPIOのピン配置を確認しておきましょう。ラズパイシリーズは基本的に、Raspberry Pi 2/3/4/5/Zeroで共通のピンアサインになっています。

引用先:ラズパイ公式サイト

SunFounderのチュートリアルではGPIO17(11pin)を使っていますが、一番端で位置が分かりやすいGPIO21(40pin)でも問題なさそうです。今回は、GPIO 21を使用することにしました。

接続図

接続図は、以下のようになります。

ジャンパ線は、赤線を+側(GPIO21)、黒線を-側(GND)に接続しています。LEDは、図のように足の長い方をプラス側にします。

実際に配線

それでは、実際に配線します。といっても、簡単な回路なのですぐ終わると思います。

ブレッドボード上に部品を配置し、ラズパイのIOピンとブレッドボードをジャンパ線でつなぐだけです。

注意点として、下のようにGPIOピンに配線するときは電源ケーブルを抜いておくようにしましょう。

単にシステムをシャットダウンしただけでは、電源ケーブルから電源が供給されているためです。実際、シャットダウン(システムLEDが赤)の状態でGPIOの電源ピン(5V)を測ってみると、5Vが出ていました(3.3Vピンも同様)。

電源が来ている状態で電線を抜き差しすると、ボードが壊れる恐れがあります。

安価なボードなら壊してもあきらめがつきますが、ラズパイ5のような高額ボードを壊してしまったらダメージが大きいですよね。

電源ケーブルを引っこ抜くのが面倒なら、別にスイッチを付ける方法もあります。いずれにせよ、IOピンをいじるときは完全に電源を切るように意識しておくことです。

そもそも、簡単な電子工作程度であればラズパイ5は完全にオーバースペックです。
この記事ではラズパイ5を使ってますが、初心者の方が電子工作を始めるならArduinoやラズパイpicoのような安いボードからで十分だと思います。

PythonでLチカ

準備が終わったので、ラズパイ5を起動します。

システム更新

システムを更新していなければ、最新の状態にしておきます。

システム更新は、コマンドラインから以下の順にコマンドを実行します。

sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt clean
sudo rebootー

2行目の処理に時間がかかりますが、10分程度で完了しました。

Pythonソースコード

PythonでLチカを行うソースコードは以下になります。

注意点として、GPIO制御に従来使われていたRPi.GPIOがRaspberry Pi 5では基本的に利用できなりました。

IO周りのハードウェアが変更されたのが理由のようです。

代わりにgpiozeroというモジュールが推奨されているようなので、こちらを使います。

from gpiozero import LED
from time import sleep

led = LED(21) #GPIO21を使用

while True:
    led.on() #LEDオン
    sleep(1)
    led.off() #LEDオフ
    sleep(1)

GPIOは21番を使用していますが、他のピン使う場合はそれに合わせて書き換えてください。あとは、無限ループでLEDのオンオフを1秒間隔で繰り返すだけです。Ctrl + Cで終了します。

Lチカの実行

デスクトップメニューのプログラミングから「Thonny」を起動。

ソースファイルを作成します。

作成後、コマンドラインから実行。1秒間隔でLEDが点滅しました。

まとめ

本記事では、Raspberry Pi 5のミニPCにLEDを接続しPythonでLチカを実行する流れについて説明してきました。

Raspberry Pi 5のGPIOハードウェア変更に伴い必要なライブラリも変更されましたが、それ以外は従来のラズパイと同じように実行できると思います。とりあえずLチカは成功したので、今度はI2Cデバイスを動かしてみようかと思っています。

目次