前回は Raspberry Pi Pico の基本とブレッドボード・ピン配置を学びました。今回は実際に LED を光らせる プログラムを動かしながら、電子工作の核となる 2 つの知識を身につけましょう。
- LED の極性(アノードとカソード)と回路記号の見方
- 電流制限抵抗の計算(オームの法則)と LED 焼損の防ぎ方
PycoBlocks(MicroPythonモード) を開き、左カテゴリ「Pico 電子工作 / デジタル出力」から「LED を点灯する」ブロックを 1 つ置くだけで、回路図と MicroPython コードが同時に表示されます。

LED の仕組みと極性
LED(発光ダイオード)は電流を一方向にしか流さない素子です。正しい向きで電気を流したときだけ光ります。足の長い方を アノード(+)、短い方を カソード(-) と呼びます。
| 名称 | 記号 | 足の長さ | つなぐ先 |
|---|---|---|---|
| アノード | + | 長い方 | GP ピン(HIGH 側) |
| カソード | - | 短い方 | GND |
⚠️ 向きを間違えると光らない
なぜ抵抗が必要? 電流制限の計算
Pico の GP ピンから出る電圧は 3.3V です。一方、赤色 LED の順方向電圧(点灯に必要な電圧)は約 2.0V、適正電流は 10mA(0.01A) 程度です。差分の 1.3V を抵抗で消費させなければ、LED に過大な電流が流れて焼損します。
🚫 抵抗なしで直結しない
オームの法則 V = I × R を使うと、必要な抵抗値が計算できます。
# 必要な抵抗値(オームの法則)
V_supply = 3.3 # GP ピンの電圧
V_led = 2.0 # LED の順方向電圧(赤色の場合)
I_target = 0.01 # 流したい電流(10mA)
R = (V_supply - V_led) / I_target # → 130 Ω
# 余裕を持って 220Ω〜330Ω を選べば LED は焼けない
本シリーズでは 330Ω(橙・橙・茶・金)を採用します。計算値より少し大きい値を選ぶことで、製造ばらつきや電源変動に対する安全マージンが取れます。
| カラーコード | 値 | 用途 |
|---|---|---|
| 茶黒赤金 | 1kΩ | 暗めの点灯・電池駆動 |
| 橙橙茶金 | 330Ω | 本シリーズ標準(3.3V LED) |
| 赤赤茶金 | 220Ω | 明るく光らせたいとき |
ステップ1:内蔵 LED を点灯しよう(GP25)
Pico(無印)の基板上にはオンボード LED が 1 個搭載されており、GP25 に直結されています(外付け部品なしで点灯可能)。「LED を点灯する ピン:GP25 (オンボード)」ブロックを 1 つ置くだけで光ります。

from machine import Pin
led = Pin(25, Pin.OUT)
led.value(1) # HIGH = 点灯
Pico W を使っている人へ:内蔵 LED は Pin('LED')
Pico W は無線通信機能(WiFi/Bluetooth)を載せた上位モデルで、基板の見た目はほぼ同じですが 内蔵 LED が GP25 ではなく WiFi チップ(CYW43439)経由 で制御される構造に変わっています。そのため Pin(25, Pin.OUT) では点灯せず、ピン番号の代わりに文字列 'LED' を渡すのが正解です。
PycoBlocks(MicroPythonモード) では Pico W ユーザー向けに専用カテゴリ 「Pico W 専用」(紫紺色)を用意しています。無印 Pico のブロック(赤・橙色)と視覚的に区別できるように分けてあるので、自分の機種に合うほうを選んでください。

from machine import Pin
Pin('LED', Pin.OUT).value(1) # Pico W の内蔵 LED を点灯
なお、外付け LED(このあとのステップ2)の配線とブロックは Pico でも Pico W でも全く同じ です。GP15 などの GP ピンは両機種で共通なので、外付け LED の例はそのまま進めて問題ありません。Pico W ならではの WiFi/HTTP 通信は #15・#16 で詳しく扱います。
ステップ2:外付け LED を配線して光らせよう(GP15)
次は LED とジャンパーワイヤを使い、ブレッドボード上に独立した回路を組みます。GP15 → 330Ω 抵抗 → LED アノード → LED カソード → GND の順につなぎます。
まず、つなぎ方を 回路図 で確認しましょう。回路図は部品の位置ではなく「どことどこが電気的につながっているか」を表す設計図です。電流は GP15(HIGH=3.3V)から抵抗・LED を通って GND へ、上から下へ一本道で流れます。

PycoBlocks では「LED を点灯する ピン:GP15」を置くだけで、下の図のような 実体配線図(ブレッドボード上の実際の挿し位置)が画面左下のプレビューに自動表示されます。回路図と見比べてみましょう。


