はじめに
1つのLEDを点灯、光量や色を変化させたいと思います。データのOUTピンを観察するために、LED2つ分のデータを入力しています。
機能
外形
5mm角、高さ1.57mm
ピンアサイン
VDD・・・電源(+3.5V~+5.3V)
DOUT・・・コントロールデータ信号出力
VSS・・・グランド
VIN・・・コントロールデータ信号入力
LED1つ分の24ビットデータ構成
24bit x LEDの数 = 1フレームのデータbit数
bit0,1,リセットデータのシーケンス図
T0H・・・400±150ns
T0L・・・850±150ns
T1H・・・850±150ns
T1L・・・400±150ns
Reset・・・50μs以上
点灯させてみる
白色を点灯させる
白色データを2連続(101010h+101010h)で送ると1つめのLEDが点灯データとして吸収され、DOUTピンからは2つめ以降が出力される。
データシートのシーケンス図は無視してbit0とbit1のタイミングを実験してみました。実験で使用したこちらの制御マイコンの最小命令タイミングが68nsとなりますので、この倍数のタイミングで実験してみました。
bit0のタイミングは、T0Hが68~408nsまで認識OK、ただし全体が680ns以上でなければいけない。よって、T0H:68nsであれば、T0L:612ns以上必要。T0H:408nsであれば、T0L:272ns以上に設定する必要があります。
bit1のタイミングは、T1Hが476ns以上で、全体が680ns以上必要となります。よって、T1H:476nsであれば、T1L:204ns以上必要。T1H:612nsであれば、T1Lは68nsでもOK。
光の強さを変えてみる
白色光の強弱をつける
データ(202020h)
データ(808080h)
データ(FFFFFFh)
強弱を変更する方法
000000h(消灯)からFFFFFF(一番明るい)まで256段階の強弱が可能
光る色を変えてみる
赤色を点灯させる
データ(002000h)
色を変更する方法
色データは 緑256段階 x 赤256段階 x 青256段階 = 16777216色の表現が可能。
まとめ
データを連続で送ると1つめのLEDが点灯データとして吸収され、DOUTピンからは2つめ以降が出力される。2つめのLEDが次のデータを点灯データとして吸収し、3つめ以降がDOUTピンから出力される。これが繰り返される。
緑8ビット+赤8ビット+青8ビットの24ビットの並びを1つのLEDデータとして各ビットの大きさにより明るさが変わり、それらの組み合わせで色を変更できる。
次回はLEDの数を8個並べて制御したいと思います。1フレーム、2フレーム、・・・とLEDを動きのあるアニメーションを制作します。