LEDとは?しくみとArduinoへのつなぎ方
LEDとは何か、どう動くのか、アノードとカソードはどう見分けるのか。LEDの抵抗の計算、色ごとのLEDの電圧、RGB LED、Arduinoへの配線を解説します。
LED(Light Emitting Diode、発光ダイオード)は、電流が流れると光を出す半導体です。スマートフォンの画面や信号機から、車のヘッドライト、家の電球まで、LEDはあらゆるところで使われています。電子工作でも、ほとんどの人の最初のプロジェクトはLEDを光らせることです。デジタル出力、電流の制限、タイミングを一度に学べるからです。

LEDはどう動く?
LEDはダイオードの一種で、電流を一方向にしか流しません。正しい向きにつなぐと、半導体の中の電子がエネルギーを失い、光(光子)を出します。光の色は半導体の材料で決まります。そのため、赤、緑、青のLEDはそれぞれ異なる電圧で動作します。
LEDのプラスとマイナスの足はどう見分ける?
- 長い足がアノード(+)、短い足がカソード(−)です。
- LEDのふちが平らに欠けている側がカソードです。
- LEDの中をのぞくと、旗のような形の大きい部分がたいていカソードにつながっています。
- 逆向きに差したLEDは光りませんが、壊れることもありません。向きを変えてもう一度試してください。
LEDを抵抗なしでつないではいけない理由
LEDは自分で電流を制限しません。順方向電圧を少し超えるだけで電流が急激に増え、LEDは数秒で壊れることがあり、Arduinoのピンも傷むおそれがあります。そのため、LEDには必ず直列抵抗をつなぎます。抵抗値は次の式で求めます。
R =(電源電圧 − LEDの電圧)/ LEDの電流
たとえば、5 VのArduino、赤色LED(約2 V)、15 mAの場合:R = (5 − 2) / 0.015 = 200 Ω。最も近い標準値の220 Ωを使います。この計算と実際の電流をすぐに確認するには、LED抵抗計算ツールを使ってください。
色ごとのLEDの電圧
| LEDの色 | 標準的な順方向電圧(Vf) | 5 Vでのおすすめの抵抗(15 mA) |
|---|---|---|
| 赤 | 1.8〜2.0 V | 220 Ω |
| オレンジ / 黄 | 1.9〜2.1 V | 220 Ω |
| 緑(従来型) | 2.0〜2.2 V | 200〜220 Ω |
| 緑(純緑) | 3.0〜3.2 V | 120〜150 Ω |
| 青 / 白 | 3.0〜3.3 V | 120〜150 Ω |
| 赤外線(IR) | 1.2〜1.5 V | 240〜270 Ω |
すべての色の標準値と最大値はLED電圧表で確認できます。
LEDをArduinoにつなぐ
- Arduinoのデジタルピン(例:9)を220 Ωの抵抗につなぎます。
- 抵抗のもう一方の端をLEDの長い足(アノード)につなぎます。
- LEDの短い足(カソード)をArduinoのGNDピンにつなぎます。
- コードではpinMode(9, OUTPUT)でピンを出力にし、digitalWriteで点けたり消したりします。
1const int LED = 9;
2
3void setup() {
4 pinMode(LED, OUTPUT);
5}
6
7void loop() {
8 // Yavaşça parlat / fade in (PWM, 0-255)
9 for (int i = 0; i <= 255; i++) { analogWrite(LED, i); delay(4); }
10 // Yavaşça söndür / fade out
11 for (int i = 255; i >= 0; i--) { analogWrite(LED, i); delay(4); }
12}RGB LEDとは?
RGB LEDは、赤、緑、青の3つのLEDを1つのパッケージに収めたものです。それぞれの色の明るさをPWMで個別に調整すると、何千もの色を作れます。赤 + 緑 = 黄、緑 + 青 = シアン、3色すべて = 白です。RGB LEDにはカソードコモン(共通の足をGNDへ)とアノードコモン(共通の足を5 Vへ)があり、アノードコモンではコードのロジックが逆になります。

アドレス指定可能なLED(WS2812B、NeoPixel)
WS2812BのようなスマートLEDには、それぞれ小さなドライバーチップが入っています。そのため、何百個ものLEDを1本のデータピンで制御し、1つずつ別の色で光らせることができます。LEDテープでは各LEDが白の最大輝度で約60 mAを消費するため、長いテープには別の5 V電源が必要です。



