フルカラーLEDの基本・使い方(ハード制御編)

フルカラーLEDの基本・使い方(ハード制御編)

LEDは車のヘッドライト、照明、信号 等 さまざまな用途で、基本的には単色の発光をしているかと思います。
しかし、1つのLEDで多種の色を発行できるフルカラーLEDというものがあります。使用例ですと、クリスマスのイルミネーション等の電飾を想像して頂ければと思います。今回はそのフルカラーLEDをボタンを使用して制御する方法を紹介します。

フルカラーLED


フルカラーLEDは大きく3種類あります。

1. イルミネーション用フルカラーLED

特徴
●  端子は2つあります ※足が短いほうがカソードです
●  10色程度の色がローテーションで光ります
●  ICが内臓ざれており、一定時間経つと自動で色が変わります
● クリスマスのイルミネーション等によく用いられいます
データシート:RGBイルミネーションフルカラーLED OST1MA58K1B

2. RGBフルカラーLED(アノードコモン)

特徴

● 端子は4つあります ※足が長い1本がアノードです(他はカソード)
● 1つのLEDで約1677万色(256 ^3)を再現可能
データシート:RGBフルカラーLED 5mm OSTAMA5B31A アノードコモン

3. RGBフルカラーLED(カソードコモン)

特徴
● アノードコモンに対して、アノードとカソードが逆になっただけです
※足が長い1本がカソードです(他はアノード)
● 他はアノードコモンと同じです
データシート : RGBフルカラーLED 5mm OSTA5131A カソードコモン
本記事では「2. RGBフルカラーLED(アノードコモン)」を使用します

用意するもの


ラズベリーパイ
ブレッドボード
ジャンパー線
フルカラーLED(アノードコモン)
抵抗
スイッチ
タクト、トグル、スライドのどれでも良いので3個を用意してください。

フルカラーLEDの回路を設計しよう

配線の仕方はこんな感じになります。

同じ抵抗値でも電流が通るレベルであれば、問題なく使用することはできます。
ですが、同じ抵抗値ですと、ホワイトバランスが考えられておらず、白色がきれいに表示できません。
本記事では白色をきれいに表示することを重点に置き、以下の注意事項を考えて進めていきます。

注意事項

● RGBの光度はLED型番によって異なる
● ホワイトバランスはR:G:B = 3:7:1 の光度比にする

参考:フルカラーLEDの白色発光について - 日亜化学工業

抵抗値の算出方法は?

1.データシートのLuminous Intensityとホワイトバランスから電流量を決める
Luminous Intensity(光度)
光度比を求めると
R:G:B =  8500 : 14400 : 4000 ≒ 2 :3.5 : 1
ホワイトバランスは
R:G:B =  3:7:1
よって、光度比とホワイトバランスより、電流比を求めると
R:G:B =  (3 / 2) : (7 / 3.5) : (1 / 1) = 1.5 : 2 : 1
電流量の基準値を4mAとして考えたとき、使用する電流値を求めると
R:G:B =  (1.5×4mA) : (2×4mA) :  (1×4mA)  =  6mA : 8mA : 4mA
2.RGBそれぞれの抵抗値を求める
安定した電圧を出力するために電流量に関する以下の注意事項を考えて設計します。

電流量に関する注意事項

● ラズパイ1ピンあたりの安定して出力できる最大電流は16m

● GPIO全体の合計電流は50mA程度まで参考サイト:ラズパイの電流(16mA)

抵抗を求める式

(電源電圧[V] - LEDの順電圧[V]) / 電流[I] = 抵抗値[Ω]

順電圧はデータシートの「DC Forward Voltage」の標準(V)列を使用します
DC Forward Voltage(順電圧)

色最小(V)標準(V)最大(V)R(赤)1.82.1 2.6G(緑)2.83.13.6B(青)2.83.13.6
電源電圧を3.3Vとし、前章で計算したRGB別の電流量を使用します
赤:緑:青  = 6mA : 8mA : 4mA
R(赤)
(3.3 - 2.1) [V] / 0.006[A] = 200[Ω]
G(緑)
(3.3 - 3.1) [V] / 0.008[A] = 25[Ω]
B(青)
(3.3 - 3.1) [V] / 0.004[A] = 50[Ω]
ただし、上記の計算値は理論値です。
実際に電流量を計測しながら抵抗を設定した結果以下のようになりました。
R(赤)
200[Ω]     → 223[Ω]
G(緑)
25[Ω]       → 40[Ω]
B(青)
50[Ω]       → 133[Ω]
理論値と結果がずれた原因ははっきりとはわかりませんが、
おそらくForward Voltage(順電圧)にばらつきがあるのではないかと思います。
フルカラーLEDを使ってみよう
ダイジェスト
本記事での使った結果のダイジェストを動画にしてみました
色光の3原色を表示してみよう
色光の3原色 とは 「赤,緑,青」のことです
RGB明度
表示色RGB赤2550 0緑02550青00255
赤を点灯しよう
奥のスイッチを押します

緑を点灯しよう
真ん中のスイッチを押します

青を点灯しよう
手前のスイッチを押します

色料の3原色を表示してみよう
色料の3原色 とは 「シアン, マゼンタ,イエロー」のことです
RGB明度
表示色RGBシアン0255 255マゼンタ2550255イエロー2552550

シアンを点灯しよう緑と青のスイッチを押します

マゼンタを点灯しよう赤と青のスイッチを押します

イエローを点灯しよう赤と緑のスイッチを押します

白を表示してみよう
全ての色を同時につけると「白」が発光されます。
RGB明度
表示色RGB白255255 255赤と緑と青のスイッチを押します

まとめ


●  ホワイトバランス等を考える必要があり、フルカラーLEDの白色を作るのは面倒だった
●  フルカラーLEDに複数種類(イルミネーション、アノードコモン、カソードコモン)があった
●  可変抵抗はとても便利だった