roboforum.ru

Технический форум по робототехнике.

Elmot - профессия - дилетант

Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

Re: Elmot - профессия - дилетант

dccharacter » 06 дек 2013, 20:10

Сказал как отрезал :-)

Re: Elmot - профессия - дилетант

elmot » 14 дек 2013, 16:27

Купил у китайцев 5м светодиодной ленты, 60 диодов на метр, ws2812, те RGB, 256 уровней яркости, управление на каждый диод свое. с доставкой федэском в сингапур вышло ок $70. Купил тут блок питания 5В 3А, отрезал от ленты метр и вроде как прогу управления сделал на stm32f0-discovery. Лента мне понравилась - яркая, цвета неплохие, белый вполне человеческий(часто в синеву отдает).
Скоро приеду домой, сделаю чо-нить к новому году. Вопросы к публике:
- что-бы такое красивое сделать?
- какую схему перемены цветов забубенить?
- как питать эту радость? Жрет она по-конски - 5м чуть ли не 20A. Что-бы такое взять для блока питания 5В/15-20А
- Нашел небольшой покос в CooIde - для моего чипа неверное кол-во RAM - как им засабмитить багрепорт или фикс на это дело?

Re: Elmot - профессия - дилетант

TedBeer » 14 дек 2013, 16:58

elmot писал(а):- что-бы такое красивое сделать?

Изображение
Форум корежит анимированные гифы :(
Если картинка не показывается, значит мой домашний сервер лежит.


elmot писал(а): - какую схему перемены цветов забубенить?

Управление WS2812 используя DMA, код доступен на гитхабе.

Re: Elmot - профессия - дилетант

Angel71 » 14 дек 2013, 17:04

я примерно на такой облизываюсь
144leds-m-WS2812B-5050.jpg

144 диода на метр, 4метра 102$. :) единственно хочу чёрного цвета.
а жрут они да, прилично - это же светодиоды. как смотришь на потребление всяких светодиодных табло, так сразу плохо становиться.
если новогоднее, то много чего красивого можно сделать. как вариант что-то на подобии такого шара
http://radiokot.ru/circuit/light/run/45/
17.jpg

хотя самое простое и быстрое - это намотать на цилиндр (и не нужно будет ленту резать).

Re: Elmot - профессия - дилетант

elmot » 14 дек 2013, 17:29

TedBeer писал(а):
elmot писал(а):- что-бы такое красивое сделать?

http://wiki.tedbeer.net/pages/diy/img/m ... -pro-4.gif

Я уже думал о таком. Не выйдет, тут слишком низкая частота ШИМ в микре.
TedBeer писал(а):Управление WS2812 используя DMA, код доступен на гитхабе.

Ацтой. У меня проще Использую только 1 таймер, а у этого немца - 2. На гитхаб класть не буду, тк у меня в сорцах говнокод.

Angel71 писал(а):я примерно на такой облизываюсь
144 диода на метр, 4метра 102$. :)

Да, такую ленту тоже видел. На али ее кто-то от метра барыжил.

если новогоднее, то много чего красивого можно сделать. как вариант что-то на подобии такого шара
http://radiokot.ru/circuit/light/run/45/
17.jpg

хотя самое простое и быстрое - это намотать на цилиндр (и не нужно будет ленту резать).


Можно и на цилиндер. А можно нарезать и "2014" выложить. Мне нарезать не жалко, а нарезанную даже легче питать.
Цветовую схему-то какую?

Re: Elmot - профессия - дилетант

Angel71 » 14 дек 2013, 18:23

как вариант тогда сделать примерно 20*30 или 15*40 и выводдить год (обратный таймер дней, часов, минут и потом секунд) :) будет экранчик + можно посмотреть, может что из стёкол или пластика можно сверху прикрепить что бы было красивей. хотя оно и без этого приятно будет смотреться. сами ленты же лепитьчуть ли не на что угодно можно - я недавно в одном видео видел, так там просто на плотную чёрную плёнку (я такую на хозрынке за недорого брал).
:) а с режимами хз, но думаю лучше несколько реализовать с автоматическим или ручным переключение + режим часов обратного отсчёта. когда у меня туго с фантазией, то просто сначала беру за основу что-то готовое и потом или так оставляю или если фантазия просыпается, то уже переделываю. к примеру можно посмотреть что из плагинов визуализации к медиаплеерам есть или из скринсейверов.
как вариант на фракталах, что-то на подобии http://www.dqd.com/~mayoff/programs/FractalClock/. хотя часть скринсейверов явно отсеится, разрешение маленокое, а расстояние между пикселями большое. роевые алгоритмы наверно также сразу отсеятся. в общем нужно попробовать поискать и прикинуть как оно на таком светодиодном экранике смотреться будет.

