Плейер световых эффектов - помогите стать лучше

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Riniy
Мучитель микросхем
Сообщения: 406
Зарегистрирован: Ср окт 27, 2010 04:20:09
Откуда: Сахалин -> Татарстан

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Riniy »

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

"Для генерации рандома используется генератор псевдослучайного числа. Известно, что при подаче питания на микроконтроллер его регистры и ОЗУ заполняются произвольными данными, эти данные используются для инициализации генератора. Сам генератор представляет собой несложную логическую операцию с переносом бита."

Пример на асме:

Код: Выделить всё

Random:
        mov rnd_a,rnd_b       ;A=B
        mov rnd_b,rnd_c       ;B=C
        lsl rnd_b                   ;B<<1
        brcs rnd01
        sbr rnd_b,1               ;добавляем 1 если 7 бит был 1
  rnd01:
        mov rnd_c,rnd_a       ;С=B+A
        add rnd_c,rnd_b
ret
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

[uquote="Riniy",url="/forum/viewtopic.php?p=3764686#p3764686"]Можно ссылку на фотку, если не затруднит[/uquote]
Не считая это сообщение, отсчитайте 14 сообщений в теме назад, там будет мой пост со спойлером, в котором фотка. Пишу с мобильной версии форума, и вставить ссылку прямо на нужное сообщение не могу.

Добавлено after 6 minutes 25 seconds:
На счёт рандома: я применяю стандартный rand из libc, не думаю, что самописные алгоритмы дадут лучшие результаты.
Не забывайте, что практически в каждом цикле случайное число запрашивается не один раз, поэтому тестирование только на именах файлов без учёта вызовов изнутри файла, некорректно.
К тому же если нет повторов, это скорее отсутствие случайности, ибо позволяет предугадывать следующий скрипт.
Если вас так волнует отсутствие повторов, просто отключите случайный выбор файлов: при последовательном воспроизведении повтора не будет 100%, пока весь список не воспроизведется :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Riniy
Мучитель микросхем
Сообщения: 406
Зарегистрирован: Ср окт 27, 2010 04:20:09
Откуда: Сахалин -> Татарстан

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Riniy »

Мой рандом не исключает повторного числа, повторное число может быть и следующим после вызова рандома. Во многих эффектах решается это очередным вызовом рандома, чтобы цвета не повторялись.
Не забывайте, что практически в каждом цикле случайное число напрашивается не один раз, поэтому тестирование только на именах файлов без учёта вызовов изнутри файла, некорректно.
У меня также несколько раз запрашивается функция рандома за цикл.

[uquote="ARV",url="/forum/viewtopic.php?p=3764777#p3764777"]Не считая это сообщение, отсчитайте 14 сообщений в теме назад, там будет мой пост со спойлером, в котором фотка. Пишу с мобильной версии форума, и вставить ссылку прямо на нужное сообщение не могу.[/uquote]
Спасибо! Не увидел из-за спойлера
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

помечтаем? ;)

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

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

1. сделать "нормальную" матричную адресацию пикселов по паре X:Y (вместо выбора строки/столбца, а потом номера пиксела в нем)
2. отказаться полностью от задания цвета RGB и оставить только индексный цвет (это поможет почти в 3 раза увеличить количество пикселов)
3. перейти к индексной модели цвета к модели типа "палитра", т.е. в каждом скрипте задавать свою палитру из 16 цветов (тут уже в формате RGB), а потом использовать индекс по этой палитре (плюс этого варианта - опять увеличение количества пикселов и, главное, возможность индексом выбирать черный и белый цвет)
4. отказаться от параметра "яркость", т.к. при "палитровом" цвете можно сразу задать нужную яркость цвета для нужных индексов (снова поможет увеличить количество пикселов еще примерно на 30)
5. ввести режим "нормальной" арифметики с переполнением (сохранив текущую "с насыщением"), т.е. 255+1=0, 255+2=1 и т.д. вместо 255+1=255, 255+2=255, 255*125=255 (это будет более привычно для Си-шников)
6. ввести переключение свойства FADE в режим "просто параметр", т.е. когда значение FADE для пиксела является по сути просто дополнительной переменной, привязанной к пикселу. это даст возможность реализовать эффекты, связанные с цветом каждого пиксела независимо (сейчас это в принципе невозможно, т.к. количество пикселов превышает количество переменных).
7. добавить команду управления длительностью скрипта, чтобы можно было прямо в скрипте "отменить" время принудительного прерывания и установить для этого скрипта другое время (позволит избавиться от ситуации, когда эффект застывает на "не красивом" месте перед сменой на новый)

все описанное я уже почти обдумали и примерно знаю, как сделать (п.1 уже даже успел в симуляторе протестировать). разумеется, некоторые пункты противоречат другим, и все сразу вряд ли получится реализовать... на быстродействии это сильно не скажется, совместимость с текущим форматом команд сохранится полностью, т.е. старые скрипты будут работать.

по моим прикидкам можно будет добиться количества пикселов в 254, а если изменить язык скриптов, то и до 400 (язык менять придется потому, что 1-байтной переменной для номера пиксела при этом будет не хватать, а значит, надо будет как-то переходить на 2-байтные переменные, что ломает всю концепию скрипта "любые данные только 2 символа"). эта последняя (8-я) идея мне нравится меньше всего...

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

теперь пару слов о том, что может помешать сбыче мечт.
лично свои собственные запросы я реализовал полностью, и просто так ради своих хотелок смысла продолжать что-то делать смысла не вижу. тем более что тема AVR как-то теряет популярность, все кивают на 32-битные, с WiFi и блекджеком, то есть блютузом... то есть я не скрываю: если тема усохнет в 2020 году, то и мой интерес к ней усохнет вместе с общим интересом. как нынче говорят, ваши лайки решают всё :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Dimon456 »

