FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
tag:

【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
ArduinoplaygroundDMX.png

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

実写系で録音を経験した人ならわかると思いますが、マイク等のケーブルの先についてるコネクタです。
コネクタのオスメスを使います。(サウンドハウスで単体が売ってます

inputはArduinoのデジタルピンを指定します。
普通は3番ピンを使ってますが、研究室のサンプルは5番ピンを使ってます。

2.Arduinoにライブラリをいれる
DMXsimpleをライブラリに入れます。(ライブラリの入れ方
DMXsimple.png

ただし、上記サイトのライブラリはArduino1.0以降には対応していないので、
Arduino1.0以降は以下のライブラリをダンロードしてください。
http://nervousvision.com/download/DmxSimple_v3.1.zip

Arduino1.0以降のための変更箇所参考
Arduino1.0で、DmxSimpleライブラリのエラーをなくす | MATHRAX Lab

3.実際に制御しよう
DMXコネクタを照明や電球のついたディマーに差し込みます。
549972_534784809885932_1514951110_n.jpg
※写真のように電球をディマーに置かないこと

ライブラリに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

文責:目次護
スポンサーサイト
tag: [DMX]
プロフィール

Moonwalkers

Author:Moonwalkers
メディアアート、インタラクティブメディア制作ゼミ

最新記事
タグクラウドとサーチ

カテゴリ
月別アーカイブ
ディクテーション
Polyglot Free Language Lessons Online
リンク
Twitter
検索フォーム
RSSリンクの表示
QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。