Re: Elmot - профессия - дилетант

elmot » 14 дек 2013, 19:51

У меня 300 диодов. так что скорее 9*33. Ну или сегментами выложить.
Еще засада, что это F0, а прогать приходится по 1-проводному интерфейсу, используя DMA. Бит-банга нету, так что на 1 бит, уходящий в ленту, в памяти тратится 3 байта. Очень неэкономненько, памяти едва хватает на 60 диодов. Видимо придется привлекать проц пожирнее или замучивать SPI. Ну или как-то еще выеживаться

Re: Elmot - профессия - дилетант

Angel71 » 14 дек 2013, 20:24

а, точно. то я на автомате про экранчик на 600 диодов вспомнил. :) 10*30, 12*25
:oops: имхо или временно взять какой старший мк или подумать над алгоритмами, которым памяти много не нужно (попробовать на лету вычислять). к примеру старый и наверно уже не очень прикольный вариант с "матрица" (падающие буквы). несколько десятков записей (x, y, скорость + по желанию цвет или ещё что), остальное на лету можно. и т.д.
тетрис наверно долго делать придётся, можно змейку, она к памяти не очень требовательна. можно "загнать" в ленту случайные числа, потом выход с ленты завести обратно на мк и по какому-то принципу попробовать менять цвета.
вот примерно за такой экран на чёрной плёнке я писал

правда у них там похоже метров так под 16 этих лент.
кстати если ещё есть возможность и появится желание именно табло сделать, попробуй поискать матрицы светодиодов и к ним копеечные max7219. я брал один вариант готовых diy наборов, но для соединения в табло они не подходят + они не ргб (если самому, можно и ргб взять, модули в посленее время более-менее нормально стоят, я 2шт. 8*8 брал в последний раз за 10$, на количестве понятное дело дешевле будет).
ledmatrix_max7219.jpg

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

Re: Elmot - профессия - дилетант

elmot » 14 дек 2013, 22:26

Ну если табло городить, то лучше прямо на этих ws28xx.

Добавлено спустя 6 минут 27 секунд:
на ali 1000шт за $168 уже с доставкой. Правда им еще обвес нужен

Re: Elmot - профессия - дилетант

Angel71 » 14 дек 2013, 23:23

5050 со встроенным ws2811 брал по 13.8$ (там же цены иногда как бешеные скачут + частенько кто-то рейтинг набивает) за сотню, а обвес там 1 кондёр. снапшот заказа. а лучше или хуже это уже ситуационно - на светодиодных матрицах при желании может и дешевле выйти. хотя это пожалуй лучше в каждом конкретном случаем смотреть все за и против. на этих 5050 с 2811 с одной стороны удобно какой-нибудь амбилайт сделать или гирлянду на подобии
1.jpeg
1.jpeg (2.6 КиБ) Просмотров: 2993

или длинную ленту для фоновой подсветки в комнате и т.д., с другой цены всё же немного кусаются уже при небольшом количестве, при большом разница всё больше и больше. знакомый привозил себе из катавая табло (по функциональности очень жутко примитивное, но цена...) - 20*15 матриц с 16*16 ргб светодиодов в каждой. стоила эта цаца в китаваях примерно 700$ + в комплекте 1-2 бп (которые благополучно быстро померли) + уже в цивильном корпусе. 76800 диода умножить даже пусть на гипотетически-безумные 2 цента за 5050 с этими ws, то это будет 1536$. вот такая арифметика.
немного погуглил видева по теме. для некоторых вещей разрешения в данном случае маловато, но может что и понравится. в первом видео есть бегущие полосы (то, про что я писал в предыдущем сообении). можно попробовать задать разную скорость движения разным полоскам или сделать затухание яркости ("шлейф")





Re: Elmot - профессия - дилетант

elmot » 15 дек 2013, 05:41

наверное елку сделаю.
Кста, у меня ж еще дома гирлянда лежит на ws2801
ее можно туда же добавить. Там еще сотня-другая диодов, хотя и в другом форм-факторе

