Raspberry Pi Picoで外部LEDを制御する方法:抵抗値の計算とMicroPythonによる点滅プログラム

目次

はじめに

センサ類を使用する場合、「作動中」など動作状況を知るためにLEDを使用することが良くあります。
Pico内蔵のLEDを使うのもよいですが、外付けのLEDも使えると楽しいです。

LEDのしくみ

長い方が(+)アノード、短い方が(-)カソード

  • LEDとは
    Light Emitting Diode(発光ダイオード)の略。半導体材料でできた電子部品です。
  • 特徴
    正極(+)のことを、アノード。負極(-)のことをカソードと呼ぶ。アノードからカソードに電流が流れる。
    カソードの電子が不足している部分のことをホールと呼ぶ。
  • 発光原理
    発光原理「エレクトロルミネセンス」という現象に基づく。
    LEDに電圧をかけるとアノードからからカソードに向かって電子が移動する。カソードのホールに電子が結合した際、エネルギー(光)を放出する。
    この光エネルギーは使用する半導体材料によって決まる。
  • 特徴
    ・電力を光に変換する効率が高く、エネルギー消費が低い(省エネ)
    ・スイッチを入れると即座に点灯し、遅延がない
    ・衝撃や振動に強い
    ・写真のLEDは定格電流(流してよい電流)は、およそ20mA。順電圧は2.0Vです。←仕様です。

配線

以下の様に抵抗(Ω)をかませて配線します。ブレッドボードが必要です。

RaspberryPi PicoLEDと抵抗
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秒間待機
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次