目次>5章 第2ステップ(色々な実験)>(13)3色LED(フルカラーLED)を使う(動作確認)
3色LED(フルカラーLED)を使う
− 動作確認 −
更新日2006.11.13
ここでは、フルカラーLEDを使って無限の色を表示する実験を行います。
フルカラーLEDとは、赤・緑・青の3つのLEDが一つのパッケージに封印されたもので、3つのLEDの明るさを変えることで無限の色を表示できます。
(1)光の三原色
|
・ |
まず、光の三原色について簡単に説明します。
物の色は、その物から発する(反射する)光の波長で決まります。
そして、人間の目は光の波長で色を識別しています。
自然界に存在する全ての色は、赤・緑・青の3色の光を合成することで表現できます。
下の図は、同じ明るさの赤・緑・青の光を当てた状態です。
|
| 2色以上の光が重なると別の色になります。
明るい、赤・緑・青の3つの光が重なると(図の中心)白になります。
3色を同じだけ暗くすると、中心の白は灰色に変わって行きます。
光の場合であって、絵の具を混ぜ合わせてもこのようにはなりません。
|
【参考】 テレビやパソコンのモニタ(ブラウン管,液晶ディスプレイ)もこの現象を使って色を表示しています。
テレビなどで、「RGB」端子が付いている場合がありますが、「Red」「Green」「Blue」の頭文字から来ています。
|
【参考】 ホームページを作成するときのHTMLでも色の指定は、赤・緑・青の3色の明るさを指定しています。この指定方法が、パソコンに表示するとき便利だからです。
HTMLの指定例 | 表示色 |
| <〜 BGCOLOR="#FF0000"> | | 赤
| <〜 BGCOLOR="#00FF00"> | | 緑
| <〜 BGCOLOR="#0000FF"> | | 青
| <〜 BGCOLOR="#FFFF00"> | | 黄
| <〜 BGCOLOR="#808080"> | | 灰
|
|
|
(2)3色LED(フルカラーLED)
|
|
フルカラーLEDは、光の三原色を応用して自然界の全ての色を表現できるようにしたもので、赤・緑・青の3つのLEDを一つのパッケージに収めたものです。
今回使用した日亜化学の「NSTM515」
|
| | 回路図風に表すと以下のようになっています。
|
ピン配置は、写真の左から、「赤」「アノード」「青」「緑」です。
|
この3つのLEDの明るさを変えることで、自由に色を作ることができます。
|
(3)回路図
|
|
今回作成する回路図です。
-
フルカラーLEDは、PICのRB0〜2に接続します。
レゾネータ(セラロック)は20MHzを使います。
抵抗は、電流が20mA以下になるように選択して下さい。
PICの各ポートに流せる電流の最大値は25mAです。余裕を持って20mA以下で使用します。
PICに接続せず、何種類かの抵抗を使って、電流が16〜20mAになる抵抗を決めて下さい。
- こちらはブレッドボードに組んだ所。
-
|
(4)動作確認
|
|
今回はLEDの明るさは変えずに、3つのLEDを点灯/消灯の組み合わせで8種類の色が表現できることを確認します。
上の回路図の接続は、PICのポートがOFFのときPICに電流が流れ込みLEDが点灯します。逆にPICのポートがONのときは、電流が流れずLEDは消灯します。
(引き込み電流と引き出し電流を参照)
- RB0〜2の状態とフルカラーLEDに表示される色の関係は下のようになります。
-
RB2 青 | RB1 緑 | RB0 赤 | フルカラーLED | 備 考
| ON | ON | ON | | 実際は全て消灯するので明るい所では白く見える
| ON | ON | OFF | |
| ON | OFF | ON | |
| ON | OFF | OFF | |
| OFF | ON | ON | |
| OFF | ON | OFF | |
| OFF | OFF | ON | |
| OFF | OFF | OFF | | 一番上とは違い、こちらは白く光る
|
|
(5)プログラム
|
|
ここで作成するプログラムは単純です。
PORTBの設定値を初期値として1(01h)を設定し、1秒毎に+1します。
その設定値の全ビットを反転してPORTBにセットします。
結果的に、上の表の8色を1秒毎に順に表示させます。
1秒の時間は、TMR0割込みを使って作成しています。
今回作成するプログラムはこちらです。
より多くの色を表示するには、LEDの明るさを変える必要があります。次回はその方法を説明する予定です。(LEDの明るさを序所に変えるを見た人は分かると思います。)
|