工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

屋外対応DMX制御RGB LED投光器 – 低コスト・高性能・自作PCB

必要な部品と材料

Arduino Nano R3 × 1 (中央制御ユニット用)
Adafruit PCA9685 16ch PWMドライバー (I2C) × 1
自作PCB × 複数 (DMX受信基板、15ch PWM分配基板、3ch 350mA定電流ドライバー基板 × 5台分)
安価なIRリモコン付きRGB LED投光器 (10W級) × 5台 (約8€/台)
12V 3.5A 電源 × 1
12V→5V USB充電モジュール (スマホ用) × 1
ワイヤレスDMX受信機 × 1
D-Sub 9ピンコネクター & リボンケーブル × 5セット
防水ボックス、ホットグルー、シリコーンシーラント

使用ソフトウェア

プロジェクト概要

市販のDMX対応屋外RGB投光器は1台200〜300€と高価です。そこで、IRリモコン付きの安価なRGB LED投光器 (約8€/10W) を購入し、内部のLEDドライバーを自作のDMX対応3ch定電流ドライバー (350mA/ch) に置き換え、5台を中央のArduino Nano + PCA9685 (16ch PWM) で一括制御するシステムを構築しました。ワイヤレスDMX受信機を介してPC/スマホのFreestylerから全15ch (5台 × RGB) を個別制御可能。総費用約110€で実現しました。

システムアーキテクチャ

[Freestyler DMX] → [Wireless DMX TX] → [Wireless DMX RX] 
                                                    ↓
                                          [Arduino Nano + Custom DMX Shield (RS485)]
                                                    ↓ I2C
                                          [PCA9685 16ch PWM] 
                                                    ↓ PWM (15ch)
                              +---------------------+---------------------+
                              |                     |                     |
                        [3ch CC Driver]        [3ch CC Driver]        [3ch CC Driver]
                          (LED 1: R/G/B)         (LED 2: R/G/B)         (LED 3: R/G/B)
                              |                     |                     |
                        [3ch CC Driver]        [3ch CC Driver]        (LED 4, 5 同様)
                          (LED 4: R/G/B)         (LED 5: R/G/B)

ハードウェア詳細

1. 中央制御ボックス (防水)

2. LED投光器側 (各台)

3. 色補正 (ホワイトバランス調整)

赤色LEDが緑/青より大幅に明るいため、DMX値 0-255 を PWM 0-4095 にマッピングする際、赤chのみ上限を 1400 に制限してホワイトバランスを取っています。


// 赤chのみマッピング上限を下げる
channelOut[0] = map(channel[0], 0, 255, 0, 1400); // LED1 赤
channelOut[1] = map(channel[1], 0, 255, 0, 4095); // LED1 緑
channelOut[2] = map(channel[2], 0, 255, 0, 4095); // LED1 青
// LED2〜5 も同様

ソフトウェア (Arduinoスケッチ)

DMX版 (本番用)


#include <Conceptinetics.h>
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
#define DMX_SLAVE_CHANNELS 15
DMX_Slave dmx_slave(DMX_SLAVE_CHANNELS);

int channel[16], channelOut[16];

void setup() {
  Wire.begin();
  pwm.begin();
  pwm.setPWMFreq(120); // 最大PWM周波数
  #ifdef TWBR
    uint8_t twbrbackup = TWBR;
    TWBR = 12; // I2C 400kHz 高速化
  #endif
  
  dmx_slave.enable();
  dmx_slave.setStartAddress(200); // DMX開始アドレス
  
  // 全ch初期化 (LED消灯 = PWM High = 4096)
  for (int i = 0; i <= 14; i++) pwm.setPWM(i, 4096, 0);
}

void loop() {
  // DMX受信 (15ch)
  for (int j = 0; j <= 14; j++) channel[j] = dmx_slave.getChannelValue(j+1);
  
  // 色補正マッピング
  channelOut[0] = map(channel[0], 0, 255, 0, 1400); // R1
  channelOut[1] = map(channel[1], 0, 255, 0, 4095); // G1
  channelOut[2] = map(channel[2], 0, 255, 0, 4095); // B1
  // ... (ch3-14 も同様、赤chのみ1400上限)
  
  // PCA9685出力 (Active Low駆動想定)
  for (int i = 0; i <= 14; i++) {
    if (channelOut[i] == 0) pwm.setPWM(i, 4096, 0);
    else pwm.setPWM(i, 0, 4095 - channelOut[i]);
  }
}

USBデバッグ版 (シリアルから直接RGB指定)


// 形式: "LED番号(0-4), R(0-255), G(0-255), B(0-255)\n"
// 例: "0, 255, 128, 0\n" → LED1をオレンジに
// 完全なコードはプロジェクトページの Code セクションを参照

Freestyler 用フィクスチャ定義


Buzz Comments: "" Outdoor LED 3 0 0 RBG Outdoor.gif 0 0 0 0 0 0 0 1 1 2 3 Red Green Blue
Macros 2 0 0 0 1 0 0 255 0 0 0 0 0 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 255 0 0 0-0-0-0 -1 Sliders 0

PCB設計データ (Eagle形式)

基板製造: platinenbelichter.de 推奨

コスト内訳 (5台分)

項目費用 (概算)
RGB LED投光器 10W × 5約 40€
Arduino Nano + PCA9685 + DMXトランシーバー約 25€
自作PCB一式 (製造費込み)約 30€
電源、コネクター、ケーブル、防水材料約 15€
合計約 110€ (市販品の 1/10 以下)

改良・拡張アイデア

製造プロセス

  1. 自作LUMAZOID:Arduino音楽ビジュアライザーDIYガイド
  2. Web制御DMX照明システム:Arduino Megaマスターコントローラー
  3. ジェスチャー制御 RGB テーブルランプ – インタラクティブなハンズフリー照明
  4. ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
  5. スマートArduino四足歩行ロボットの製作:ステップバイステップガイド
  6. Arduino手洗いタイマー:COVID-19対策のシンプルDIYツール
  7. Arduino RGB LEDカラーミキサー:初心者向けDIYプロジェクト
  8. Arduino Unoで8×8 LEDマトリックスを制御:ステップバイステップガイド
  9. DIY ArduinoラジオニクスEMR治療デバイスの構築
  10. DIY LEDルーレットゲーム – Arduino Nanoで作る1人用アーケードゲーム
  11. Arduino駆動スマート自動駐車場システムの製作