よくある失敗
- 複数のLEDを1つの抵抗で並列につなぐ:電流は均等に分かれません。LEDごとに抵抗をつけてください。
- Arduinoのピンから電流を流しすぎる:1ピンあたり20 mA、ボード全体で200 mAを超えないようにしてください。
- PWMに対応していないピンでPWMを試す:明るさは変わらず、LEDは点くか消えるかだけです。
- 3.3 Vのボード(ESP32、Pico)で青や白のLEDに大きな抵抗を使う:LEDがとても暗くなります。
よくある質問
LEDは何ボルトで動きますか?
色によって異なります。赤は約2 V、青と白は約3.2 Vが必要です。ただし、その電圧を直接かけるのではなく、電源電圧を抵抗と一緒にかけます。抵抗が電流を制限します。
LEDには220 Ωと330 Ωのどちらを使うべきですか?
5 Vなら、赤、黄、緑のLEDにはどちらも安全です。220 Ωはより明るく(約13 mA)、330 Ωは少し暗くなりますが電流は少なくなります(約9 mA)。
LEDは直列につなげますか?
はい、LEDの電圧の合計が電源電圧より低ければつなげます。たとえば白色LED3個(3 × 3.2 V = 9.6 V)は、適切な抵抗を使えば12 Vで動かせます。
LEDがとても暗いのはなぜですか?
pinMode(pin, OUTPUT)の行が抜けているか、抵抗が大きすぎるか、3.3 Vのボードで青や白のLEDを使っている可能性があります。小さい抵抗を使い、コードを確認してください。
LEDが壊れているかどうかはどうすればわかりますか?
マルチメーターをダイオードモードにしてLEDの足に当てます。正常なLEDは正しい向きでかすかに光り、画面に順方向電圧が表示されます。逆向きでは値が表示されません。
この記事を読んだ後に作れるプロジェクト
全プロジェクトを見る
LEDの点滅
電子工作の第一歩は、1個のLEDを点けたり消したりすることです。Arduinoで短い間隔で点灯と消灯を繰り返すと、LEDが素早く点滅します。ボードが光を制御する仕組みを最もシンプルな形で確かめ、これから取り組むプロジェクトの基礎を身につけます。

信号機
毎日道路で見かける信号機の小さな模型です。赤が2秒点灯し、黄が一瞬点灯した後、緑が2秒点灯します。その後、再び黄を経て赤に戻り、この動作を繰り返します。3個のLEDを順番に点けたり消したりしながら、タイミングの組み立て方を学びます。

Knight Rider風LED
Knight Riderでおなじみの、光が左右に往復する動きです。6個のLEDの上を光の点が端から端へ進み、折り返します。Arduinoが各LEDを10分の1秒ずつ点灯させ、端に着くたびに向きを変えて往復し続けます。装飾用の照明や警告灯作りの第一歩にぴったりです。

RGB LEDの使い方
1つのLEDに3つの色が入っています。RGB LEDが赤、緑、青の順に、それぞれ0.5秒点灯して0.5秒消灯し、このサイクルを繰り返します。ArduinoにRGB LEDを1つと抵抗を3つ接続するだけです。色とりどりの光を使うプロジェクトを、手軽に始められます。

RGB LEDで滑らかに色を変える
1つのRGB LEDが赤から緑、緑から青、そして再び赤へとゆっくり変わり、虹色のサイクルを繰り返します。1回の色の変化には約2.5秒かかり、色が混ざることで、その間に黄色、ターコイズ、紫が自然に現れます。光が滑らかに暗くなったり明るくなったりする様子を、自分の目で確かめられます。

WS2812B LEDテープの使い方
1つずつ自由に色を変えられるスマートLEDテープを使ってみます。Arduinoが最初の5個のLEDを赤く点灯し、1秒後に残りの5個を青く点灯します。その後すべて消灯し、最初から繰り返します。1本の配線で何十個ものLEDを個別の色にするための第一歩です。このようなテープは、装飾用のライトや部屋の照明にも使われています。

ESP32のPWMでLEDをフェード
LEDの明るさを0から最大へ、最大から0へと滑らかに変化させます。Arduinoと同じようにanalogWrite()でPWMを制御します。ESP32 Arduino Core 3.0+では同じ構文がそのまま使えます。ピンの定義とpinMode、analogWriteだけで実現できます。

Raspberry Pi PicoのPWMでLEDをフェード(呼吸のような明滅)
LEDを単に点滅させるだけでなく、呼吸するように明滅させます!Raspberry Pi PicoのPWM(パルス幅変調)を使い、スリープ中のMacBookのランプのように、明るさをゆっくり上げてからゆっくり下げます。machine.PWMクラス、duty_u16()(0–65535の16ビットの明るさ)、PWM周波数(freq(1000)で1秒間に1000回オン・オフし、ちらつきを感じさせない)、range()による段階的なループ(増加と減少)、デジタルピンからのアナログのような出力を学びます。PWMはRGBの混色やモーターなどに使われる、組み込み開発の基本技術です。
ほかの記事
BlueGraysアプリ
この回路をスマホでステップごとに作る
回路図、コード、部品リストを1つの画面で確認できます。Arduino、ESP32、Picoのプロジェクトを200件以上用意しています。

