Разве это не самый простой способ запрограммировать 8-канальный dmx-контроллер? - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь запрограммировать многоканальный dmx-контроллер на моем arduino.Моя идея состоит в том, чтобы настроить некоторые поти, прочитать их значение и отправить их в виде сигнала 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);
}

Поскольку необходимое оборудование для тестированияэто все еще в пути, я не мог проверить это.

...