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

Всем привет. Нашел вот в интернете хорошую статью о том как сделать артнет гейт из ардуино. Решил и я себе такой сделать.

Сразу скажу, это не я автор. Просто здесь я делюсь опытом сборки своего гейта и пишу о “граблях” на которые может напороться тот, кто решит повторять эту конструкцию. Вот ссылки на оригинальные статьи:

В начале для себя важно решить главный вопрос - сколько Вам надо юниверсов. Если один (то есть 512 каналов DMX), то купить надо плату Arduino Uno. Если два, три или четыре, то придется купить Arduino Mega. Лично мне было нужно три. Потому буду говорить о гейте на три юниверса (это же справедливо и для одного, двух и четырех). Нам надо следующее:

-плата Arduino Uno или Arduino Mega;

-Ethernet шилд на базе W5100 (тут по словам автора статьи вопрос принципиальный);

-плата DMX (в архиве вложена схема и печатная плата);

-софт (также в архиве, это IDE версии 0023 и собственно код, который компилируется в этой IDE и потом заливается в плату Arduino);

-подходящий корпус;

-нужное Вам количество панельных разъемов XLR (кому как удобно: на три пина или на пять);

Кроме того, есть тонкости с питанием этой всей кухни. Если Ваш гейт будет на один юниверс, то питать всю конструкцию можно от USB разъема что стоит на самой плате Arduino (тот вариант если Вы всегда будете держать этот гейт на пультовой возле себя. Воткнул коорбку в ноутбук или комп и работаешь). Если гейт будете использовать в “полевых” условиях, то питание можно подавать от внешнего блока питания 12вольт 1ампер (хотя советую купить бескорпусной блок питания и прикрутить его рядом с гейтом в одном корпусе - так надежнее).

У меня получилось чуть сложнее с питанием. Уже по ходу сборки и проверки гейта в работе я на сложности и натолкнулся.  Дело в том что питание всей кухни идет с платы Arduino. А там стоит на входе стабилизатор питания 5 вольт на 800-1000милиампер (у кого какая сборка платы попадется). На один юниверс этого хватает (проверено лично). Так вот если Вам надо больше одного юниверса, то придется заменить микросхему стабилизатора на плате Arduino на более мощную (я поставил себе L78S05CV).

Дальше делаете себе плату DMX. Можно заморочиться, но будет красиво, и сделать себе печатную плату. А можно сделать проще. Я купил макетную плату под свою Arduin’у. Все туда впаял и соединил проводками. Замечание по плате DMX. На схеме в оригинале не нарисованы третий резистор на 10 ом, который подключен к пятой ноге микросхемы SN75176 и конденсатор на 100нФ, который подключен между 8 и пятым выводами той же микросхемы. На печатных платах это все есть. В итоге на каждый юниверс нам надо взять: одну микросхему SN75176 (подойдет, как говорит автор, MAX485, MAX487, ST485), три резистора на 10 ом 0,25ватт, один низковольтный неэлектролитический конденсатор на 100нФ. Микросхему лично я ставил на цанговую дип панельку, чтобы в случае ее смерти заменить быстро на работе микросхему (всякое бывает).

Теперь прошиваем плату Arduino c Ethernet шилдом. Из архива распаковываете папку aruino-0023. В ней лежит папка artnet_node. Подключаете к компу по USB свою плату Aruino и Eternet шилдом, но обязательно без DMX платы. Запскаете файл arduino из папки. Жмем File, Open, выбираем файл artnet_node.h из папки artnet_node. Уже потом, полазив по коду и погуглив сей вопрос я выяснил где в коде можно указывать  число выходов из платы (если их больше одного), а также сетевой адрес устройства (оказалось тут он статический).

Итак, перед тем как компилировать код, для того чтобы выставить число выходов (юниверсов) с платы, в коде надо найти такие строки:

#define   USE_UNIVERSE_0      // remember universe 0 now is USART 0, Arduino output pin 1

#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, короче раскомментируйте нужные строки. 

Теперь, чтобы дать коробке сетевой адрес найдите строки в коде:

uint8_t factory_localIp      [4] = {   2,   0,   0,  10};           // the IP address of node  (в скобках как видно и есть сетевой адрес) uint8_t factory_broadcastIp  [4] = {   2, 255, 255, 255};           // broadcast IP address (это широковещательный адрес гейта) uint8_t factory_gateway      [4] = {   2,   0,   0,   1};           // gateway IP address (use ip address of controller) (адрес вашего роутера) uint8_t factory_subnetMask   [4] = { 255,   0,   0,   0};           // network mask (art-net use ‘A’ network type) (маска подсети)

