OptoSupply製マイコン内蔵RGBW LED OST45050C1A-W について。 合わせて OSTW3535C1A についても。
- 秋月電子通商: マイコン内蔵RGBWLED OST45050C1A-W (5個入) (I-13417)
- 秋月電子通商: マイコン内蔵RGBLED OSTW3535C1A (4個入) (I-13021)
仕様に関して
OST45050C1A-W
データシート(PDF)に記載されている限りでは、OST45050C1A-Wの内蔵マイコンがSK6812と同等なのかどうかは明記されていないものの、データ転送の仕様はSK6812と同じとなっている。
OST45050C1A-W | SK6812 | |
---|---|---|
LED Color | RGBW(32bit) | RGB(24bit) RGBW(32bit) |
The dynamic parameters | ||
The speed of data transmission | 800kHz | |
The data transmission time | ||
T0H : 0 code, high level time |
0.3μs±0.15μs | |
T0L : 0 code, low level time |
0.9μs±0.15μs | |
T1H : 1 code, high level time |
0.6μs±0.15μs | |
T1L : 1 code, low level time |
0.6μs±0.15μs | |
Trst : Reset code, low level time |
80μs | |
OST45050C1A-W | SK6812 |
一方、OST45050C1A-Wのデータ形式と転送順はRGBWの順にMSB firstと記載されているが、実際に動作させて確認したところGRBWの順となっている模様。 なお、SK6812はGRB/GRBWの順となっている。
The data structure | ||
---|---|---|
OST45050C1A-W (32bit RGBW) | G7, ..., G0, R7, ..., R0, B7, ..., B0, W7, ..., W0 | |
SK6812 | 24bit RGB | G7, ..., G0, R7, ..., R0, B7, ..., B0 |
32bit RGBW | G7, ..., G0, R7, ..., R0, B7, ..., B0, W7, ..., W0 |
OSTW3535C1A
データシート(PDF)にて、WS2812向けのコードで動作させる例が記載されている。 実際、データ転送の仕様を確認すると、WS2812Sと概ね同等となっている。
OSTW3535C1A | WS2812S | |
---|---|---|
LED Color | RGB(24bit) | |
The dynamic parameters | ||
The speed of data transmission | 800Kbps | |
Data transfer time | ||
T0H : 0 code, high voltage time |
200ns~380ns | |
T0L : 0 code, low voltage time |
580ns~1.6μs | 580ns~1μs |
T1H : 1 code, high voltage time |
580ns~1.6μs | 580ns~1μs |
T1L : 1 code, low voltage time |
200ns~420ns | |
RES : low voltage time |
> 280μs | |
OSTW3535C1A | WS2812S |
また、OSTW3535C1Aのデータ形式と転送順も、WS2812Sと同様にGRBの順にMSB firstとなっている。
NeoPixelBusで制御する場合
ライブラリNeoPixelBusでOST45050C1A-W/OSTW3535C1Aを制御する場合について。
OST45050C1A-W
NeoPixelBus
クラスを構築する際、データ転送の仕様はSK6812と同じなのでテンプレート引数T_METHOD
にはNeoSk6812Method
をそのまま指定することができる。 データ転送順はGRBWの順なのでT_COLOR_FEATURE
にはNeoGrbwFeature
を指定する。
コードとしては次のようになる。
SetPixelColor
など、色を指定するメソッドではRgbColor
の代わりにRgbwColor
を渡す。
上記の例にあるように、RgbColor
を渡すと、W=0%を指定した場合と同等に扱われる。
HslColor
/HsbColor
/HtmlColor
の各クラスはWチャンネルをサポートしていない。 そのため、これらのクラスを使いつつtWチャンネルも使用したい場合は、まずHslColor
/HsbColor
/HtmlColor
を構築し、次にそれをRgbwColor
コンストラクタに渡してRgbwColor
に変換したあと、Wチャンネルを別途設定するなどする必要がある。
NeoPixelBus以外のライブラリの場合も、SK6812および32bit RGBWカラーをサポートするライブラリであれば同様に動作すると思われる。 (2020-07時点では、FastLEDはSK6812をサポートしているものの、32bit RGBWカラーが未サポートとなっている)
OSTW3535C1A
OST45050C1A-Wと同様に、OSTW3535C1Aのデータ転送の仕様はWS2812Sと同等なのでテンプレート引数T_METHOD
にはNeoWs2812xMethod
を指定する。 データ転送順はGRBの順なのでT_COLOR_FEATURE
にはNeoGrbFeature
を指定する。
ライブラリAdafruit_NeoPixelで動作させる場合の例はデータシート(PDF)に掲載されている。
動作例・発光色の色合い (OST45050C1A-W)
WはRGBに比べて輝度が高いため、W=50%〜100%あたりではRGBの値が変わっても色合いはほとんど変わらないように見える。
RGB=100%で合成される白色は、W=100%の白色と比べると若干青に寄った昼光色に見える。