DMX Arduino-关闭Martin Exterior 600灯具上的灯

DMX Arduino-关闭Martin Exterior 600灯具上的灯,arduino,dmx512,Arduino,Dmx512,我做了一个基于网络的灯光控制器,一切都很好。但我有一个问题关闭其中一个装置 要关闭指示灯,必须在通道17上发送250的值至少5秒。这就是问题的症结所在,我该怎么做 我使用的是来自的DMXSerial库,但它缺少文档 下面是代码的一小部分 if(finder.find("#dmx")) { // Find out if this is a dmx string. if(finder.findUntil("type", ",")) { // Finds the type cmd =

我做了一个基于网络的灯光控制器,一切都很好。但我有一个问题关闭其中一个装置

要关闭指示灯,必须在通道17上发送250的值至少5秒。这就是问题的症结所在,我该怎么做

我使用的是来自的DMXSerial库,但它缺少文档

下面是代码的一小部分

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);
          }
        }
      }

欢迎提供任何帮助。

DMXSerial库的初始化

DMXSerial.init(DMXController);
使发射器能够在后台发送,并重复发送存储的512个通道的默认值。在哪里

DMXSerial.write(ch, value);
更新指定的缓冲区位置,然后在后台发送

DMX帧只是通过传输完全中断在后台重复。512个通道的整个帧大约以44Hz的频率重复

因为它是中断驱动的,所以您无需再做什么。因此,本质上应该是:

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

我认为用250的值更新相应频道的web put就足够了。只要它不是用250以外的东西再次更新。因为后台会一直发送它,直到用不同的东西更新。

DMXSerial库的初始化

DMXSerial.init(DMXController);
使发射器能够在后台发送,并重复发送存储的512个通道的默认值。在哪里

DMXSerial.write(ch, value);
更新指定的缓冲区位置,然后在后台发送

DMX帧只是通过传输完全中断在后台重复。512个通道的整个帧大约以44Hz的频率重复

因为它是中断驱动的,所以您无需再做什么。因此,本质上应该是:

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

我认为用250的值更新相应频道的web put就足够了。只要它不是用250以外的东西再次更新。因为后台会一直发送它,直到用不同的东西更新。

DMXSerial库的初始化

DMXSerial.init(DMXController);
使发射器能够在后台发送,并重复发送存储的512个通道的默认值。在哪里

DMXSerial.write(ch, value);
更新指定的缓冲区位置,然后在后台发送

DMX帧只是通过传输完全中断在后台重复。512个通道的整个帧大约以44Hz的频率重复

因为它是中断驱动的,所以您无需再做什么。因此,本质上应该是:

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

我认为用250的值更新相应频道的web put就足够了。只要它不是用250以外的东西再次更新。因为后台会一直发送它,直到用不同的东西更新。

DMXSerial库的初始化

DMXSerial.init(DMXController);
使发射器能够在后台发送,并重复发送存储的512个通道的默认值。在哪里

DMXSerial.write(ch, value);
更新指定的缓冲区位置,然后在后台发送

DMX帧只是通过传输完全中断在后台重复。512个通道的整个帧大约以44Hz的频率重复

因为它是中断驱动的,所以您无需再做什么。因此,本质上应该是:

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

我认为用250的值更新相应频道的web put就足够了。只要它不是用250以外的东西再次更新。因为后台会一直发送它,直到用不同的东西更新。

我想是的,但它不起作用。。在夹具的文档中,它表示要关闭灯,必须将248-255的值发送到通道1 5秒或更长时间。我将尝试发送范围内的一些其他值。好的,我已经解决了。在阅读了更多的文档后,我在另一节中找到了这一行“如果DMX灯关闭个性关闭,则该命令仅在每个CMY通道(3、4、5)都设置为230到232之间的值时才起作用”。所以谢谢你的软件right@mpflaga.Year我想是的,但它不起作用。。在夹具的文档中,它表示要关闭灯,必须将248-255的值发送到通道1 5秒或更长时间。我将尝试发送范围内的一些其他值。好的,我已经解决了。在阅读了更多的文档后,我在另一节中找到了这一行“如果DMX灯关闭个性关闭,则该命令仅在每个CMY通道(3、4、5)都设置为230到232之间的值时才起作用”。所以谢谢你的软件right@mpflaga.Year我想是的,但它不起作用。。在夹具的文档中,它表示要关闭灯,必须将248-255的值发送到通道1 5秒或更长时间。我将尝试发送范围内的一些其他值。好的,我已经解决了。在阅读了更多的文档后,我在另一节中找到了这一行“如果DMX灯关闭个性关闭,则该命令仅在每个CMY通道(3、4、5)都设置为230到232之间的值时才起作用”。所以谢谢你的软件right@mpflaga.Year我想是的,但它不起作用。。在夹具的文档中,它表示要关闭灯,必须将248-255的值发送到通道1 5秒或更长时间。我将尝试发送范围内的一些其他值。好的,我已经解决了。在阅读了更多的文档后,我在另一节中找到了这一行“如果DMX灯关闭个性关闭,则该命令仅在每个CMY通道(3、4、5)都设置为230到232之间的值时才起作用”。因此,感谢您的软件权利@mpflaga。