Адреса и прочее тут можно вписать свои, единственное не забывайте о правилах их назначения для ArtNet протокола.

После этого компилируете код и загружаете его в плату: жмете иконку Upload, ждете сообщения об успешном завершениии. 

После этого соединяете все платы вместе (у меня получился “бутерброд” - снизу плата Arduino, в середине плата DMX и сверху Ethernet шилд. На фотках из архива видно) и подаете питание.

Проверить работу гейта можно прогой из архива. Это DMX Workshop (ее без проблем найдете в интернете на официальном сайте).  Открываете прогу DMX Workshop, выбираете сетевое подключение к своему гейту. Если все ок, то в окне программы увидите свой гейт со всеми рабочими юниверсами и их статусом.

Вроде все. В архиве я вложил все что использовал для сборки своего гейта. Ну и фотки своей конструкции. Себе я в итоге оставил два юниверса, доставил кулер (это я себе сделал охлаждение на микросхему стабилизатор напряжения, поскольку радиатор у меня там ставить некуда). Короче, все на фото (будут вопросы - пишите).

P.S. Буду признателен тем, кто найдет хороший вариант стабилизатора на 5 вольт 2-3 ампера в корпусе SOT-223 и поделится им. А то у меня стоит микросхема в корпусе TO-220.

P.P.S. У кого есть вопросы, кому что непонятно, пишите. Всем все покажу, разъясню. Мой гейт далеко не шедевр (я не мега электронщик). Потому хотелось бы увидеть другие девайсы. Делитесь своими фотками, замечаниями.

ArtNet Node.zip

Большое спасибо за информацию, очень интересует эта тема. Позже попробую повторить. 

Удачи. Пишите, если что.

 Купил Мега, Езернет Шилд и преобразователь  в RS-485.  Вселенной достаточно одной. Все примерно понятно, но как rs - 485 прикрутить к Ардуине? Есть какая нить наглядная инструкция, я не искушенный.

 А вообще я крайне удивлен не популярности темы. Это просто ПИПЕЦ как удобно, у вас просто роутер и планшет, все , ни одного провода. А МаджикКу - лучшая из виденых программ… Ага нашел схему 11052890m.png

 Значит я просто подсоединяю Ro, RE, DE, DI к  0, 22 , и 1 пину ардуины и все? А вот сопротивления R1 и R2  они зачем? У меня в юсб версии конвертора ДМХ их не стоит. И работает вроде. 

11045724m.jpg

 Вот фото моих запчастей, поправьте или консультните :slight_smile:  Эзернет шилд я вставляю в Ардуину. Прошиваю. Цепляю RS 485 - Все?

Все верно. Собираете плату по указанной схеме со всеми указанными деталями. В этом случае точно все работает безотказно. Экспериментировать со схемой нет ни желания ни знаний. Собрал и пользуйся. Лучшее - враг хорошего. )

По оригинальной ссылке или тот архив что я сюда прикрепил?

ArtNet Node.zip   Я скачал, 133 Mb 

Не нашел как удалить прошлый пост. Прошу модератора потереть.

Прошиться я все же смог, для этого пришлось удалить новую среду, найти версию 2012 года, очистить темпики, но это другая итория…

У мня есть китайский artnet за 70$ В нем есть web интерфейс, а здесь его нет? Как происходит настройка маршрутизации? Получается, без прошивки на паляне я адрес даже не сменю? Или я что то не увидел? 

я совсем не разберусь. Буду рад любой помощи. 

автор или кто шарящий живы? интересная ж тема)

что такое пин 22 на ардуине-мега? на ардуине-уно его просто нет.

+5 вольт вместо него использовать  и всё?

Не вздумай давать туда 5вольт. Вместо пина 22 должен быть пин 11. Я себе все подключения этого шилда делал, сверяя печатную плату из второй ссылки (там речь идет про этот шилд на 4 выхода) и фотку распиновки самой платы Ардуино скачанной с офф.сайта ардуины. 

P.S. Кстати, я заходил в блог этого Тони Мерино. Так там в схеме все правильно нарисовано - пин 11. 

