目次
はじめに
センサ類を使用する場合、「作動中」など動作状況を知るためにLEDを使用することが良くあります。
Pico内蔵のLEDを使うのもよいですが、外付けのLEDも使えると楽しいです。
LEDのしくみ
長い方が(+)アノード、短い方が(-)カソード
- LEDとは
Light Emitting Diode(発光ダイオード)の略。半導体材料でできた電子部品です。 - 特徴
正極(+)のことを、アノード。負極(-)のことをカソードと呼ぶ。アノードからカソードに電流が流れる。
カソードの電子が不足している部分のことをホールと呼ぶ。 - 発光原理
発光原理「エレクトロルミネセンス」という現象に基づく。
LEDに電圧をかけるとアノードからからカソードに向かって電子が移動する。カソードのホールに電子が結合した際、エネルギー(光)を放出する。
この光エネルギーは使用する半導体材料によって決まる。 - 特徴
・電力を光に変換する効率が高く、エネルギー消費が低い(省エネ)
・スイッチを入れると即座に点灯し、遅延がない
・衝撃や振動に強い
・写真のLEDは定格電流(流してよい電流)は、およそ20mA。順電圧は2.0Vです。←仕様です。
配線
以下の様に抵抗(Ω)をかませて配線します。ブレッドボードが必要です。
RaspberryPi Pico | LEDと抵抗 |
GP0(1番) | LEDのアノード |
GND(13番) | 抵抗/LEDのカソードを直列 |
()内はピン番号
抵抗の選び方
抵抗を選ぶ際は、以下の制約条件を考慮する必要があります。
・GPIOピンは3.3Vまで
・GPIOピンは1ピンあたり4mAまでが基本。最大でも12mAまで。(合計でも50mAまで)
・LEDの定格電流(今回は20mA)まで
・LEDの順電圧は2.0V
「流したい電流値を決めてから抵抗値を決める」のがシンプルで良いと思います。
これは、GPIOピンの許容が4mAと最も制約が厳しいからです。
今回は許容値である、「4mA」が流れるような抵抗値を計算します。
オームの法則を用います。E(V) = I(A) * R(Ω)です。
直列回路ですので、E = LEDの電圧 + 抵抗の電圧、電流はどちらも同じだけ流れます。
ここで、E=3.3(V)、LEDの電圧=2.0(V)ですので、抵抗の電圧 = 1.3(V)となります。
→1.3(V) = 4(mA) * R(Ω) → R = 325(Ω) となります。
よって、325(Ω)「以上」の抵抗を採用すれば、GPIOに4(mA)以上流れることはありません
LEDを1秒ごとに点灯と消灯を繰り返すプログラム
LEDを接続した、GP0を制御すればOKです。
from machine import Pin
from time import sleep
# LEDを接続したGP0
led = Pin(0, Pin.OUT)
while True:
led.value(1) # LEDを点灯
sleep(1) # 1秒間待機
led.value(0) # LEDを消灯
sleep(1) # 1秒間待機
コメント