Raspberry Piで学ぶ!LEDを光らせる電子回路の作り方
「ラズパイで電子回路を構築し、LEDを点灯させるって、一体どうやるの?」
ラズベリーパイを使って電子回路を構築してLEDを点灯させる方法って、
どうすればいいの?
電子回路の構築やプログラミングは一見難しそうに思えますが、
実はとても簡単で楽しいんですよ!
ここでは、
LEDを光らせる方法を詳しく解説します。
さあ、一緒にラズベリーパイの世界に飛び込んでみましょう!
一部リンクにはアフィリエイトが含まれます。
LED点灯から始める電子回路構築のステップ
- LEDの基礎知識
- LEDの基本的な動作原理や役割について説明します。
- 色、極性、電圧、電流などの基礎的な概念を解説します。
- 必要な部品の紹介
- LEDを点灯させるために必要なもの、抵抗器、ジャンパーケーブル、ブレッドボード、そしてRaspberry Pi本体など、必要な材料の一覧を紹介します。
- 回路設計の基礎
- LEDをRaspberry Piに接続するための回路設計の基本を説明します。
- 抵抗器の使い方や回路の組み立て方について細かく解説します。
- Raspberry Piへの接続方法
- LEDをRaspberry Piに接続する手順を画像付きで説明します。
- ピンの選択やジャンパーケーブルの使用方法などを詳しく説明します。
- Pythonを使ったLEDの点灯プログラム
- Python言語を使ってRaspberry PiでLEDを点灯させるプログラムを作成する方法をステップバイステップで説明します。
- GPIOの制御方法やLEDの点灯、消灯のコードを解説します。
- 実際にLEDを点灯させてみよう!
- 最後に、これまでの知識をもとに、LEDを点灯させる実際の手順をまとめます。
LEDの基礎知識
LEDは、電気が流れることで光を発する半導体です。
電子が半導体材料を移動する際にエネルギーを放出して光を発します。
さまざまな種類のLEDがあります。
<よく使われるLED>
(左から:緑、赤、黄、白)
LEDには極性があり、正しい極性で接続しなければ光りません。
適切な電圧と電流を流すことが必要で
過電流を加えると、LEDはを破損します。
これらの基本知識を理解することで、
LEDを点灯させる回路ができます。
必要な機材と部品
LEDを点灯させるために必要な機材と部品を紹介しています。
1.LED(Light Emitting Diode)
LEDには極性があり、正しい極性で配線します。
足が長い方:アノードといいプラス(+)
足が短い方:カソードといいマイナス(-)
極性を間違えないようにしましょう。
好みの色のLEDを用意します。
よく使われるLEDは、
赤、黄、緑が低価格で手に入りやすく
よく使われています。
2.抵抗器(Resistor)
LEDに適切な電流を制限するために必要です。
LEDの仕様と回路の電源電圧に基づいて適切な抵抗値を選びます。
抵抗には極性はありません。
3.ブレッドボード(Breadboard)
電子回路を組み立てる時、
ブレッドボードを使うと簡単に組み立てることができます。
電子部品をブレッドボードに差し込みむだけで配線ができ
すぐに動作確認ができます。
4.ジャンパーケーブル(Jumper Wires)
ブレッドボードで配線するために必要なジャンパーケーブルです。
ブレッドボードでの回路接続に使います。
5.Raspberry Pi
Raspberry Pi 本体を用意します。
ここでは、Raspberry Pi 4 Model B を使用します。
回路設計の基礎
LED回路設計をしていきます。
参考にしてください。
スイッチを使い、LEDを点灯する回路
GPIOは、プログラムにより入力/出力を自由に使い分けができます。
GPIOと書かれている端子はどこを使っても良いです。
プログラムで入力-出力に切り換えられるためです。
ここでは、”GPIO-5”を入力として使います。
”GPIO-5”に、スイッチ(入力)を配線します。
そのままGND(-)へ配線すれば、”GPIO-5”をONすることができます。
しかし、入力と出力が違った状態で、
GND(-)へ配線すると短絡となり壊れることがあります。
スイッチの回路には、
保護回路を組み込んだ回路を設計することで
故障を回避することができます。
短絡状態になっても、
ラズパイのGPIO回路を壊すことがなくなります。
保護回路を組み込んだ回路は入力が反転します。
スイッチが押されていないと”ON”
スイッチが押されると”OFF”
となります。
電子回路
GPIO入力(スイッチ入力)
電源電圧は、3.3Vを使います。
スイッチのON/OFFを判断する電圧に注意します。
1.3V以上の電圧がかかるとON
0.8V以下の電圧ならOFF
電源電圧3.3Vに、GPIOの入力電圧が
1.3V以上の電圧がかかるように抵抗を選びます。
以下の計算式から求められます。
【過電流防止回路で5kΩ使用した場合の計算式】
I=V/R
I=3.3V/5kΩ
=0.66mA
<スイッチ電圧(ON:OFF)>
ON:2.98V
OFF:0.32V
このことから、
スイッチ入力回路の抵抗は、5KΩを選択しています。
抵抗選定は、GPIOに流れる電流に注意!
1端子の最大電流値16mA
同じ系統の最大電流値50mA
GPIO出力(LED点灯回路)
LEDを点灯させる回路では、
抵抗値を大きくすると流れる電流が多くなり明るさが増します。
逆に、LEDの抵抗値を下げると電流が小さくなり暗くなります。
LEDの最大許容電流は20mA(ミリアンペア)から30mAの範囲であり、
特定のLEDによってはもっと大きな電流を扱えるものもあります。
しかし、許容電流を超えて大きな電流をLEDに流すと、
LEDが過熱して損傷の原因となります。
使うLEDの最大許容電流を確認して抵抗を選定します。
LEDの耐電圧
LEDの最大許容電流
GPIO端子の最大電流値
これらを考慮してLEDに流す電流値を抵抗で制御します。
ここでは、
LEDの出力回路の抵抗値330Ωを使用しています。
計算式は以下の通りです。
GPIP出力回路
I=V/R
=3.3V / 330Ω
=0.01A(10mA)
Raspberry Piへの接続方法
ブレッドボードを使い配線をしていきます。
ブレークアウト拡張ボードを使うと
ラズパイとブレッドボードの接続に便利です。
ブレークアウト拡張ボード
ブレークアウト拡張ボードをつかい
ラズパイとフラットケーブルで接続します。
回路図を見ながら部品を配置して
ジャンパーケーブルで配線をしていきます。
Pythonを使ったLEDの点灯プログラム
LEDを点灯するプログラムを作成します。
Raspberry PiのGPIOピンを制御して
LEDを点灯・消灯させるPythonプログラムは、
次のようになります。
このサンプルプログラムは、
GPIO5をスイッチの入力ピン
GPIO21とGPIO22をLEDの出力ピン
として使用します。
スイッチは常時ONの状態であり、
スイッチが押されるとOFFとなります。
<サンプルプログラム>COPYできます
import RPi.GPIO as GPIO
import time
# GPIOピン番号を設定
switch_pin = 5
led_pin_1 = 21
led_pin_2 = 22
# GPIOピンのモードを設定
GPIO.setmode(GPIO.BCM)
GPIO.setup(switch_pin, GPIO.IN)
GPIO.setup(led_pin_1, GPIO.OUT)
GPIO.setup(led_pin_2, GPIO.OUT)
# LEDを点灯・消灯させる関数
def toggle_led(channel):
if GPIO.input(switch_pin) == GPIO.LOW:
GPIO.output(led_pin_1, GPIO.HIGH)
GPIO.output(led_pin_2, GPIO.LOW)
else:
GPIO.output(led_pin_1, GPIO.LOW)
GPIO.output(led_pin_2, GPIO.HIGH)
# スイッチの状態を監視し、変化があればLEDの状態を切り替える
GPIO.add_event_detect(switch_pin, GPIO.BOTH, callback=toggle_led, bouncetime=200)
try:
while True:
# ここで他の処理を実行
time.sleep(0.1)
except KeyboardInterrupt:
GPIO.cleanup()
RPi.GPIOモジュールを使用してGPIOピンを制御します。
スイッチの状態を監視し、
スイッチが押されたらLEDの状態を切り替えます。
GPIO5(switch_pin)がスイッチの入力
GPIO21とGPIO22(led_pin_1とled_pin_2)がLEDの出力
を表しています。
このプログラムを実行することで、
スイッチが押された際に
LEDが点灯・消灯するプログラムです。
実際にLEDを点灯させてみよう!
LEDを点灯させる手順
①Raspberry Piを起動し、Pythonプログラムのエディタを開きます。
②プログラムの作成
先ほどのPythonコードをコピーし、エディタに貼り付けます。
python ファイル名.py
(ファイル名は保存したプログラムの名前に置き換えてください)
③エディタで実行(RUN)します。
④LEDの点灯
プログラムが実行され、スイッチが常時ON状態であるため、
LEDが点灯します。
スイッチを押すとLEDが消灯します。
スイッチを押すたびに、
LEDの点灯と消灯が交互に切り替わることを確認しましょう。
最後に
Raspberry Piを使用してLEDを点灯させるためには、
回路の組み立てとPythonプログラムの作成が必要でした。
最初にLEDをGPIOピンに接続し、抵抗器を使って電流を制限します。
次にPythonでGPIOピンを制御するプログラムを書き、LEDの点灯・消灯します。
この手順を追うことで、
電子回路の基本的な概念を学び、
Raspberry PiのGPIOピンを活用したLED制御を実践することができます。
ここでは、プログラミングと電子回路をつかった体験をしました。
いかがでしたでしょうか?
今後、いろいろな回路を作り試してみてはいかがでしょうか。