这不是编程8通道dmx控制器的最简单方法吗?

时间:2019-06-02 21:00:01

标签: arduino arduino-uno dmx512

我正打算在我的arduino上编程一个多通道dmx-contoller。我的想法是设置一些potis,读取它们的值并将其作为dmx512信号发送。现在,我想为我的代码提供一些反馈,因为我对dmx和arduino还不熟悉。

这是我的代码:

#include <DMXSerial.h>

#define dmxModePin           2    // RS485 data direction control
#define BREAKSPEED     100000
#define DMXSPEED       250000
#define BREAKFORMAT    SERIAL_8E1
#define DMXFORMAT      SERIAL_8N2

int in_Ch1 = 1;
int in_Ch2 = 2;
int in_Ch3 = 3;
/*...*/

int val_Ch1 = 0;
int val_Ch2 = 0;
int val_Ch3 = 0;
/*...*/

void setup() {  
  DMXSerial.init(DMXController, dmxModePin);  // start the DMX master on the UART
  DMXSerial.maxChannel(60);
  pinMode(in_Ch1,INPUT);
  pinMode(in_Ch2,INPUT);
  pinMode(in_Ch3,INPUT);
  /*...*/
}

void loop() {
  int val_Cha1 = analogRead(in_Ch1);
  int val_Cha2 = analogRead(in_Ch2);
  int val_Cha3 = analogRead(in_Ch3);
  /*...*/

  DMXSerial.write(in_Ch1, val_Ch1);
  DMXSerial.write(in_Ch2, val_Ch2);
  DMXSerial.write(in_Ch3, val_Ch3);
  /*...*/
  delayMicroseconds(2000);
}

由于测试所需的硬件仍在进行中,因此我无法对其进行测试。

0 个答案:

没有答案