DMX Arduino - выключить лампу на приборе Martin Exterior 600

Я сделал сетевой контроллер освещения, и все работает отлично. Но у меня проблема с отключением одного из приборов.

Для выключения лампы значение 250 должно быть отправлено на канал 17 как минимум на 5 секунд. И вот где это становится сложно, как мне это сделать?

Я использую библиотеку DMXSerial с http://www.mathertel.de/Arduino/DMXSerial.aspx, но в ней отсутствует документация.

Вот небольшой кусочек кода.

if(finder.find("#dmx")) { // Find out if this is a dmx string.
  if(finder.findUntil("type", ",")) {   // Finds the type
     cmd = finder.getValue();       // Putting the value found in its variable.
        if(cmd == 4) {
          if(finder.findUntil("ch", ",")) {
          channel = finder.getValue();
          }
          if(finder.findUntil("va", ",\n\r")) {
          val = finder.getValue();
          }
          if(channel == 17 && val == 250) {

            // some code here

          } else {
            DMXSerial.write(channel, val);
          }
        }
      }

Любая помощь будет приветствоваться.

1 ответ

Решение

Инициализация библиотеки DMXSerial

DMXSerial.init(DMXController);

позволяет передатчику отправлять в фоновом режиме и повторять отправку значений по умолчанию для 512 сохраненных каналов. куда

DMXSerial.write(ch, value);

обновляет указанное местоположение буфера, которое, в свою очередь, отправляется в фоновом режиме.

Кадр DMX просто повторяется в фоновом режиме посредством передачи завершенных прерываний. Целый кадр из 512 каналов приблизительно повторяется с частотой 44 Гц.

Поскольку он управляется прерываниями, вам больше ничего не нужно делать. Так что по сути это должно быть просто:

...
DMXSerial.write(17, 250);
delay(5100); 
DMXSerial.write(17, 0); // or something else
...

Я думаю, что веб-сайта обновления соответствующего канала со значением 250 будет достаточно. До тех пор, пока оно не будет обновлено снова с чем-то кроме 250. Как фон будет продолжать отправлять его, пока не будет обновлено с чем-то другим.

Другие вопросы по тегам