12V RGBWのSPIのLEDをDMX KingのLeDMX4 MAXを使い制御したかったので検証しました。
Pixel TypeはUCS2903。

当初、UC2904というPixelTypeが無かったのですが、Lasensの兼子さんに聞いたところ、UCS2903を選択してみて、とのことで試してみました。

DMX Display機能を使うと、All 0とAll 255はうまくいきますが、R G Bを押すと微妙に色がずれています。
結果的には、RGBWのLEDなので、RGBW RampやRGBW Chaseを使うとうまくいきました。

Node-REDからsACNで確認
当初、DMX DisplayのRGBWの正しい使い方に気づかず、別途、Node-REDでチャンネルごとにsACNで値を送るフローをつくって検証しました。

DMX King側をsACNで受信できるようにして

[{"id":"41f8617ca7424823","type":"inject","z":"5c569cbc1fb760df","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"0.1","crontab":"","once":false,"onceDelay":"1","topic":"","payload":"200","payloadType":"num","x":130,"y":280,"wires":[["aaf7a87be129e96b"]]},{"id":"b5fd75148f6bf6a6","type":"sACN","z":"5c569cbc1fb760df","server":"1a5ddd6d93316b2e","universe":"","channel":"","transition":"instant","transitionRate":50,"transitionTime":1000,"name":"","x":620,"y":460,"wires":[]},{"id":"aaf7a87be129e96b","type":"function","z":"5c569cbc1fb760df","name":"","func":"// 前回のチャンネル番号をコンテキストから取得(初回は0)\nvar lastChannel = context.get('lastChannel') || 1;\n\n// 今回点灯させるチャンネル(1〜512の範囲でループ)\nvar currentChannel = lastChannel + 1;\nif (currentChannel > 512) {\n currentChannel = 1;\n}\n\n// 1. 前のチャンネルを消灯するメッセージ\nvar msg1 = {\n payload: {\n \"universe\": 1,\n \"channel\": lastChannel,\n \"value\": 0\n }\n};\n\n// 2. 現在のチャンネルを点灯するメッセージ\nvar msg2 = {\n payload: {\n \"universe\": 1,\n \"channel\": currentChannel,\n \"value\": msg.payload // 入力された明るさ\n }\n};\n\n// 現在のチャンネルを次回の実行のために保存\ncontext.set('lastChannel', currentChannel);\n\n// 2つのメッセージを順番に送信(消灯 -> 点灯)\n// ※ 初回(lastChannelが0)は消灯を送らないように制御\nif (lastChannel === 0) {\n return [msg2];\n} else {\n return [[msg1, msg2]];\n}","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":360,"y":300,"wires":[["e630613b18841c6a","b5fd75148f6bf6a6"]]},{"id":"e630613b18841c6a","type":"debug","z":"5c569cbc1fb760df","name":"debug 2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":600,"y":280,"wires":[]},{"id":"39b64f9644d67ea5","type":"inject","z":"5c569cbc1fb760df","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":160,"wires":[["b34972e991ef39fb"]]},{"id":"b34972e991ef39fb","type":"function","z":"5c569cbc1fb760df","name":"初期設定","func":"context.set('lastChannel', 1);","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":360,"y":160,"wires":[[]]},{"id":"1a5ddd6d93316b2e","type":"sacn-config","hostOrUniverse":"192.168.1.100","port":5568},{"id":"33eade4a7c68837f","type":"global-config","env":[],"modules":{"node-red-contrib-sacn":"0.0.9"}}]
上記フローで検証
結果、無事に動きました。
まとめ
5Vはピッチが細かいので便利ですが、光量をもとめると12Vや24Vが有利になるので、これからもSPI LEDを使っていこうとおもいます。
