ArduinoでLEDを光らせる基本回路――配線から抵抗値計算まで一気に理解する。
そのLED、抵抗なしで繋いでいませんか。アノード・カソードの見分け方から、オームの法則を使った抵抗値の計算、実際の配線手順までを解説します。
目次
01なぜLEDには必ず抵抗が必要なのか
結論から言えば、ArduinoでLEDを光らせる回路において唯一絶対に守るべき条件は「抵抗を挟むこと」である。LEDは決められた電流を超えると壊れてしまう部品であり、Arduinoの5V出力にLEDを抵抗なしで直接繋ぐと、想定をはるかに超える電流が流れてしまう。
実例として、ArduinoのGND出力とLEDを抵抗を挟まずに直接接続し、実際にテスターで電流を計測した検証がある。LEDを点灯させる(hiramine.com)では、Arduinoの5V出力とGNDの間に抵抗を挟まずLEDを繋いだところ、約1[A]ほどの電流が流れ、数秒でLEDが焼き切れてしまったという検証結果が紹介されている。同記事では、続けて150Ωの抵抗を挟んだ場合の実測値として、LEDに19.2[mA]、1.93[V]ほどの電流・電圧が流れていたことも報告されている。
編集部見解:LED回路は電子工作の入り口として扱われることが多いが、「なぜ抵抗が必要なのか」を理解せずに真似だけで組んでしまうと、抵抗値を変える必要がある別の部品に応用できない。最初の1回で計算の考え方まで身につけておく価値は大きいと考えられる。
― YOFUKASI AI編集部
本記事では、LED回路の基礎知識から、オームの法則を使った抵抗値の計算方法、実際にLEDを点灯させるまでの手順と注意点までを、初心者を対象に体系的に解説する。なお、素材画像の提供がなかったため、配線は図ではなく手順化されたテキストで示す。
02LED回路の基礎知識
LEDには極性(プラス・マイナスの向き)があり、正しい向きに接続しないと点灯しない。長い方の足をアノード(anode、陽極)、短い方の足をカソード(cathode、陰極)と呼ぶ。
Arduino公式のBlinkチュートリアルでは、外部LEDを接続する際の配線について、Arduino公式「Blink」built-in exampleにおいて抵抗の片方の端をLED_BUILTINに対応するデジタルピンに接続し、LEDの長い足(プラス側、アノードと呼ばれる)を抵抗のもう片方の端に接続し、LEDの短い足(マイナス側、カソードと呼ばれる)をGNDに接続するという配線が説明されている。この「デジタルピン→抵抗→LEDのアノード→LEDのカソード→GND」という順序が、LED回路の基本形になる。
用語の整理
- アノード(anode):LEDの長い方の足。プラス側で、電流の入口。
- カソード(cathode):LEDの短い方の足。マイナス側で、電流の出口。
- 順電流(IF)・順電圧(VF):LEDが正常に点灯する際の電流・電圧の目安値。データシートに記載されている。
LEDをON・OFFする命令自体は、pinMode()でピンを出力に設定した上でdigitalWrite()を呼び出すだけである。Arduino公式 Language Reference「digitalWrite()」では、この関数がデジタルピンにHIGH(5V、または3.3Vボードでは3.3V)またはLOW(0V)を出力する働きを持つと定義されている。
LED回路を組む前に、ブレッドボードの使い方をまだ体系的に学んでいない場合は、先に基礎を押さえておくとこの先の作業がスムーズになる。電子工作ブレッドボード完全攻略ガイドはこちらの記事で詳しく解説している。
03抵抗値計算の仕組みと技術的背景
抵抗値は、中学・高校の物理でも習うオームの法則(電圧 = 電流 × 抵抗)を使って計算する。LED回路における考え方は次の通りである。
- Arduinoの出力電圧(多くのボードで5V)から、LEDの順電圧(VF、一般的な赤色LEDで約2V)を引く → 抵抗にかかる電圧が求まる
- 抵抗にかかる電圧を、流したい順電流(IF、一般的に20mA程度)で割る → 必要な抵抗値が求まる
具体的な計算例は次のようになる。
抵抗にかかる電圧 = Arduino出力電圧 - LEDの順電圧
= 5V - 2V
= 3V
必要な抵抗値 = 抵抗にかかる電圧 ÷ 流したい電流
= 3V ÷ 0.02A(20mA)
= 150Ω
この計算式は複数の解説記事でも同様に紹介されている。電流、電圧?抵抗器?オームの法則って?(DEVICE PLUS)では、Arduinoの出力電圧5Vのうち、LEDに2Vの電圧を加えたい場合、抵抗には5V-2V=3Vの電圧が加わるようにし、LEDに20mAの電流を流したい場合はその値を当てはめることで抵抗値が決まるという同様の手順が解説されている。
手元に150Ωちょうどの抵抗がない場合、多くの解説では220Ω〜330Ω程度の抵抗でも代用できるとされる。抵抗値を計算値より大きくすると、電流が減って安全側に振れる一方、LEDの明るさはやや暗くなる。逆に計算値より小さい抵抗を使うと、電流が過大になりLEDの寿命を縮めるおそれがあるため、迷ったら計算値より大きめの抵抗を選ぶのが安全である。
実際に150Ωの抵抗を使って計測した実測例も報告されている。前掲のLEDを点灯させる(hiramine.com)では、計算通り150Ωの抵抗を使用した場合、実測でおよそ19.2mA・1.93Vという、計算上の目安値(20mA・2V)に近い値が確認されている。
Arduino本体のピン配置やデジタル出力の仕様について詳しく知りたい場合は、以下の記事も参考になる。
Arduinoメインボード徹底解説はこちらの記事で紹介している。デジタルピンの位置や仕様の基礎知識がまとまっている。
04LED制御方法の比較と選択肢
LEDをどう制御するかは、目的によって最適な方式が変わる。以下に3つの選択肢を整理する。
| 項目 | A. digitalWrite(ON/OFFのみ) | B. analogWrite(PWMで明るさ調整) | C. 抵抗値の選択(150Ω/330Ω/1kΩ) |
|---|---|---|---|
| できること | 点灯・消灯の切り替えのみ | 明るさを0〜255の256段階で調整 | 電流量・明るさ・安全マージンの調整 |
| 対応ピン | すべてのデジタルピン | PWM対応ピンのみ(基板に~マーク表示) | ピンの制約なし(部品の選択の話) |
| 向いている用途 | 動作確認・単純なON/OFF表示 | フェード演出・明るさの段階表現 | LEDの種類・電源電圧に応じた調整 |
※PWMによる明るさ制御の仕様はArduino公式 Language Reference「analogWrite()」を参照。抵抗値の使い分けの目安は編集部見解を含む。
まずはA案のdigitalWrite()でLEDが正しく点灯することを確認し、その後で明るさを段階的に変化させたくなったらB案のanalogWrite()に発展させる、という順序で学ぶのが取り組みやすい。
05実践:LEDを点灯させる5ステップ
ここでは「赤色LED(順電圧2V・順電流20mA想定)を、Arduino UNOのデジタルピン9番で1秒ごとに点滅させる」という編集部想定シナリオを題材に、配線からコードアップロードまでの具体的な手順を示す。
-
STEP1. 抵抗値を計算する
オームの法則を使い、Arduino出力電圧5V、LEDの順電圧2V、流したい電流20mAから抵抗値を求める。
実例:(5V – 2V) ÷ 0.02A = 150Ω。手元に150Ωがない場合は220Ωで代用することにした。 -
STEP2. ブレッドボード上で配線する
以下の順序で部品を接続する。極性を間違えないよう、LEDの足の長さを確認しながら作業する。
配線手順(テキスト版)- Arduinoのデジタルピン9番から、ジャンパ線をブレッドボードの1列に接続する
- 同じ列に抵抗(220Ω)の片端を挿す
- 抵抗のもう片端を、別の列に挿す
- その列に、LEDの長い足(アノード)を挿す
- LEDの短い足(カソード)を、GNDに繋がる列に挿す
- Arduinoの GND ピンから、ジャンパ線でその列に接続する
実例:デジタルピン9→抵抗220Ω→LEDアノード→LEDカソード→GNDという順序で配線した。 -
STEP3. pinMode()でピンを出力に設定する
setup()内で、使用するデジタルピンをOUTPUTに設定する。実例:void setup() { pinMode(9, OUTPUT); }を記述した。 -
STEP4. digitalWrite()とdelay()で点滅させる
loop()内で、HIGHとLOWを交互に出力し、その間にdelay()で待機時間を入れる。実例:void loop() { digitalWrite(9, HIGH); delay(1000); digitalWrite(9, LOW); delay(1000); }を記述し、1秒周期での点滅とした。 -
STEP5. アップロードして点灯を確認する
Arduino IDEでボードとポートを選択し、スケッチをアップロードする。LEDが点滅しない場合は、抵抗の接続忘れ、LEDの極性、配線列のズレを順に確認する。
実例:初回アップロード時にLEDが点灯しなかったため確認したところ、LEDのアノードとカソードを逆に挿していたことが原因だった(編集部想定シナリオ)。向きを直したところ正常に点滅した。
Arduino IDE自体をまだインストールしていない場合は、以下の記事で最新版の手順を確認できる。
06注意点・よくある誤解
抵抗を挟まずにLEDをArduinoの出力に直結すると、過大な電流が流れてLEDが焼き切れたり、最悪の場合Arduino本体のピンを損傷させたりする可能性がある。抵抗は省略可能なオプションではなく、LED回路における必須部品である。
LEDには極性があり、アノード(長い足)とカソード(短い足)を逆に接続すると点灯しない。配線を確認してもLEDが光らない場合、まずLEDの向きを疑うのが基本的なトラブルシューティングの手順になる。
個々のLEDに適切な抵抗を用意していても、Arduino本体の1ピンあたりが出力できる電流には上限がある。多数のLEDやモーターのように電流の大きい部品をまとめて駆動したい場合は、トランジスタやFETなどを介した駆動回路を検討する必要がある。
07FAQ
参考文献
- Arduino公式ドキュメント編集チーム「Blink」Arduino Documentation, built-in examples. https://docs.arduino.cc/built-in-examples/basics/Blink
- Arduino公式ドキュメント編集チーム「digitalWrite()」Arduino Documentation, 2024年改訂. https://docs.arduino.cc/language-reference/en/functions/digital-io/digitalwrite/
- Arduino公式ドキュメント編集チーム「analogWrite()」Arduino Documentation, 2025年改訂. https://docs.arduino.cc/language-reference/en/functions/analog-io/analogWrite/
- hiramine.com「LEDを点灯させる」hiramine.com – Arduino. https://www.hiramine.com/physicalcomputing/arduino/ledlighting.html
- DEVICE PLUS編集部「電流、電圧?抵抗器?オームの法則って?」DEVICE PLUS, 2022年再編集. https://deviceplus.jp/arduino/entry_003
- 本文中の具体的なトラブル原因の特定エピソードは、断りのない限り編集部想定シナリオに基づく想定であり、実測データではありません。
関連記事(内部リンク)
- 電子工作 ブレッドボード完全攻略ガイド ― これだけ読めば全てがわかる!(2026年更新版) ― https://yofukasi-lab-wp.com/2026/07/18/breadboard/
- Arduinoメインボード徹底解説 ― 初心者からプロまで、これだけ読めば全てがわかる! ― https://yofukasi-lab-wp.com/2025/03/07/mainboard/
- Arduino IDEのダウンロード・インストール方法【2026年版】Windows・Mac・Linux対応 ― https://yofukasi-lab-wp.com/2026/08/01/arduino-install-download/
コメント