А есть ли у кого прошивка, что б был web интерфейс и можно было параметры выбирать. На ebay полно девайсов в продаже. Собраны то же на arduino. Держал в руках, но не долго. Очень удобная штука. 

Вот пример: 

 

я сначала спросил, потом подумал и разобрался: всё не так.

не знаю, как вообще у кого-то что-то работает по этим двум мануалам: картинка дмх-шилда старой версии, в ней использовались 10,11,12,13 пины для контроля “вход-выход”.

а в новой прошивке черным по белому описаны 22, 24, 26, 28. 

Пины там должны быть 10,11,12,13 и никак иначе. Лично схему себе собирал и у меня все работает.

Тут, как говорится, на вкус и цвет… Что нравится - тем и пользуйся. Таких вариантов в сети и правда много. Я лишь один из них предложил. К тому же работоспособный, что немаловажно.

Есть ли какоето развитие в теме? 

Может новые прошивки или еще что. 

Есть. Видел даже модификацию этого прибора с ЖК дисплеем. На нем выводится IP адрес и статус выхода. Все вопросы к автору оригинала а также к Гуглу (с ним и нашел вариант с дисплеем). Кто ищет тот найдет. Удачи.

Гугл это хорошо, но все же этот форум для тех, кто хочет поделиться информацией или что то спросить. 

Наверное, многим было бы интересно посмотреть возможные варианты и очень жаль, что когда Вы их нашли не поделились с нами ссылочкой. Наверно это Ваша коммерческая тайна…

я пока что видел только стандартные арт нет гейты с урезанными функциями и на старой версии среды ардуино. 

P.s. Александр, Если я не путаю (давно это было) то мы с Вами общались по электронке. Вы ждали приезда знакомых из тура, но файл так и не прислали. 

Прошу прощения, если у Вас сложилось такое мнение. Все дело в том, что дальнейшей модернизацией гейта я не занимаюсь (лень, нет времени, хватает и такого функционала, в общем всего понемногу). А советовать что-либо людям и не ручаться за его работоспособность при этом не проверив все  самому - я так не делаю. Потому даю только ссылку. Это гейт с экраном: http://blogs.portugalvideo.com/caneira.php/4-universes-dmx-artnet-node-lcd . Статья на португальском. Т.к. не владею португальским, то переводил все гугл переводчиком. С ним без проблем читабельно и понятно, что за чем делать, чтобы собрать такой девайс.

P.S. Парни из тура приехали давно. Я просил у них инфу по поводу их модернизаций этого гейта, но увы кроме фразы: “Да, без проблем чувак”; больше ничего от них не добился. Потому и не стал писать Вам на почту.  

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

Отличная , и актуальная тема для меня на сегодняшний день .

Очень нужна помощь знающих людей !!!

Дело в том , что не могу никак поженить собранное устройство с ПК , а точнее не могу понять как это сделать .

Я так понимаю , что нужно как то настроить соединение ПК с ArtNet Node , типа как показано в видео выше …

Пере-Goooogl-ил все что можно но так и не нашел как это сделать .

Буду очень признателен если найдете время отозваться !!!

Заранее спасибо !!!

Пишите что конкретно делаете, какие устройства подключаете, что конкретно не получается. В общем, подробнее о проблеме. 

Все началось с того что мне понадобился ArtNet контроллер с тремя DMX выходами ,

Решил сделать устройство на базе Ардуино 

Были приобретены :- Ethernet Shield W5100 -  Arduino Mega 2560 R3

а также изготовлена плата на 4 DMX выхода .

В Ардуину с Шилдом заливаю подправленный скетч , правда IP адреса оставил так как есть 

Собираю “бутерброд” соединяю устройство с ПК кабелем 

Подключение локальной сети , настроено так - 

Подключение через - Адаптер Microsoft замыкание на себя

Протокол Интернета версии 4 - 

IP адрес - 2.0.0.10

Маска подсети 255.0.0.0

Запускаю утилиту  DmxWorkshop для тестирования DMX как описано у Тони Марио

Но программа не выдает никакой информации , как будто вообще ничего не подключено

Такая вот проблема !

 Вот фото устройстваDSC01135.thumb.JPG.7dccda364ad0c825524d4abd869d36a4.JPG

DSC01136.thumb.JPG.4b7c6f46209fad8b9a4075d86c5fb4b0.JPG

PS /// Да и еще , я заметил что на шилде процессор нагревается примерно до +50 С 

Это нормально ?