こんにちは、タクト工房へようこそ!今回は赤以外の色のLEDも使用して、カラフルな光の演出を楽しみます。もしまだ、LEDが発光する原理を知らない方や、LEDの点滅を試していない方は、下の記事を参考にしてください。
※この記事は、アフリエイト広告を利用しています
必要な材料と道具
- Raspberry Pi
- ブレッドボード
- 複数のLED(赤、緑、青など)
- 抵抗(各LEDに適したもの)
- ジャンパーワイヤー

¥16,100 (2025/03/19 09:40時点 | Amazon調べ)

¥5,360 (2025/03/23 16:07時点 | Amazon調べ)

LEDの順方向電圧
一般的な順方向電圧VFは次の通りです:
- 赤色LED: 2.0V
- 緑色LED: 3.0V
- 青色LED: 3.0V
Raspberry Piの出力電圧は3.3Vです。各LEDに適した抵抗値を計算して使用します。
回路設計(抵抗の求め方)
抵抗の値を求めていきたいと思います。抵抗の値は以下の式で求めることができます:
$$R=\frac{V−V_F}{I_F}$$
ここで、Rは抵抗値、Vは電源電圧(3.3V)、
VFはLEDの順方向電圧、IFは順方向電流(一般的には20mA)です。
例として、緑色LEDの抵抗を計算してみます:
$$R=\frac{3.3V−3.0V}{0.02A}=15Ω$$
15Ωと計算されたので、それより大きい抵抗を使います。他の色のLEDについても同様に計算します。
複数のLEDの点灯
配線のセットアップ
- 赤色LED:
- アノードをGPIO 17に接続
- カソードを抵抗を経由してGNDに接続
- 緑色LED:
- アノードをGPIO 27に接続
- カソードを抵抗を経由してGNDに接続
- 青色LED:
- アノードをGPIO 22に接続
- カソードを抵抗を経由してGNDに接続


もし、RaspberryPiのピンの配置が分からない方は、下の記事を参考にしてください。
プログラムを書く
次に、Raspberry Piに以下のC言語コードを入力します。このコードは、WiringPiを使って複数のLEDを順番に点滅させるプログラムです。
#include <wiringPi.h>
#include <stdio.h>
#define RED_PIN 17 // GPIO 17
#define GREEN_PIN 27 // GPIO 27
#define BLUE_PIN 22 // GPIO 22
int main(void) {
wiringPiSetupGpio();
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
while (1) {
digitalWrite(RED_PIN, HIGH);
delay(500);
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
delay(500);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);
delay(500);
digitalWrite(BLUE_PIN, LOW);
}
return 0;
}
プログラムの説明
- pinMode(RED_PIN, OUTPUT): GPIOピンを出力モードに設定します。赤色LEDに対応しています。
- pinMode(GREEN_PIN, OUTPUT): GPIOピンを出力モードに設定します。緑色LEDに対応しています。
- pinMode(BLUE_PIN, OUTPUT): GPIOピンを出力モードに設定します。青色LEDに対応しています。
- digitalWrite(RED_PIN, HIGH): 赤色LEDを点灯させます。
- delay(500): 0.5秒待機します。
- digitalWrite(RED_PIN, LOW): 赤色LEDを消灯させます。
- 上記の手順を緑色LEDと青色LEDに対しても行います。
コンパイルと実行
入力が完了したら、メニューの「ビルド>Build」をクリックします。コンパイルが完了したら「ビルド>Execute」をクリックし、プログラムを実行します。実行すると、複数のLEDが順番に点滅します。

これで、複数のLEDを使ったカラフルなLチカの説明は以上です。ぜひ、自分で試してみて、Raspberry Piの楽しさを感じてください!
コメント