
【Arduino】ArduinoでDMX信号を出して照明を制御しちゃう【DMX】

今回はArduinoでDMX信号を制御します。
DMX信号は主に照明などを調節するために、舞台やインスタレーションで使用されています。
以下参考サイトが詳しいです。
Cultivation 03:
その他、DMXについての解説
DMX編|サウンドハウス
DMXケーブル編|サウンドハウス
DMX 512の基礎 « Jean-Marc Pelletier
用意するもの
1.Arduino
2.DMX用の電子基板を作る材料:ドライバーチップ(MAX-485 or SN 75176)やDMXコネクタ(オスメス)、抵抗など
3.DMXコネクタが挿せる照明 もしくは ディマーと熱電球
1.DMXShieldを作る
まずはArduino用に電子基盤を作ります。
Arduino Playground - DMXShield

上記サイトに回路図が載ってます。(シールド化したサンプルが研究室にあります)
DMX Outputsのpin1等はDMX出力のピン番号を表しています。
ピンというのはDMXコネクタのピンです(3ピンが主流)

実写系で録音を経験した人ならわかると思いますが、マイク等のケーブルの先についてるコネクタです。
コネクタのオスメスを使います。(サウンドハウスで単体が売ってます)
inputはArduinoのデジタルピンを指定します。
普通は3番ピンを使ってますが、研究室のサンプルは5番ピンを使ってます。
2.Arduinoにライブラリをいれる
DMXsimpleをライブラリに入れます。(ライブラリの入れ方)

ただし、上記サイトのライブラリはArduino1.0以降には対応していないので、
Arduino1.0以降は以下のライブラリをダンロードしてください。
http://nervousvision.com/download/DmxSimple_v3.1.zip
Arduino1.0以降のための変更箇所参考
Arduino1.0で、DmxSimpleライブラリのエラーをなくす | MATHRAX Lab
3.実際に制御しよう
DMXコネクタを照明や電球のついたディマーに差し込みます。

※写真のように電球をディマーに置かないこと
ライブラリにExampleがあるので、使っちゃいましょう。
File > Examples > DMXsimple > FadeUp
以下、研究室のサンプルシールド用プログラム
これをArduinoにアップロードしてDMXを挿しましょう。
照明がゆっくり明るくなっていきます。
以上のプログラムをセンサー等と組み合わせると楽しくなるよ!
DMXのモニタリングや再生などするデバイス DoctorMX
文責:目次護
tag: [DMX]
DMX信号は主に照明などを調節するために、舞台やインスタレーションで使用されています。
以下参考サイトが詳しいです。
Cultivation 03:
その他、DMXについての解説
DMX編|サウンドハウス
DMXケーブル編|サウンドハウス
DMX 512の基礎 « Jean-Marc Pelletier
用意するもの
1.Arduino
2.DMX用の電子基板を作る材料:ドライバーチップ(MAX-485 or SN 75176)やDMXコネクタ(
3.DMXコネクタが挿せる照明 もしくは ディマーと熱電球
1.DMXShieldを作る
まずはArduino用に電子基盤を作ります。
Arduino Playground - DMXShield

上記サイトに回路図が載ってます。(シールド化したサンプルが研究室にあります)
DMX Outputsのpin1等はDMX出力のピン番号を表しています。
ピンというのはDMXコネクタのピンです(3ピンが主流)

実写系で録音を経験した人ならわかると思いますが、マイク等のケーブルの先についてるコネクタです。
コネクタの
inputはArduinoのデジタルピンを指定します。
普通は3番ピンを使ってますが、研究室のサンプルは5番ピンを使ってます。
2.Arduinoにライブラリをいれる
DMXsimpleをライブラリに入れます。(ライブラリの入れ方)

ただし、上記サイトのライブラリはArduino1.0以降には対応していないので、
Arduino1.0以降は以下のライブラリをダンロードしてください。
http://nervousvision.com/download/DmxSimple_v3.1.zip
Arduino1.0以降のための変更箇所参考
Arduino1.0で、DmxSimpleライブラリのエラーをなくす | MATHRAX Lab
3.実際に制御しよう
DMXコネクタを照明や電球のついたディマーに差し込みます。

※写真のように電球をディマーに置かないこと
ライブラリにExampleがあるので、使っちゃいましょう。
File > Examples > DMXsimple > FadeUp
以下、研究室のサンプルシールド用プログラム
#include <DmxSimple.h>
void setup() {
/* The most common pin for DMX output is pin 3, which DmxSimple
** uses by default. If you need to change that, do it here. */
DmxSimple.usePin(5); // 回路のinputのピン番号を指定
/* DMX devices typically need to receive a complete set of channels
** even if you only need to adjust the first channel. You can
** easily change the number of channels sent here. If you don't
** do this, DmxSimple will set the maximum channel number to the
** highest channel you DmxSimple.write() to. */
DmxSimple.maxChannel(4); // チャンネルの数 (研究室のディマーは4chまで)
/*照明にはチャンネルがたくさんある場合があります
LED照明の場合1:Intensity 2:Red 3:Green 4:Blue 5:Orange 6:White 10:Strove
等のように、チャンネルを指定して値を設定出来ます。
*/
}
void loop() {
int brightness;
/* Simple loop to ramp up brightness */
for (brightness = 0; brightness <= 255; brightness++) {
/* Update DMX channel 1 to new brightness */
DmxSimple.write(1, brightness); // DmxSimple.write(チャンネル番号, 0~255の値);
/* Small delay to slow down the ramping */
delay(10);
}
}
これをArduinoにアップロードしてDMXを挿しましょう。
照明がゆっくり明るくなっていきます。
以上のプログラムをセンサー等と組み合わせると楽しくなるよ!
DMXのモニタリングや再生などするデバイス DoctorMX
文責:目次護
スポンサーサイト