from machine import Pin
led = Pin(15, Pin.OUT)
led.value(1) # HIGH = 点灯
配線のポイント: 抵抗は LED の前でも後でも電気的には同じ効果ですが、「GP ピン → 抵抗 → LED → GND」の順で並べると初学者にも理解しやすい配置です。抵抗には方向(極性)はありません。
ステップ3:digital_write で書いてみよう
「LED を点灯する」ブロックは、内部的には 「ピンを HIGH にする」(電圧を 3.3V にする)処理を行っています。より汎用的な 「ピン ◯◯ を HIGH/LOW にする」 ブロックを使えば、LED だけでなく後で扱うブザーやモーター制御にも同じ書き方が使えます。

from machine import Pin
pin15 = Pin(15, Pin.OUT)
pin15.value(1) # HIGH = 3.3V 出力
# pin15.value(0) # LOW = 0V 出力(消灯)
「LED を点灯する」と「ピン GP15 を HIGH にする」は MicroPython では同じ命令(led.value(1))に変換されます。用途に応じて読みやすい方を選びましょう。
演習課題
課題3-2-1:抵抗値を計算してみよう
緑色 LED の順方向電圧は約 3.0V、適正電流は 10mA です。GP ピン(3.3V)に緑色 LED をつなぐとき、必要な最小抵抗値(Ω)を計算しよう。計算式と答えを書いてみよう。
▶ 模範解答と解説を見る
# オームの法則: R = (V_supply - V_led) / I
R = (3.3 - 3.0) / 0.01
= 0.3 / 0.01
= 30 Ω (最低 30Ω あれば焼損しない)
# 実際は安全マージンを取って 100Ω〜330Ω を使うのが一般的
解説: 緑色や青色 LED は赤色より順方向電圧が高い(≈ 3.0〜3.2V)ため、電源 3.3V との差分が小さくなり、必要な抵抗値も小さくなります。ただし、ばらつきや LED 個体差を考えて、赤色 LED と同じ 330Ω を使っても問題ありません。電流が少なくなる(暗くなる)だけで、LED は壊れません。
課題3-2-2:LED を 1 秒間隔で点滅させよう
GP15 の外付け LED を 1 秒点灯 → 1 秒消灯 の繰り返しで光らせよう。
▶ 模範解答と解説を見る
ブロックの組み合わせ例:

from machine import Pin
import utime
led = Pin(15, Pin.OUT)
while True:
led.value(1) # 点灯
utime.sleep(1)
led.value(0) # 消灯
utime.sleep(1)
解説: 「ずっと繰り返す」ブロックの中に「LED を点灯する → 1秒待つ → LED を消灯する → 1秒待つ」を並べます。「ずっと繰り返す」ブロックは MicroPython の while True: に変換されます。utime.sleep(1) は CPU を 1 秒間停止させる命令です。この組み合わせで「点灯 → 待機 → 消灯 → 待機」の周期動作が作れます。Lチカ(LED チカチカ)は電子工作の Hello, World! と呼ばれる定番プログラムです。
課題3-2-3:LED を 2 個同時に点滅させよう
GP14 と GP15 に 2 個の LED(それぞれ 330Ω 抵抗付き)を配線し、0.5 秒間隔で同時に点滅 させよう。ブレッドボード上では電源レール(GND)を共有させて、ジャンパー本数を減らすのがコツ。

▶ 模範解答と解説を見る
ブロックの組み合わせ例:

from machine import Pin
import utime
led_a = Pin(14, Pin.OUT)
led_b = Pin(15, Pin.OUT)
while True:
led_a.value(1)
led_b.value(1)
utime.sleep(0.5)
led_a.value(0)
led_b.value(0)
utime.sleep(0.5)
解説: GP14 と GP15 をそれぞれ Pin(14, Pin.OUT) / Pin(15, Pin.OUT) で初期化し、両方を同じタイミングで HIGH/LOW に切り替えます。「value(1) → value(1) → sleep」の順で書けば人間の目には完全に同時点滅に見えます。発展:片方を value(0)、もう片方を value(1) にして交互点滅にすれば、踏切信号のような演出も作れます。
まとめ
- LED は アノード(+・足長) を GP ピン側、カソード(-・足短) を GND 側につなぐ。
- 3.3V の GP ピンと赤色 LED(順方向電圧 ≒ 2.0V)の組み合わせでは 330Ω 程度の電流制限抵抗を必ず入れる。
- 「LED を点灯する」ブロックは内部的に
Pin(N, Pin.OUT).value(1)を実行している。digital_write ブロックと等価。 - Pico 内蔵 LED は GP25、Pico W は
Pin('LED')。外付け回路はどちらの機種でも同じ(共通の GP ピンを使う)。 - Lチカ(点滅)は「ずっと繰り返す」+「待つ」ブロックで構成される。電子工作のスタートライン。
次の記事ではタクトスイッチでデジタル入力を読み取り、ボタンを押している間だけ LED が光るインタラクティブな回路を作ります。