Добавлено спустя 44 минуты 38 секунд:
Angel71 писал(а):5050 со встроенным ws2811 брал по 13.8$

Это и есть ws2812.
Ты удачно отхватил. сейчас тот же лот уже $35

Re: Elmot - профессия - дилетант

Dmitry__ » 15 дек 2013, 06:09

elmot писал(а):Еще засада, что это F0, а прогать приходится по 1-проводному интерфейсу, используя DMA. Бит-банга нету, так что на 1 бит, уходящий в ленту, в памяти тратится 3 байта. Очень неэкономненько, памяти едва хватает на 60 диодов.

Как это? :shock:
Ты там совсем с дефками заигрался? :)
Даже не знаю как спросить, ведь можешь обидеться если скажу: "храни биты в байтах, а вытаскивай их маской". И если 1-проводной интерфейс, то при чем тут бит-банг? Как в памяти может тратиться 3 байт на один бит в ленту, если это надо делать в цикле. В F0 - 4 кило озу минимум, как его может не хватить?
Колись, КАНЧАЙ быдлокодить :)

Re: Elmot - профессия - дилетант

Angel71 » 15 дек 2013, 06:17

elmot, у них похоже сейчас предновогоднее обострение :) я только что заказывал и большую часть пока просто с такими ценами (многое на ~20-50% подорожало, это при том, что от старых цен ещё можно было приличную скидку выторговывать) брать не захотел, а скидки в середине декабря похоже просить бессмысленно - ещё чуть-чуть и они всей страной на долго загуляют.

Re: Elmot - профессия - дилетант

TedBeer » 15 дек 2013, 12:50

Dmitry__ писал(а):Как в памяти может тратиться 3 байт на один бит в ленту, если это надо делать в цикле.

Ключевое слово было DMA.
У ленты своеобразный нестандартный интерфейс. Для управления идет поток данных частотой 800кГц. Чтобы поменять конкретный бит, надо в очень точный момент (точность измеряется долями микросекунд) нужно дернуть уровень. И вот попасть в этот точный момент не так просто. Любая задержка/опережение приведет в результате к смене не того бита. Как результат "уедут" цвета всей ленты.
Чтобы избежать этого используют прямой доступ, который тупо читает и пересылает данные. Т.к. дма работает на более высокой частоте, то чтобы "нарисовать" один бит потока ленты надо прочитать -дцать бит памяти.
------------------.......... Тут вот каждый символ - это бит в памяти, а на выходе получится 1 бит на более низкой частоте.
Подробнее тут(англ)
Объяснил как мог :) (сам чайник)

Re: Elmot - профессия - дилетант

elmot » 15 дек 2013, 14:58

TedBeer писал(а):
Dmitry__ писал(а):Как в памяти может тратиться 3 байт на один бит в ленту, если это надо делать в цикле.

Ключевое слово было DMA.
У ленты своеобразный нестандартный интерфейс. Для управления идет поток данных частотой 800кГц. Чтобы поменять конкретный бит, надо в очень точный момент (точность измеряется долями микросекунд) нужно дернуть уровень. И вот попасть в этот точный момент не так просто. Любая задержка/опережение приведет в результате к смене не того бита. Как результат "уедут" цвета всей ленты.
Чтобы избежать этого используют прямой доступ, который тупо читает и пересылает данные. Т.к. дма работает на более высокой частоте, то чтобы "нарисовать" один бит потока ленты надо прочитать -дцать бит памяти.
------------------.......... Тут вот каждый символ - это бит в памяти, а на выходе получится 1 бит на более низкой частоте.

Ну в принципе так и есть. Только вопрос не в скорости, 48мгц процу хватит скорости на такие тайминги. Но у меня нет тут осциллографа, ваще ничо нет, так что отлаживать программный цикл, чтобы точно держать время импульса - это как-нибудь в другой раз. Так что я зарядил DMA на 2.5 МГц, он у меня переписывает байты из памяти в порт GPIO. В байте только один значимый бит. Для записи бита в ленту я пишу последовательность или 110 или 100. Итого и есть 3 байта на бит. В ленте 60LED*24BIT*3=4320 байт + от лени душевной еще 200 нулевых байтов для сброса ленты перед обновлением.
Могу присобачить 8 лент, с разных битов того же порта, в том же объеме памяти будет данных на 480 диодов.
можно съекономить память, переписывая буфер DMA, но мне лень.


cron
Rambler\'s Top100 Mail.ru counter