はじめに
M5StackのM5 DMX Baseを手に入れたのでムービングライトを制御してみようと思います。DMXコネクタには3ピンと5ピンがありますが、付け替えができるようです。
DMXとは
ライブや舞台などで広く利用される照明や演出機材の制御に特化した通信プロトコルです。
1本のケーブルで512チャンネルまでのデジタル信号の送受信ができ、256段階で制御できます。それぞれの機材はデイジーチェーン(数珠繋ぎ)で接続することができ同時に制御可能です。
構成
- ムービングライト
- M5Stack Core
- ジョイスティックユニット
- XLRケーブル
実装
プログラムはUIFlowで組んでみることにします。
ムービングライトは9チャンネルと14チャンネルが選べるようになっていました。今回は9チャンネルにすることにしたので、以下の内容です。
- Channel 1 : X Axis
- Channel 2 : Y Axis
- Channel 3 : Light Pattern
- Channel 4 : R LED
- Channel 5 : G LED
- Channel 6 : B LED
- Channel 7 : W LED
- Channel 8 : Speed
- Channel 9 : Reset
このように組んでみました。
M5Stack Coreのボタンはそれぞれ赤、緑、青の3色、ジョイスティックはライトの向きに対応しています。
DMX write byteの後にwaitを入れないと入力が正しく反映されないことがあり、うまく動作しなかったので毎回入れています。
動画
少し動きが反映されるまでのラグが気になるところですが、手軽に操作できるのはいいですね。
QLC+から試したところ、遅延なく動いたのでライト側の問題ではなさそうです。
おまけ
少しコードを変更してデイジーチェーン(数珠繋ぎ)にも対応してみました。