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

LEDの順方向電圧
一般的な順方向電圧($${V_F}$$)は次の通りです:
赤色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)、$${V_F}$$はLEDの順方向電圧、IFI_FIFは順方向電流(一般的には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の楽しさを感じてください!