ラズパイやArduinoでLEDをシンプルに点灯させるには

計算式が出てこない電子工作の入門記事です。
以下の3ケースでLEDを点灯(Lピカ)させる方法を紹介します。一般に、LEDを「点滅」させることを「Lチカ」といいますが、ここではシンプルに点灯(明るくなったまま)することを「Lピカ」といいます。

  1. LEDと電池だけを使ったLピカ
  2. Arduinoを使ったLピカ
  3. ラズパイを使ったLピカ

ボタン電池でLピカ

写真のようにLEDの足でボタン電池を挟み込むことで、簡易的に点灯させることができます。

「電子工作のツボとコツがゼッタイにわかる本」高橋隆雄(著)を参考にしました。

準備するものは以下の二点です。

LED赤色。ここでは直径5mmのものを使用。
リチウムボタン電池3Vのもの。ここではCR2032を使用。

LEDにはプラス(+)とマイナス(ー)の区別があります。
LEDの2本の足のうち、長いほうがプラス、短いほうがマイナスです。

また、LEDは工作で足を短く切ってしまっていても、プラスとマイナスが見分けられるようになっています。
LEDのアタマを上から見ると淵は円形ですが、淵の一部に切り欠き(下図)があり、切り欠き側の足がマイナスです。

ボタン電池は3Vのものを使用します。写真のように、プラス側に「+」と表示があります。

準備ができたら、LEDの足にボタン電池を挟み込んでみましょう。LEDの長いほうの足をボタン電池のプラス側にするのを忘れないでください。

注意点は、LEDのマイナス側(短いほう)の足が、ボタン電池のプラス側に接触しないようにすることです。プラス側に接触すると、マイナス側とショートしてしまうため、LEDは点灯しません。

回路を組んでLピカ

準備するものは以下の通りです。

ブレッドボード配線の土台となります。
LED赤色
抵抗220Ω
ジャンパーコード部品をつなぐ線です。
電池・1.5Vの乾電池2本
・電池BOX(乾電池2本収納)
(Arduinoやラズパイの3.3Vに接続してもよい)

電池等から3Vの電源を確保し、図のように接続します。電源のリード線(赤)は抵抗からLEDの長いほうの足(+)に接続します。

ArduinoでLピカ

これまではハードだけでLEDを点灯してきました。ここからは、マイコンのだいご味であるソフトによる回路の制御を試します。

PCに開発環境をインストールするには

PCにArduino IDEをインストールします。これにより、回路を制御できるソフトの製作ができます。
こちらのリンクから下のページを表示します。次に図の赤枠の部分をクリックします。

寄付をいったん後回しにする場合は[JUST DOWNLOAD]をクリックします。するとダウンロードが始まります。

ダウンロードしたインストーラを起動します。あとは以下の画面フローに従って操作ください。

任意で選択できますが、ここではデフォルトのままとしました。

ここでは、「プライベートネットワーク」を選択し、パブリックネットワークのチェックを外しました。最後に[アクセスを許可する]をクリックします。

下の図はインストールが完了し、Arduino IDEを起動したところです。
ここにプログラム(Arduinoではスケッチと呼びます)を記述し、マイコンに書き込みます。

Arduinoを接続しよう

スケッチを書く前に、ArduinoをPCにUSBケーブルで接続します。Arduinoが接続されると、ボード上の「ON」と書いてある緑のLEDが点灯するでしょう。また初めて使用するArduinoであれば、「L」と表示のある黄色のLEDが点滅しているでしょう。初期状態ではこのLEDを点滅させるプログラムが予め書き込まれているからです。
次に「ポート」と呼ばれるPC上のどこにArduinoが接続されているか、という場所情報をIDEで設定します。下図の①をクリックすると、COM3(数字は環境により変わります)などと表示されるので、①→②の順に選択します。もし、メニューにポートがたくさん表示されてどれを選択してよいかわからない場合は、Arduinoを取り外した時のメニューと接続したときのメニューを比較することで、どれがArduinoのポートかがわかります。

