Art-Net гейт на базе Arduino

Screenshot_2017-11-11-13-57-41-658_com.android.chrome.thumb.png.4c0a21cb19f182d09fe6811fd131d0cc.png

Добрый вечер. Извиняюсь заранее, что вопрос возможно не совсем о том, о чём в нуль посте, но сильно пересекается. Нашел эту тему, пока пытался разобраться в LED контроллерах. Задача стоит анимировать 40 метров светодиодной ленты (8 лент по 5 метров) типа WS2812b (30 led/m, в 40 метрах получается 1200 пикселей). Нужно для театральной постановки, поэтому хотелось бы иметь удобное управление с плавными затемнениями и переходами.

 

Сразу отбросил контроллеры вроде T200k и ему подобные, управляемые из под LedEdit, по причине отсутствия в программе средств удобного управления во время спектакля. И к тому же на нее ругаются некоторые антивирусы.

 

Другое решение - использовать DMX512 для управления каждым отдельным светодиодом. Для этого понадобится 3600 каналов, а значит приблизительно 7 универсов, а на практике лучше 8, чтобы на каждую ленту по универсу. А для управления всем эти можно использовать программу вроде Jinx!. К слову тут то и я и наткнулся на ваш пост, когда узнал о протоколе ArtNet. В интернете можно найти много разных контроллеров, специально предназначенных для управления лентами по протоколу artnet или sACN. Например bc-204. Но во-первых, тот же bc-204 рассчитан только на 4 универса, а во-вторых - цена кусается. Есть аналогичный bc-216, который, судя по названию, рассчитан аж на 16 универсов, но и стоит в 3 раза дороже.

 

Другая идея была использовать Teensy 3.2 совместно с их же библиотекой OctoWS2811 для управления восемью светодиодными лентами. Но проблема в том, что времени не так много, а эффекты программировать за меня никто не станет.

 

И тут после нескольких дней раздумий я нашел ваш пост о самодельном гейте. И о чудо, у меня родилась идея совместить вашу идею с платой teensy, чтобы на выходе получить гейт с 8 универсами. Но вот хотелось бы с кем нибудь обсудить, какие могут подводные камни пока чисто теоретически. Что на данный момент я знаю.

  1. Teense 3.2 - мощная плата на процессоре ARM Cortex-M4 72 МГц. По некоторым подсчётам позволяет управлять до 20 000 светодиодов. Имеется специальная библиотека, о которой я говорил выше.
  2. Для управления через Ethernet можно использовать модуль Mini W5100.
  3. Прошивка будет элементарной, задействуем библиотеку https://github.com/natcl/Artnet

Но есть вопросы из-за неопытности. Например в описании к библиотеке OctoWS2811 есть картинка с подключением 8-ми лент, на которой видно, что нужные для подключения ethernet модуля по SPI пины не заняты. Но достаточно ли знания о том, что пины не заняты и что teense совместима с библиотеками от ардуино, чтобы быть уверенным, что все заработает. Этого я не знаю, опыт небольшой, имел дело только с ардуино.

 

Потом, питание у модуля 5v, а teense работает на 3.3v, но говорится о некой толерантности к 5v. Вот этот момент мне не понятен с толерантностью. Вот в этой статье автор подключает teensy 3.0 к ардуиновскому Ethernet шилду. Там в конце он говорит о том, что сам чип w5100 работает на 3.3v  и потребляет до 150мА, а значит может повредить ардуину, если подключать напрямую. Т.е. в любом случае их лучше питать отдельно. Но что значит работает на 3.3v, если в описании на викиспейсес написано что плата подключается к 5v.

 

Короче говоря, хотелось бы разобраться с подключением. Прошу помощи у вас.

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

 

Спасибо!

Здравствуйте, а сей девайс работает в обе стороны?

так чем не устраивает bc 204 ? количеством пикселей ( 2560 на секундочку ) ? 

или ценой ?

по моему 100$ не так много если нужно для работы

2018-02-16 10.03.26 pm.png

А кто мешает проверить самостоятельно, и по результату изложить все здесь? 

Или это дложен кто-то другой выполнить?

Хитро , однако

DMX вход кто-нибудь делал на нем ,как работает ?

в описании на али/ебае есть табличка, где написано 680/CH x 4CH. Что это значит?

 

Никто не мешает. В принципе, я разобрался. Всё оказалось проще некуда. Сейчас правда осталось две проблемы: периодическое мерцание лент и зависание ethernet модуля. Первая проблема возникла скорее всего по моей страшной глупости. Перепутал полярности (!!!) подключая часть лент к одному из блоков питания (подключал ночью уже после продолжительного рабочего дня, так что мне есть оправдание :). Блок успел немного нагреться. После я менял местами блоки и те ленты, которые висели на этом блоке прежде, переставали мерцать после установки их на другой блок. Со зависонами пока непонятно, есть ли возможность восстанавливать работу, перезагружая лишь ethernet модуль, не перезагружая плату контроллера и как это вообще по скорости, будет ли заметно.

 

