ArduinoでDMX制御する(LS1155-525W405)

機材構成

1. Arduino UNO x 1
http://www.amazon.co.jp/dp/B00E5WJSHK/

2. DMX Shield for Arduino x 1
https://www.tindie.com/products/Conceptinetics/dmx-shield-for-arduino-remote-device-management-capable/

3. LED Dimmer Pack(LDX-303A)
http://www.soundhouse.co.jp/products/detail/item/163231/

4. 12V駆動の5連フルカラーLED モジュール(LS1155-525W405, アノードコモン)
http://akizukidenshi.com/catalog/g/gM-00879/
廃盤になってたので、参考画像 : http://homepage2.nifty.com/FNA/gjy's%20gift/PA1300421.jpg
参考画像2 : http://cdn.snsimg.carview.co.jp/minkara/photo/000/001/684/386/1684386/p1.jpg?ct=5645f22dde7a


5. ACアダプタ(12V / 1.5A)
http://akizukidenshi.com/catalog/g/gM-02194/

6. DMXケーブル(3ピン)
http://www.soundhouse.co.jp/products/detail/item/184705/

7. USBケーブル(B-Type)
http://akizukidenshi.com/catalog/g/gC-07605/

①LED Dimmer PackのV+、V-にACアダプタの+、-を接続

②以下のソースをArduinoに書き込む
※ Uploadする際にDMX ShieldのENピンは(not)ENピンをショートさせておく。

#include <Conceptinetics.h>

#define DMX_MASTER_CHANNELS 3
#define RXEN_PIN 2

#define LED_OFFSET 1
#define MAX_VAL 127 // 50% = 127

DMX_Master dmx_master(DMX_MASTER_CHANNELS, RXEN_PIN);

void setup() {
  dmx_master.enable();
  dmx_master.setChannelRange(LED_OFFSET, LED_OFFSET + DMX_MASTER_CHANNELS, MAX_VAL);
}

void loop()  {
  setRGB(255, 0, 0); // R
  delay(1000);

  setRGB(0, 255, 0); // G
  delay(1000);
  
  setRGB(0, 0, 255); // B
  delay(1000);

  setRGB(255, 255, 255); // W
  delay(1000);

  setRGB(0, 0, 0); // B
  delay(1000);

  /*for (int i = LED_OFFSET; i < LED_OFFSET + DMX_MASTER_CHANNELS; i++) {
    fadeTest(i);
    delay(1000);
  }*/
}

// ch 1 ~ 3
void setRGB(int r, int g, int b) {
  dmx_master.setChannelValue(LED_OFFSET, r);
  dmx_master.setChannelValue(LED_OFFSET + 1, b);
  dmx_master.setChannelValue(LED_OFFSET + 2, g);
}

void fadeTest(int ledIndex) {
  for (int dimmer_val = 0; dimmer_val < MAX_VAL; dimmer_val++) {
    dmx_master.setChannelValue(ledIndex, dimmer_val);
    delay(10);
  }
  for (int dimmer_val = MAX_VAL; dimmer_val > 0; dimmer_val--) {
    dmx_master.setChannelValue(ledIndex, dimmer_val);
    delay(10);
  }
}


DMX Shield for Arduinoのジャンパーのアサインを下記に変更
ENピン側をショート。
DEピン側をショート。
TX-uart側をショート。
RX-uart側をショート。


④LED Dimmer Packのch設定の「1」をonにする


⑤赤 -> 青 -> 緑 -> 白 -> 消灯の順に変化していく