「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

micro:bit Lab.【マイクロビット】

micro:bit Lab.では、micro:bit【マイクロビット】に関する情報を紹介しています。

ステージ照明をコンピューターボードで制御する
15-8

DMX512(ステージ照明の制御)

2021-09-032021-09-05

Grove端子をDMX512(EIA485/RS485)インターフェースへ変換するGroveデバイス「DMX512」を紹介します。後半では、ムービングヘッドライト「BETOPPER LM70」をmicro:bitで制御するプログラムを紹介します。

注意

micro:bit V1.5用のプログラムです。

通信規格としてのDMX512とは

ライブやコンサート、イベントなどの舞台では、基本となる地明かり・バック・ブッチをパーライト・スポットライトなどのステージ照明で作り、ムービングライト・レーザー・フラッシュライトなどのエフェクト照明でさらなる演出を加えることがあります。舞台を演出するには、これらの照明器具を調光・調色したり、光の向きを変えることが欠かせません。

DMX512は、照明器具の調光や調色などの制御を行うための通信規格です。1本のケーブルで、512チャネルのデジタル信号を送受信することができ、1チャネルあたり256段階の制御が行えます。DMX512、または単にDMXと呼ばれます。

DMX512について「DMX(DMX512)って何?」で詳しく紹介しています。

図15-8-1-1.DMX512に対応したムービングヘッドライト「BETOPPER LM70」
図15-8-1-1.DMX512に対応したムービングヘッドライト「BETOPPER LM70」

BETOPPER RGBW ミニムービングヘッドライト 7x8W RGBW 4 in 1 LM70S

クラブ・スタジオ・ホール・式場・舞台などさまざまな場所で色鮮やかな雰囲気を演出するムービングヘッドライトです。オート・サウンド・マスタースレーブ・DMXに対応。

Groveデバイス「DMX512」

seeedDMX512は、Grove端子をDMX512(EIA485/RS485)インターフェースへ変換するGroveデバイスで、コンピューターボードとDMX512に対応した照明器具を物理的・電気的に接続することができるようになります。

図15-8-1-2.Groveデバイス「DMX512」
図15-8-1-2.Groveデバイス「DMX512」

DMX512の制御信号

DMX512では、1本のケーブルで512チャネル分のデーター(0~255)を送出することができ、1つのデーターをスロット(Slot)と呼びます。

図15-8-1-3.DMX512の制御信号
図15-8-1-3.DMX512の制御信号

DMX512の制御信号は、まず、Lowレベルのブレーク信号(Break)と、ブレーク信号が終わったことを示すMAB(Mark After Break)を続けて送出します。長さは、それぞれ88マイクロ秒~1秒、8マイクロ秒~1秒です。

次に、8ビットのスタートコード(Start Code)が送出されます。スタートコードの値は「0x00」で、後続のデーターがDMXであることを示します。ちなみに、この値が「0xCC」の場合はRDM(Remote Device Management)を示すそうです。

最後に、512個のスロット(Slot)が送出されます。スロットの値は「0x00~0xFF」です。この値が、DMXに対応した照明器具を制御するデーターです。

スタートコード以降は、8N2(8ビット・ノンパリティ・2ビットのストップビット)のシリアル通信となります。通信速度は、250kbpsです。

どのスロットが使用されるのか?

DMX(DMX512)って何?」で紹介したムービングヘッドライト「BETOPPER LM70」の制御を見てみましょう。ムービングヘッドライト「BETOPPER LM70」では、1台で9つのチャネルを使用(9チャネルモードを選択時)します。例えば、4番目のチャネルを使って、赤色の明るさ(Red Dimmer)を256段階(0~100%)で制御することができます。

BETOPPER LM70 9-Channel Mode

Mini Moving Head User Manual model:LM70

DMX512で制御するときに重要となる設定に「アドレス」があります。アドレスは、自機の制御データーとして認識する最初のスロット番号になります。

例えば、ムービングヘッドライト「BETOPPER LM70」のアドレスを「1」に設定して「9チャネルモード」を選択したとき、スロット「1~9」のデーターが使用されます。アドレスが「10」なら、スロット「10~18」となります。また、複数の機器で同じアドレスを指定した場合は、同じスロットのデーターが使用されます。

micro:bitでムービングヘッドライト「BETOPPER LM70」を制御する

DMX(DMX512)って何?」で紹介したムービングヘッドライト「BETOPPER LM70」を、micro:bitで制御するプログラムを紹介します。まず、準備としてmicro:bitとGroveデバイス「DMX512」を接続します。

micro:bitとGroveデバイス「DMX512」の接続