ここで準備するものとは

品名本稿で使用したもの
ArduinoボードELEGOO社製 UNO R3互換機
USBケーブルタイプB
ブレッドボード
赤色LED1本
抵抗330Ω
リードコード赤1本、黒1本

Lピカのスケッチを書いてみよう

上図の赤枠のコードを追加してください。
下のスケッチをまるごとコピーしてIDEのスケッチ全体をペーストで書き換えてもOKです。

void setup() {
  // put your setup code here, to run once:
  // Arduinoボード上にあるLEDを使えるようにするおまじない
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED_BUILTIN, HIGH);  // LEDを点灯する
}

下図の右矢印ボタンをクリックします。

下図のように、Outputエリアにエラーが表示されなければ、成功です。この操作で、次の処理が自動的に行われます。

  1. スケッチから機械語プログラムへの変換
  2. Arduinoへのプログラム書き込み
  3. 書き込んだプログラムの実行

写真ではわかりにくいですが、「L」と書かれたLEDが黄色く点灯しました。

次に、上記の状態で赤色LEDを13番ピンとGNDにさしてみてください。長い足(+)が13番ピンです。赤く点灯するはずです。点灯を確認したら、すぐにLEDを抜いてください。抵抗を接続していないので、電流が多く流れすぎるからです。

「Arduinoをはじめよう 第4版」Massimo Banzi,Michael Shiloh著 船田巧 訳を参考にしました。

下図はLピカの様子です。
赤のLEDとArduinoに組み込まれているLEDはこのように、まったく同じ振る舞いをします。このことから、Arduinoに組み込まれているLEDも13番ピンを共有して接続されていることがわかります。

次は、ブレッドボードにLEDと抵抗の回路を組んでみます。今度は抵抗を接続します。13番(+)に赤のジャンパーコードを差し込み、抵抗に接続します。抵抗のもう一方はLEDの長い足に接続します。LEDの短いほうの足は、Arduinoのグランド(GND)に接続します。
プログラムをいじらなくても、上記同様、LEDが点灯します。ただ今回は抵抗を接続しているので、明かりは暗めかもしれません。

ラズパイでLピカ

ラズパイはOSのインストールから説明すると長くなりすぎるので、省略します。下の記事はご参考まで。

ここで準備するものとは

品名本稿で使用したもの
ラズパイRaspberry Pi 4 Model B
ラズパイの電源
HDMIケーブルディスプレイに接続
キーボード/マウス
ブレッドボード
赤色LED1本
抵抗330Ω
リードコード赤1本、黒1本

ラズパイで

ラズパイでLEDを点灯するための回路は下の通りです。
お気づきのように、Arduinoとポートが違うだけです。

LピカをするためのPythonコードは以下の通りです。

import RPi.GPIO as GPIO
import time
LedPin = 17
def setup():
   GPIO.setmode(GPIO.BCM)
   GPIO.setup(LedPin, GPIO.OUT, initial=GPIO.LOW)
def main():
   while True:
     GPIO.output(LedPin, GPIO.HIGH)
     time.sleep(5)
def destroy():
   GPIO.output(LedPin, GPIO.LOW)
   GPIO.cleanup()
if __name__ == '__main__':
   setup()
   try:
      main()
   except KeyboardInterrupt:
      destroy()

このコードを”lon.py”というファイルに書き込んだとします。Raspberry Pi OSでターミナルを起動し、コマンドラインから次のように実行するとLEDが点灯するでしょう。

python3 lon.py

さいごに

シンプルなLEDを光らせる方法を、電池のみ、Arduino、ラズパイそれぞれの方法で紹介してみました。「Lチカ(点滅)」を回路素子だけで実現してみると、Arduinoやラズパイでソフトを組めるメリットがよくわかると思います。