ArduinoでFull Color LED Arrayを試す
ArduinoでFull Color LED Arrayを試す
秋月で「高輝度10ポイントRGB LEDアレイ」が発売になりました。
これまでLEDを10個並べたLEDアレイはありましたが、新しく発売されたものは一つのLEDの中にRGB3原色のLEDをいれたものです。10個あるLEDの色を自由に設定することができます。例えば、オーディオのレベルメータなどの応用が考えられます。
面白そうなデバイスなので、早速入手してArduinoで試してみました。
1.LEDの構造
LEDが10x3のマトリックスになっています。カソードが共通につながっている、「コモン」型です。ダイナミック点灯が前提です。
色によってLEDの特性が異なるため、色ごとに電流制限抵抗の値を調整する必要があります。このため、電流制限抵抗はカソード側に入れて、アノード側を順番に切換えて表示する必要があります。
2.配線
カソード側(1、2、3番ピン)に電流制限抵抗をいれました。アノード側はArduinoにそのままつなぎます。
Arduino側は全部ソフトで制御しますので、取り回しの楽なように最も近いピンつなぎました。配線図は省略しますが、以下のようにつないでいます。
電流制限抵抗も全部470Ωを使っていますが、色ごとに調整した方が良いでしょう。特に青が暗いようでした。
3.プログラム
7segduinoのライブラリを流用して、ライブラリ化しました。以下のリンクからラウンロードできます。
ライブラリダウンロード:FullColorLEDArray.zip
基本的な使い方
・ピン番号を引数にしてFCLAのインスタンスを作成
・setSeg(セグメントNO, R, G, B)でセグメントの色を決定
・定期的にupdate()またはupdateWithDelay()メソッドを呼び出す
4.サンプルプログラム
サンプルプログラムもライブラリに同梱しています。
/*
Full Color LED Array drive test 1
2011/07/15 morecat_lab
*/
#include <FCLA.h>
FCLA myFCLA = FCLA(11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 14, 15, 16);
void setup()
{
myFCLA.begin();
}
void loop()
{
myFCLA.setSeg(0, 0 , 0, 0);
myFCLA.setSeg(1, 15, 0, 0);
myFCLA.setSeg(2, 0 , 15, 0);
myFCLA.setSeg(3, 15, 15, 0);
myFCLA.setSeg(4, 0 , 0, 15);
myFCLA.setSeg(5, 15, 0, 15);
myFCLA.setSeg(6, 0 , 15, 15);
myFCLA.setSeg(7, 15, 15, 15);
myFCLA.updateWithDelay(500);
}
プログラム8行目のFCLAの初期化パラメータは、上記の配線に対応しています。
配線を変更した場合には、変更が必要になります。
5.応用
色で数値を表すことで、カラーコードの表示器や時計を作れます。
次の写真は抵抗のカラーコードにあわせて色を表示してみたものです。茶色(1)、赤(2)、オレンジ(3)の区別が難しいので、実用には向かない気がしました。。。
(続く)
2011年7月18日月曜日
Full Color LED Array