Если будет интересно, могу после премьеры выложить фотки и как-то описать все проблемы, с которыми пришлось столкнуться, и их решения подробнее.

 

ps: тс, ещё раз примите мои извинения за оффтоп

А нужно только стабилизатор поменять чтобы 12 вольт подать или ещё что то ? И 12 вольт подавать прямо в разъём ардуино?

А у меня одного 4 UART’а тормозят, вернее 1-й работает шустро, а остальные 2 прям притормаживают? Может проблема в том, что я подаю слишком слабое питание? Завтра попробую взять БП по мощнее (в руках был только на 5V 1.5A), задал режим быстрого вращения на 2 головы на разных Univers’ах, вышло так, что на 1-м Univers’е все ОК, а на всех, что дальше явное торможение, с шагом в пол секунды, если не больше. Закоментировал 2 строки обратно и на 2-х Univers’ах все стало плавно:

Скрытый текст

// more than 1 universe, only in Arduino MEGA // more than 2 output universes → slow frame rate // more than 3 output universes → unstable or crash ?     we need more processor… #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) && !defined(USE_TINKERKIT_SHIELD)      #define   USE_UNIVERSE_1      // remember universe 1 now is USART 1, Arduino output pin 18 //    #define   USE_UNIVERSE_2      // remember universe 2 now is USART 2, Arduino output pin 16 //    #define   USE_UNIVERSE_3      // remember universe 3 now is USART 3, Arduino output pin 14 #endif

Хотя текст в комментариях выше говорится четко, что AVR нужно отправить в помойку и использовать процессор по мозговитее. Пока соберу на 2-х Univers’ах, а потом уже заморочусь может с каким ST. З.Ы.: До этого собрать ArtNetNode на esp, хорошо работает, пока не набегает народ и не забивает весь Wi-Fi своей раздачей с мобильников. Начинаются сильные лаги.

Да, это из-за проблем с питанием. Было такое. Берите БП на больший ток.  Насчет “AVR  на помойку” не согласен в этом случае. Для этой задачи AVRов хватает. Другое дело что нужно брать проц постарше моделью, это да. Но тогда это будет уже не Ардуина и не на этом форуме.

Вот хочу на STM попробовать сделать ArtNet. Но на это времени придется много убить.

Здравствуйте. Подскажите пожалуйста куда копнуть. Менял ардуину, менял 485 микросхему, сегодня в ethernet шилде перепаял сборку резисторную. Диагноз один. Пока не включена qlc+ в  nodeлисте отсутствует output. Когда запускаю программу появляется то что на фото. Соответственно ничего в dmx не идёт. 

IMG_20190207_155126.jpg

Здравствуйте!

Art-Net гейт на базе Arduino, еще не разбирался с ним, но могу  предложить как вариант 

О! Что-то новенькое. Сейчас гляну. Спасибо.

 

 

За это большая благодарность mtongnz. Вот ссылка на оригинальную статью - https://www.instructables.com/id/ESP8266-Artnet-to-DMX/  Если есть желание благодарите его. И устанавливайте радиатор на ESP для стабильной работы. 

 

 

Здравствуйте!

SergeyN спасибо за подсказку, впредь буду указывать оригинальную статью (источник).

Я тут у себя покопался и нашел еще вариант WiFi sACN – DMX 512. Может кому пригодится.

Ссылка на оригинальную статью http://forkineye.com

 

Вот лекарство The ArtNetominator - Free ArtNet DMX Monitoring and Troubleshooting Software которое покажет наличие/отсутствие сигнала в сети, а дальше по желазу самостоятельно находить баги/ляпы

Не очень для DMX подходит это устройство, оно “заточено” под управление светодиодной лентой. Прошивка для работы с DMX содержит суровых тараканов тьму , у разных людей повторивших ее разное количество выводимых каналов ( у меня например только 272 ). Да и с поиском в сети этого устройства не все гладко, не для слабонервных однозначно. Так-что в помойку. А вот у товарисща mtongnz   все по-лучше выглядет, но так-же с живностью в коде, что-то там с сохранением данных точки доступа не в порядке, часто “забывает” и сбрасывает все в “0” . Для работы не рекомендую, очень. Надежность отсутствует .Необходимо допиливать .

Пытаюсь скомпилировать код ArtNet гейта, выскакивает ошибка. В программировании не силен. Может кто сталкивался или подскажет что я делаю не так?

error.jpg

 

Отбой, на другом компе всё нормально компилируется =)