Вернемся к рандому, самый простой способ
Спойлер

Код: Выделить всё

uint16_t max_i 25 или сколько там параметр TF передал

uint16_t rnd5 (void) {
static uint16_t  increment=3;
static uint16_t x=1;
	
	return x = (x + increment)% max_i;
}

rang = rnd5();
в принципе этого достаточно, но есть одно но картинка, количество скриптов не должно быть 3 33 63 93 и тп.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

Снова повторяю: проверять раундом надо вживую с учётом скриптов
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Serzh2000 »

жаль телефон не может передать всей красоты гирлянды :( мои домочадцы в восторге от нее :)))
https://www.youtube.com/watch?v=TkFxkJFnefQ
огромный лайк ВАМ :beer: :)))
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

Serzh2000, некоторые эффекты явно вашего производства меня сильно порадовали! даже, пожалуй, если успею, сделаю себе такие же :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Dimon456 »

[uquote="ARV",url="/forum/viewtopic.php?p=3765327#p3765327"]Снова повторяю: проверять раундом надо вживую с учётом скриптов[/uquote]И опять я с вами не согласен, для перебора использовать свой рандом, а скрипты пусть используют стандартный.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

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

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Dimon456 »

Смысл что бы перебрать все файлы.
Наверное по тому что у меня идут первые 100 скриптов обычных, а за ними 100 скриптов матричных.
А последовательно перебирать как-то не айс.

Хотя можно создать батничек, который рандомно перепишет имена файлов и на этом успокоиться.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

Dimon456, изобилие скриптов ведь не означает, что все нужно воспроизводить!
и потом, рано или поздно воспроизведутся все скрипты с любым рандомом, так о чем вы переживаете? у меня вот иной раз даже азарт какой-то возникает: ну когда же появится тот или иной скрипт?! :)))

поскольку елка светит почти круглосуточно, меня ничуть не смущает, что некоторые скрипты мне на глаза постоянно попадаются, а некоторых ждать приходится подолгу :)

Добавлено after 3 minutes 48 seconds:
хоть я и наделал под две сотни скриптов, реально на флешку я записал 34... после просмотра видоса от Serzh2000, пожалуй, допишу еще два :) и хорош

Добавлено after 1 minute 5 seconds:
Dimon456, вам зачем матричные скрипты, например, если у вас три полоски треугольником?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Dimon456 »

ARV писал(а):вам зачем матричные скрипты
а вы посмотрите из этого сообщения видео, матричные крутятся, вроде красиво смотрится.
Тем более я могу задать режим матрицы 4*15 5*12 15*4 12*5 и тп, и один и тот же скрипт будет по разному смотреться.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

я видел ваши видео :)
все понятно, разные варианты и т.п.
но если в кофе кинуть 1 кусочек сахару, то пить можно, а если 5 - придется вылить... при большом изобилии эффектов вполне можно их по порядку запускать, только предварительно перенумеровать, чтобы явно похожие (например, разные версии "морзе") подряд не шли - количество перейдет в качество, и будет казаться, что все непредсказуемо...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Dimon456 »

ARV писал(а):только предварительно перенумеровать
батничек готовый использовал, маленько подкорректировал. Сначала random потом ваш renum.
bat_file.zip
(874 байт) 217 скачиваний
Аватара пользователя
GoldenAndy
Поставщик валерьянки для Кота
Сообщения: 1925
Зарегистрирован: Чт июл 28, 2016 07:58:37
Откуда: Kyiv, UA
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение GoldenAndy »

Изображение
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

Последняя картинка, видимо, ошиблась адресом, но все равно спасибо :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
GoldenAndy
Поставщик валерьянки для Кота
Сообщения: 1925
Зарегистрирован: Чт июл 28, 2016 07:58:37
Откуда: Kyiv, UA
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение GoldenAndy »

ARV, не ошибся, а целенаправленно поздравил автора и участников хорошей темы.
Тема интересная.

Купил, кстати, матрицу распаянных светодиодов 16*16 на гибкой подложке...

Попробую на ней что то сделать.
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

Увы, плейер концептуально не может поддерживать 256 светодиодов... не говоря уж о аппаратной платформе. Если эту матрицу разделить на 2 или 4 части, соединённые "параллельно", то можно неплохие эффекты реализовать, и DSM такой режим поддерживает (см. Клоны)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
GoldenAndy
Поставщик валерьянки для Кота
Сообщения: 1925
Зарегистрирован: Чт июл 28, 2016 07:58:37
Откуда: Kyiv, UA
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение GoldenAndy »

ARV, ну увы, резать матрицу я не буду.
Я купил вот такую
СпойлерИзображение
Ваш плеер - хорошая штука. Я его даже думал повторить. Но остановило отсутствие толпы светодиодов... И большой облом в их пайке.
А матрицу купил "по случаю" - коллега себе хочет лампу сделать от Алекса ГАйвера. Ну вот я с покупкой на хвост и упал.
Да и честно скажу, я люблю делать что то свое. Я могу подсмотреть идею, алгоритм, реализацию алгоритма. Но в основном я стараюсь сделать что то свое. Из вашего плеера я почерпнул идею управления адреской не ногодрыгом, а модулем SPI. Идея отложилась и лежит где то в подсознании.
Данная матрица - очередной повод поупражняться в изучении СТМ32. Там и памяти хватает, и DMA есть для выплевывания данных в адреску. Кстати, через SPI. Я еще не знаю, может повторю идею вышеупомянутой лампы Алекса Гайвера....
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]
Ответить

Вернуться в «AVR»