micro:bitにGroveデバイスを接続するには「Grove Shield for micro:bit v2.0」などの拡張ボードを使用すると便利です。本記事では、Grove Shield for micro:bit v2.0の端子P2/P16に接続しました。

図15-8-2-1.micro:bitとGroveデバイス「DMX512」の接続
図15-8-2-1.micro:bitとGroveデバイス「DMX512」の接続

プログラム(ブロック)

micro:bitからDMX512の制御信号を送出します。ムービングヘッドライト「BETOPPER LM70」をランダムに動かして、LEDをさまざまな色で点滅させるプログラムです。ボタンAで動作開始、ボタンBで停止します。

グレーのブロック

本プログラムには、ブロックに変換できないコード(グレーのブロック)が含まれています。後述のプログラム(JavaScript)で入力してください。

最初だけ実行するプログラム

変数の定義と初期化です。SlotDataのサイズは513で、0番目がスタートコード(Start Code)、1番目以降が512個のスロット(Slot)です。

図15-8-3-1.最初だけ実行するプログラム
図15-8-3-1.最初だけ実行するプログラム

関数:SetChannel9

9チャネルモード用のデーターをスロットに格納する関数です。引数は、スロットの開始位置(start)と9チャネル分(ch1~ch9)のデーターです。開始位置(start)は、制御する機器のアドレスの値と一致します。

図15-8-3-2.関数:SetChannel9
図15-8-3-2.関数:SetChannel9

9チャネル分(ch1~ch9)のデーターの役割です。

BETOPPER LM70 9-Channel Mode

Mini Moving Head User Manual model:LM70

バックグラウンドで実行するプログラム

DMX512の制御信号を送出します。最初の「デジタルで出力する(値:0)」がブレーク信号(Break)です。二つ目の「デジタルで出力する(値:1)」がMAB(Mark After Break)です。その後、250kbpsでシリアル通信の設定を行い、スタートコード(Start Code)と512個分のスロット(Slot)データーを送出しています。また、送出タイミングがわかるように「反転(x:2、y:2)」を使って、LED画面の中央で赤色LEDが点滅するようにしています。

図15-8-3-3.バックグラウンドで実行するプログラム
図15-8-3-3.バックグラウンドで実行するプログラム

ボタンA、ボタンBが押されたときに実行するプログラム

動作状況を表す変数「Active」の値を、ボタンAが押されたときに「真」、ボタンBが押されたときに「偽」をセットします。

図15-8-3-4.ボタンA、ボタンBが押されたときに実行するプログラム
図15-8-3-4.ボタンA、ボタンBが押されたときに実行するプログラム

ずっと実行するプログラム

動作状況を表す変数「Active」が「真」の場合、変数「PanControl」「TiltControl」「RedDimmer」「GreenDimmer」「BlueDimmer」にランダムな値(0~255)をセットします。「偽」の場合、0をセットします。

それぞれの値を引数として、関数「SetChannel9」を呼び出し、スロット(Slot)データーとして格納します。開始位置(機器のアドレス)は「1」固定です。

図15-8-3-5.ずっと実行するプログラム
図15-8-3-5.ずっと実行するプログラム

プログラム(ブロック)

プログラム(JavaScript)です。

動作確認

ムービングヘッドライト「BETOPPER LM70」の動作モードを「SLAu」、アドレスを「1」、チャネルモードを「9CH」に設定して、DMXケーブルでGroveデバイス「DMX512」と接続します。micro:bit側の電源を投入します。micro:bit側から送出される制御信号を、LM70が正しく受信すると、正面ディスプレイの右下にある赤色ランプ(DMX SIGNAL)が点滅します。ボタンAを押して、LM70が動作をはじめると成功です。ボタンBで停止します。

注意

この動画には、激しく点滅するシーンがあります。十分に注意してください。

おすすめ品

BETOPPER RGBW ミニムービングヘッドライト 7x8W RGBW 4 in 1 LM70S

クラブ・スタジオ・ホール・式場・舞台などさまざまな場所で色鮮やかな雰囲気を演出するムービングヘッドライトです。オート・サウンド・マスタースレーブ・DMXに対応。

micro:bit用Groveシールド v2.0

Groveモジュールを接続できるmicro:bit用の拡張基板micro:bit用Groveシールド

micro:bit×Groveで楽しむ電子工作

出版社
カットシステム
発売日
2019/9/1

Grove汎用ケーブル ボード用4ピンバックル 20cm(5本)

GROVEシステムの4ピンケーブルです。20cm、5本入り。

この記事を読んだ人は、こんな記事にも興味があります。
スポンサーリンク
TOPへ移動
目次へ移動