LoginSignup
1
1

DMXで操作できるプロジェクターシャッターを自作する記事が見つけられなかったので、記事にしてみます。

今回使用した部品

ほぼ秋月電子、コネクターはサウンドハウスです。ベルト・滑り止めはホームセンターで入手しました。

  • マイコンボード: Arduino Uno R3(互換機)
    DMX Serialライブラリが対応しているArduinoを選べば大丈夫(なはず)です。
  • DMXを受信するトランシーバー:LTC485
  • サーボモーター:SG-90
  • ケース:TW8-4-8B
    ※Arduino Unoだとかなりぎちぎちになります。もし作られる際はもう少し大きめのケースをおすすめします。
  • XLRコネクター メス:NEUTRIK NC3FAV1-D
  • XLRコネクター オス:NEUTRIK NC3MAV-0
  • スイッチング電源:家にあった12V5Aのもの。7V~12Vの2A~あれば大丈夫です。
  • 配線用ケーブル:耐熱電子ワイヤー 2m×7色 外径1.22mm(UL3265 AWG24)
  • DCジャック:MJ-14
  • サーボホーン取付用ねじ:M2プラスチックなべ小ねじ+六角ナットセット M2×5mm:1パック20組入
  • 電解コンデンサー:47μF35V105℃ ルビコンPX
  • ブラックラップ(シャッター用)
  • 滑り止め
  • プロジェクターに固定するベルト

回路図

kairozu.png

ライブラリ

ServoライブラリとDMXSerialを使用しました。

DMXSerial - Arduino Reference

DMXSerialライブラリは以下のArduinoに対応しています。

スケッチ

#include <DMXSerial.h>
#include <Servo.h>

Servo servo;//サーボモーターのインスタンス設定
int startCh = 1;//DMXアドレス設定

void setup(){
servo.attach(9);//サーボモーターの信号線を9番ピンに接続
DMXSerial.init(DMXReceiver);
}

void loop() {
unsigned long lastPacket = DMXSerial.noDataSince();

if (lastPacket < 5000) {
byte data = DMXSerial.read(startCh);

servo.write(data / 1.41);//dataの値に合わせてサーボ角0~180度に動かす

}
}

基本的なスケッチは以下のサイトを参考にしました。ありがとうございました。

startChでDMXアドレスを指定します。

servo.writeは、data(DMX入力値)が0~255で来るので、1.41で割って大体角度を合わせてます。もっといい方法がありそうな気がします。

改善したいところ

  • DIPスイッチでDMXアドレスを指定できるようにする
  • シャッターをアルミ板にする
  • 小さなボード(Arduino Nano Everyなど)を使用する
  • もう少し静かなモーターを使用する
  • 直径23㎜くらいの、キャノンコネクタを取り付けるのにちょうどいいホールソーを使用する

実際に作ってみて

コロナ禍で時間ができたときにarduinoを触ってみてはいたのですが、はじめて形にしてみて、いろいろ学びがありました。
Arduino選びを間違えたり、その結果ケースのサイズがギリギリになったり、ケースの加工が結構大変なこととか…
でも、DMXでいろいろなものを操作できる気がして夢が広がりました。

参考記事

ArduinoでDMXを受信する - Re: note (hatenablog.jp)

Arduino UnoとLTC485を使ってLチカしてます。基本のスケッチ、LTC485のつなぎ方、DMXが受信できているか確認するのに大変参考になりました。

プロジェクターシャッターの作り方 – masa's factory blog (masa-factory.jp)

大まかなつくり、Servoライブラリの使い方等参考にしています。

TouchDesignerからDMXを使ってLEDとモーターをArduinoで制御 – Kinetic Chochin|WaV Media (wwwavvv.com)

キネティックライト、いつかつくってみたいです。細かいことですが、DMXのIN・OUT端子ってどう繋ぐんだ?となったので、助かりました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1