【#1】出力編:LEDが光るかを確認する

MicroPython

ボタンを押しても反応しない。
コードを書き換えても何も起きない。

そんなとき、最初に確認すべきなのはLEDです

理由はシンプルです。
LEDが光らない状態では、ほかの確認ができないからです。

このページでは、
「LEDが確実に光る」ことだけに集中します。


まずは「LEDが光るだけ」の状態を作る

ここでは、ボタンや条件分岐は一切使いません。

LEDが一定間隔で点いたり消えたりする
それだけが確認できればOKです。

※ 内蔵LEDは使いません。
Pico / Pico W の違いを避けるため、外付けLEDを前提にします。

最小コード(LED点滅)

from machine import Pin
import time

led = Pin(15, Pin.OUT)

while True:
    led.value(1)
    print("LED ON")
    time.sleep(1)

    led.value(0)
    print("LED OFF")
    time.sleep(1)

このコードで確認するのは、次の2点だけです。

  • LEDが1秒ごとに点灯・消灯するか
  • シリアルに「LED ON / OFF」が表示されるか

どちらも確認できれば、出力はOKです。


LEDが光らないときのチェックポイント

LEDが光らない場合でも、
ここで原因を一つに決めつける必要はありません。

上から順番に、ひとつずつ確認していきましょう。

  • LEDの向きは合っているか(極性)
  • 抵抗は入っているか
  • LEDはGNDにつながっているか
  • コードのピン番号と実際の配線は一致しているか
  • Pin.OUT になっているか
  • GNDは共通になっているか

一つずつ潰していけば、
必ずどこかで「おかしい場所」が見つかります


筆者がハマった「LEDが光らない」実例3つ

ここからは、が実際にやらかした例です。
どれも「初心者あるある」ですが、気づくと一瞬で解決します。

例1:LEDを逆向きに刺していた(極性ミス)

LEDは向き(極性)があります。逆向きだと、コードが正しくても光りません。

チェック長い足をGPIO側(+側)短い足を抵抗→GND側につなぐ

例2:GPIO番号が「配線」と「プログラム」でズレていた

配線はGPIO15に刺しているのに、コードはGPIO16になっていた…みたいなズレです。
このズレはかなり多いです。

チェック:配線したGPIO番号と、Pin(15, Pin.OUT) の数字が一致しているか

ピコさん
ピコさん
「GP15」と「15番ピン」は別物なので気をつけよう。よく間違えるとこだよ

例3:ブレッドボードの青いラインを信じたが、GNDに接続していなかった

ブレッドボードの「-(青いライン)」は便利ですが、
青いライン自体が自動でGNDになるわけではありません

青いラインにLEDのGND側をつないだつもりでも、
その青いラインをPicoのGNDに接続していなければ、回路としては未完成です。

チェック:青いラインとPicoのGNDが、ジャンパ線で確実につながっているか

下図はLEDのカソードから抵抗を介してGNDに繋いだつもりで繋がっていなかった事例です。
青色の手書きした部分をジャンパ線で繋がなくてはなりません。

この3つは、「LEDが光らない原因」の上位常連です。
もし該当しそうなら、ここだけ先に見直してみてください。


ここまで確認できたら

LEDが安定して光るようになったら、
「出力は問題ない」と判断してOKです。

次は、
ボタンが本当に反応しているかを確認します。

LEDは、これから
「確認用インジケータ」として使い続けます。

焦らず、確実に進めていきましょう。

目次:<電子工作が動かないとき>
前:【#0】基本編 / 次:【#2】入力編

コメント