-
-
Notifications
You must be signed in to change notification settings - Fork 119
Настройка ПО управления эффектами Jinx! как источника синхронизации устройств в группе
Пошаговая инструкция настройки ПО управления эффектами «Jinx!» как источника синхронизации устройств в группе
Перейдите на сайт разработчиков «Jinx!» и скачайте приложение. Распакуйте архив с программой в отдельную папку. Запустите приложение
Программа «Jinx!» поставляется с демо-скриптом, содержащем большое количество настроенных сцен, эффектов и переходов. Для подключения скрипта примера в меню "File" выберите пункт "Import"
В окне выбора файла выберите "demo.jnx" и нажмите кнопку "Открыть"
После того, как скрипт подключен к программе, выбор пункта меню "View Scenelist" (или нажатие кнопки F2)
откроет окно выбора доступных сцен.
Каждая сцена содержит комбинацию эффектов, результат отображается в реальном режиме времени в панелях предпросмотра в верхней части главного окна Jinx.
Изучите как работают и комбинируются эффекты. Изменяйте настройки каналов и смотрите как они влияют на результат.
В интернете вы можете найти большое количество инструкций по созданию эффектов с помощью Jinx,
доступны видеоуроки в Youtube.
Откройте окно настроек матрицы
и задайте размер рабочего поля в пикселях
Размер должен соответствовать вашей матрице, которую вы используете в своем проекте
Настройте выходное устройство для передачи анимации эффекта устройствам-потребителям.
В нашем случае программа должна выполнять передачу изображения в сеть по протоколу E1.31
Откройте окно настроек выходных устройств
Рассчитайте количество потоков (вселенных), требуемых для передачи изображения на вашу матрицу.
В данном примере используется матрица размером 16x16 - общее количество светодиодов - 256.
Одна вселенная вмещает данные RGB-цветов для 170 светодиодов (170 * 3 = 510 каналов).
Остается 256 - 170 = 86 светодиодов (86 * 3 = 258 каналов), которые могут быть целиком размещены во второй вселенной.
Таким образом, для матрицы 16x16 достаточно двух вселенных, содержащих 510 и 258 каналов соответственно.
Таблица распределения вселенных по группам синхронизации для этого проекта:
Группа | Номера вселенных | IP адреса |
---|---|---|
Группа 0 | 1-7 | 239.255.0.1 - 239.255.0.7 |
Группа 1 | 8-14 | 239.255.0.8 - 239.255.0.14 |
Группа 2 | 15-21 | 239.255.0.15 - 239.255.0.21 |
Группа 3 | 22-28 | 239.255.0.22 - 239.255.0.28 |
Группа 4 | 29-35 | 239.255.0.29 - 239.255.0.35 |
Группа 5 | 36-42 | 239.255.0.36 - 239.255.0.42 |
Группа 6 | 43-49 | 239.255.0.43 - 239.255.0.49 |
Группа 7 | 50-56 | 239.255.0.50 - 239.255.0.56 |
Группа 8 | 57-63 | 239.255.0.57 - 239.255.0.63 |
Группа 9 | 64-70 | 239.255.0.64 - 239.255.0.70 |
Пусть в нашем случае устройства-приемники объединены в группу "Группа 0", имеет номера вселенных 1-7 и соответственно адреса многоадресной рассылки UDP пакетов - 239.255.0.1 -239.255.0.7
Нажмите кнопку Add ("Добавить") для добавления нового устройства (новой вселенной)
- В комбо-боксе "Device Type" выберите значение "sACN / E1.31"
- В поле "Universe" укажите номер вселенной - 1. Обратите внимание, что при переходе к следующему полю значение IP Address изменится на 239.255.0.1
- В поле "Channels" укажите количество каналов для вселенной 1 - 510 (это первые 170 светодиодов матрицы)
- Нажмите кнопку "ОК" для добавления созданной вселенной в список устройств
Снова нажмите кнопку Add ("Добавить") для добавления описателя второй вселенной
- В комбо-боксе "Device Type" выберите значение "sACN / E1.31"
- В поле "Universe" укажите номер вселенной - 2. Обратите внимание, что при переходе к следующему полю значение IP Address изменится на 239.255.0.2
- В поле "Channels" укажите количество каналов для вселенной 2 - 258 (это оставшиеся 86 светодиодов матрицы)
- Нажмите кнопку "ОК" для добавления созданной вселенной в список устройств
Для примера с матрицей 16x16 созданы все необходимые вселенные.
Если ваша матрица другого размера - выполните расчет и создание вселенных для вашего случая.
На следующем шаге требуется указать программе в какой последовательности располагаются светодиоды на вашей матрице, иными словами - в каком порядке программа должна передавать изображение на устройства-приемники.
Выберите в меню пункт настройки варианта подключения светодиодов матрицы
В открывшемся окне представлена схема матрицы, на которую должны выводиться эффекты.
Красными представлены пиксели для которых еще не назначено соответствие светодиодам матрицы
Здесь возможны два варианта в зависимости от выбранного типа синхронизации - "Логический" и "Физический"
В логическом типе синхронизации светодиоды располагаются начиная с левого верхнего угла X,Y=(1,1) и далее вправо по колонкам (X), затем вниз по строкам (Y). Каждая строка (и четная и нечетная) начинаются слева, увеличение координаты - вправо. Заполнение вселенных ведется последовательно - сначала созданная Вселенная 1, затем Вселенная 2 и так далее.
Установите маркер начала распределения светодиодов - ярко красный квадрат в левый верхний угол матрицы и нажмите кнопку "Fast Patch"
Для размещения первых 170 светодиодов при ширине матрицы 16 колонок достаточно 11 строк. Последняя строка будет не полной - останется место для 6 светодиодов. В поле "Dimension" укажите размер заполняемой области - X:16, Y:11
В комбобоксе "Patch Mode" выберите направление светодиодов из угла подключения матрицы.
Как указано выше - в случае логического порядка светодиоды следуют построчно с началом - в левом верхнем углу матрицы.
Выберите значение "Linewise starting Top-Left"
Доступны следующие варианты:
- Linewise starting Top-Left - Левый верхний угол, параллельно по строкам слева направо
- Linewise starting Top-Right - Правый верхний угол, параллельно по строкам справа налево
- Linewise starting Bottom-Left - Левый нижний угол, параллельно по строкам слева направо
- Linewise starting Bottom-Right - Правый верхний угол, параллельно по строкам справа налево
- Snakelines starting Top-Left - Левый верхний угол, зигзаг направление вправо
- Snakelines starting Top-Right - Правый верхний угол, зигзаг направление влево
- Snakelines starting Bottom-Left - Левый нижний угол, зигзаг направление вправо
- Snakelines starting Bottom-Right - Правый нижний угол, зигзаг направление влево
- Columnwise starting Top-Left - Левый верхний угол, параллельно по колонкам сверху вниз
- Columnwise starting Top-Right - Правый верхний угол, параллельно по колонкам сверху вниз
- Columnwise starting Bottom-Left - Левый нижний угол, параллельно по колонкам снизу вверх
- Columnwise starting Bottom-Right - Правый нижний угол, параллельно по колонкам снизу вверх
- Snakecolumns starting Top-Left - Левый верхний угол, зигзаг, направление вниз
- Snakecolumns starting Top-Right - Правый верхний угол, зигзаг, направление вниз
- Snakecolumns starting Bottom-Left - Левый нижний угол, зигзаг, направление вверх
- Snakecolumns starting Bottom-Right - Правый нижний угол, зигзаг, направление вверх
Значение в комбобоксе "Pixel Order" - всегда "RGB" - порядок следования цветов в пикселе обрабатывается программно в скетче прошивки при задании типа ленты в блоке инициализации библиотеки FastLED.
Поле "First Channel" содержит номер канала, начиная с которого будут размещены данные цветов в формируемом пакете. Поскольку размещение данных для вселенной только начинается - данные следуют с канала 0.
В комбобоксе "Patch device" выберите устройство, соответствующее первой вселенной - sACN/E1.31 239.255.0.1
Нажмите кнопку "ОК" для запуска разметки данных для Вселенной 1.
Теперь первые 170 клеток матрицы имеют зеленый цвет, что означает, что каждой зеленой ячейке виртуальной / программной матрицы назначено место в массиве данных передаваемых на устройство-приемник.
Обратите внимание, что последняя строка заполнена не полностью - для нее не хватило места в пакете E1.31, первой вселенной, который вмещает в себя 510 доступных каналов из 512 (или данные для 170 светодиодов). В области, выделенной зеленым справа видно, что выбранная вселенная - sACN/E1.31 239.255.0.1[1] и каналы для цвета RGB назначены R-507, G-508, B-509.
Инструмент "Fast Patch" использует для разметки прямоугольные области, внутри которых задает последовательность диодов согласно выбранным настройкам. После завершения распределения диодов для первой вселенной выполним разметку для второй вселенной.
В строке 11 осталось неразмеченной 6 клеток. Установите маркер начала разметки - красный прямоугольник на первую клетку неразмеченной области и снова нажмите кнопку "Fast Parch".
Прямоугольная область разметки остатка строки - 6 клеток в одной строке - укажите размер заполняемой области в поле "Dimension" - X:6, Y:1. В комбобоксе "Patch Mode" направление светодиодов из угла подключения матрицы остается неизменным - "Linewise starting Top-Left". Нумерация каналов для второй вселенной начинается с 0 - укажите это значение в поле "First Channel". В поле "Patch Device" выберите вторую вселенную - sACN/E1.311 239.255.0.2[2]. Нажмите кнопку "ОК".
Разметка остатка строки выполнена. Последняя размеченная клетка определяет каналы R-15, G-16, B-17
Переместите маркер начала размечаемой области в начало строки 12. Нажмите кнопку "Fast Patch".
Размеры размечаемой области - 16 колонок, 5 строк (X=16, Y=5). Направление следование цепочки остается неизменным - Linewise starting Top-Left. Последний занятый канал Вселенной 2, заданный на предыдущем шаге - 17 (компонента цвета B). Значит, нумерация каналов для следующего диода должна начинаться с 18. Это значение вводится в поле "First Channel". Убедитесь, что в комбобоксе "Patch Device" по-прежнему выбрана вторая вселенная sACN/E1.311 239.255.0.2[2] и нажмите кнопку "ОК".
Разметка матрицы для передачи изображения эффектов устройствам-приемникам по протоколу E1.31 для выбранного режима синхронизации "Логический" на этом завершена.
Физический тип синхронизации подразумевает, что определение матрицы для вывода эффектов в программе "Jinx!" должно полностью соответствовать последовательности размещения светодиодов на физической матрице.
Для примера рассмотрим матрицу размером 16x16, топ соединения диодов - зигзаг, угол подключения - левый нижний, направление следования цепочки диодов из угла - вправо. Заполнение вселенных ведется последовательно - сначала созданная Вселенная 1, затем Вселенная 2 и так далее.
Первая вселенная содержит в себе цвета первых 170 светодиодов или 170 * 3 = 510 каналов. Эти светодиоды занимают на матрице нижние 11 строк, причем последняя распределяемая строка будет содержать только 10 светодиодов, остальные 6 клеток останутся незаполненными.
Установите маркер начала распределения светодиодов - ярко красный квадрат в первую ячейку (крайнюю левую) строки под номером 6. Таким образом, определяется размечаемая область (X,Y) - левый верхний угол (1,6), правый нижний угол (16,16). Нажмите кнопку "Fast Patch".
Задайте параметры распределения ячеек матрицы:
Для размещения первых 170 светодиодов при ширине матрицы 16 колонок достаточно 11 строк. Последняя строка будет не полной - останется место для 6 светодиодов. В поле "Dimension" укажите размер заполняемой области - X:16, Y:11
В комбобоксе "Patch Mode" выберите направление светодиодов из угла подключения матрицы. В нашем случае светодиоды расположены "змейкой", начиная с левого нижнего угла выделенной области, направление следования из угла - вправо. Выберите в комбобоксе ""Patch Mode" значение "Snakelines starting Bottom-Left"
Значение в комбобоксе "Pixel Order" - всегда "RGB" - порядок следования цветов в пикселе обрабатывается программно в скетче прошивки призадании типа ленты в блоке инициализации библиотеки FastLED.
Поле "First Channel" содержит номер канала, начиная с которого будут размещены данные цветов в формируемом пакете. Поскольку размещение данных для вселенной только начинается - данные следуют с канала 0.
В комбобоксе "Patch device" выберите устройство, соответствующее первой вселенной - sACN/E1.31 239.255.0.1
Нажмите кнопку "ОК" для запуска разметки данных для Вселенной 1.
Теперь первые 170 клеток матрицы имеют зеленый цвет, что означает, что каждой зеленой ячейке виртуальной / программной матрицы назначено место в массиве данных передаваемых на устройство-приемник.
Однако, разметка выглядит несколько не так, как ожидалось... К сожалению, утилита "Fast Patch" имеет ошибку и распределяет ячейки не совсем в соответствии с заданным алгоритмом. Придется исправлять ошибки вручную...
Обратите внимание, что ячейка (1,16) определяющая начальную точку (первый светодиод матрицы) подсвеченная ярко-зеленым маркером в правой части окна в информационной панели содержит номера каналов R,G,B - 0,1,2. Следующая зеленая ячейка (2,16) - каналы 3,4,5 и так далее. И это правильно. Однако первая красная ячейка (и следующие за ней красные ячейки в строке) содержат правильное распределение каналов (30,31,32), (33,34,35)..., но комбобокс "Patch Device"* содержит значение None. Это ошибка.
Для исправления ошибки вручную выберите в комбобоксе "Patch Device" Вселенную 1 - sACN/E1.31 239.255.0.1 для каждой красной ячейки строки.
Напротив, в строке 6 последние 6 ячеек имеют зеленый цвет, но каналы для них не назначены - R,G,B содержат значения 0,0,0 выберите для 6 последних ячеек строки 6 в комбобоксе "Patch Device" Вселенную 2 - sACN/E1.31 239.255.0.2 и номера каналов последовательно (0,1,2),(3,4,5),(6,7,8),(9,10,11),(12,13,14),(15,16,17).
Итак, разметка Вселенной 1 и первых шести диодов Вселенной 2 - выполнена
Следующая размечаемая область - от X,Y ячейки (1,1) (левый верхний угол области) до (16,5) (правый нижний угол области. Поскольку тип соединения нашей матрицы - "зигзаг" (или "змейка") с началом в левом нижнем углу, строки 16,14,12,10,8,6 имеют нумерацию ячеек и распределение каналов по возрастанию слева направо, а строки 13,11,9,7 - нумерацию ячеек и распределение каналов по возрастанию - справа налево.
Строка 5 в оставшейся у распределению красной области также имеет распределение номеров ячеек СПРАВА НАЛЕВО (!!!).
Нажмите кнопку "Fast Patch" для выполнения распределения оставшейся части ячеек матрицы.
Размер области распределения Dimension X=16, Y=5, направление следования цепочки светодиодов в выделенной области - из правого нижнего угла влево, по строкам змейкой вверх. В поле "Patch Mode" выбираем значение "Snakelines starting Bottom-Right"*. Номер последнего распределенного канала во Вселенной 2 в ячейке с координатами (16,6) - B-17, значит первым распределяемым каналом в оставшейся области будет канал 18, что и указываем в поле "First Channel". Нажмите кнопку "ОК" для завершения операции распределения.
Назначение светодиодов для передачи картинки эффекта на устройства-приемники завершено!
Ниже приведен рисунок назначения светодиодов матрицы "Jinx!" на сборную матрицу, состоящую из четырех матриц размером 8x8 пикселей.
Расположение матриц в сборке представлено на рисунке. Первый светодиод каждой матрицы (угол подключения) обозначен зеленой точкой. Направление следования цепочки светодиодов из угла подключения - красной линией.
Ниже представлена пошаговая схема распределения диодов матрицы по вселенным.
Итак, эффекты созданы или выбраны из готовых примеров. Один из эффектов отображается в реальном режиме времени в центральной панели, являющейся результатом смешивания эффектов из правой и левой панелей предварительного просмотра.
Для начала трансляции эффекта на устройства-приемники выберите в меню "Setup" пункт "Start Output". Для остановки трансляции повторно выберите этот же пункт меню.