Обсуждаем контроллеры компании Atmel.
Ответить

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

Ср дек 25, 2019 19:54:35

А я не успел насладиться: на плату случайно ушло 220 и всему пришел писец. :facepalm: :cry: :kill:

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

Пт дек 27, 2019 08:35:47

:shock: Вот печалька.
Я вот свою все никак не могу доделать, в октябре-ноябре затянул, а теперь времени нет, просто катастрофа.

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

Пт дек 27, 2019 08:38:47

:shock: Вот печалька.

Не то слово.

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

Пт дек 27, 2019 19:37:30

Доброго!
ARV как всегда на высоте, схема заработала сразу (пока на макетной плате). Небольшие замечания: кратковременные подвисания (0,5 сек) при рандомной смене эффектов; светодиод включил через транзистор - так более заметно его мигание при смене эффектов. В целом - отлично. А ещё -собрал в корпусе DIGILIGHT, ждем возобновления проекта :beer:

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

Пт дек 27, 2019 19:57:17

подвисания связаны исключительно с временем доступа к SD-карте. не гонитесь за ее большим объемом, и заметных подвисаний быть не должно. но, конечно, если у вас много скриптов, и происходит перескок от начала к концу и обратно - задержка все-таки будет... хотя 0,5 сек - это как-то многовато...

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

Пт дек 27, 2019 20:45:40

Да, 2 Гб карточка явно избыточна здесь. Однако меньшего объёма найти в Митино не удалось. И ещё вопрос: назначение вывода 9. Я использую держатель микро-СД карты без дополнительного переключателя или экрана, просто пластмасса с 8-ю контактами, вот такая:
держатель.jpg
(61.86 KiB) Скачиваний: 230
. Эффекты с карты памяти воспроизводятся независимо от логического уровня на этом выводе (подавал +5В через резистор 10 кОм).

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

Пт дек 27, 2019 21:41:07

У мня моргает, все ~200 эффектов поместил на флешку, и рандом включил.
Спойлер
1 елочка как-то мало интересует, а вот украсить карниз дома, метров так 10..., еще вопрос - работают ли ws при отрицательной температуре -20 ... -30?
2 на счет тока, думаю здесь проблема будет если 200 светиков питать,
либо напряжение стабилизируем либо ток, если ток то просадка по напряжению будет, а напряжение можно снижать до минимального рабочего порога. Это то же вопрос? А тоненькие проводки ток в 2А...4А могут уже не выдержать, особенно в начале гирлянды.
3 плавные и неторопливые эффекты, у мня получается так что 30 секунд не хватает до завершения эффекта, 1 проход, надо этот момент как-то отслеживать.
ARV писал(а):вы это в казино на рулетке крупье скажите
У крупье рандом эффективнее работает.
Serzh2000 писал(а)::( не хорошо, однако :(
Куда уж там, примерно прикинул в екселе все ваши 25 эффектов перебираются так где-то за 100 "шагов".
И это не случайность, это последовательность.

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

Пт дек 27, 2019 23:01:08

SP634 писал(а):И ещё вопрос: назначение вывода 9.
вывод 9 замыкается на общий, если карта вставлена. этот факт позволяет программно отличить ситуацию, когда на карте нет файла от ситуации, когда нет самой карты. если прошло считывание файла конфигурации, то потом читаются только файлы скриптов и, если вынуть карту, может возникнуть ошибка чтения. а вот во время чтения файла конфигурации ошибка чтения не отличается от отсутствия карты... короче, если датчика наличия карты в слоте нет, проводок от 9-контакта надо посадить на общий - должно работать. правда Dimon456, сумел подправить так, что и без этого можно обходиться - я пока не трогал...
Dimon456 писал(а):на счет тока, думаю здесь проблема будет если 200 светиков питать
как показала практика, светики не потребляют 20 мА на кристалл, т.е. 60 мА при белом свечении. мои 100 светодиодов никогда не потребляют даже 2А. я использую обычный преобразователь питания мощностью около 10 Вт, и после вытыкания его из розетки эффекты еще секунды три продолжают работать - от заряда сетевого конденсатора. так что я сильно затрудняюсь сказать, какой же ток следует использовать в расчетах на 1 светодиод...
Dimon456 писал(а):А тоненькие проводки ток в 2А...4А могут уже не выдержать, особенно в начале гирлянды.
именно по этой причине я сразу предлагал делать гирлянду секциями, где сигнальныф провод идет цепочкой, а питание - блоками по 10 или 20 (или 50) светодиодов. этакая гребенка ШШШШШ, где основное питание снизу, а вверх - отводы. имнно так у меня и сделано
СпойлерИзображение

Dimon456 писал(а):плавные и неторопливые эффекты, у мня получается так что 30 секунд не хватает до завершения эффекта, 1 проход, надо этот момент как-то отслеживать.
это я не понял: вы же можете изменить длительность работы эффекта до прерывания принудительно... или сделать, как Serzh2000 - применять "конечный" цикл, а не бесконечный. наконец, можно переменным резистором количество повторов цикла задавать... но в принципе, что-то можно и кардинальное придумать...
Dimon456 писал(а):Куда уж там, примерно прикинул в екселе все ваши 25 эффектов перебираются так где-то за 100 "шагов".
И это не случайность, это последовательность.
интересно было бы узнать, как вы это сделали :) рандом у меня, конечно, не настоящий, не криптографического уровня. да и необходимость ограничивать выбор доступного тоже его случайность ухудшает. но лично у меня никогда не удавалось угадать, какой эффект (и каким цветом - они ведь тоже случайны!) будет следующим. так что в "человеческом" понимании моя закономерная случайность вполне себе случайна. не думаю, что от автомата световых эффектов требуется лучшая случайность.


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

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

Сб дек 28, 2019 08:03:09

ARV писал(а):это я не понял:
У вас в этом видео на 5-40, в общем переделывать все эффекты не вариант, надо как-то по другому.
ARV писал(а):интересно было бы узнать, как вы это сделали
А за чем предугадывать? Я просто в протеусе взял массив rang[0-100] = rnd(25) а потом екселе подсчитал, но не учел что функция rand() у вас используется чаще чем я ее вызывал.
Но да же и этот вариант показывает
Спойлер25 вызовов
Изображение
100 вызовов
Изображение
не посчитал число повторений
не нужен криптографический уровень, не нужна высокая случайность, но как-то не вариант 25 эффектов ждать 30-50 минут, пусть да же по 30 секунд на эффект.

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

Сб дек 28, 2019 09:11:10

Я не понимаю, что не так. Как бы вы хотели, чтобы 25 эффектов случайно отрабатывали? Имхо, случай в том и случай, что из 25 эффектов за час какой-то может и не выпасть ни разу...

Я долго бился с функцией rand, но так и не смог сделать лучше, чем сейчас. Если есть идеи по улучшению, готов обсудить.

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

Сб дек 28, 2019 10:57:22

ARV писал(а):Если есть идеи по улучшению, готов обсудить.
Есть вариант
Спойлер
Код:
uint8_t max_i 25 или сколько там параметр TF передал
 uint8_t rang[255];

     // Заполняем массив последовательными значениями от 0 до max_i
  for ( i = 0; i < max_i; i++)
  {
    rang[i] = i ;
  }

  for ( i = 0; i < max_i; i++)
  {
    // Генерируем случайно два индекса элементов
     ind1 = rand() % max_i;
     ind2 = rand() % max_i;
    // и меняем местами элементы с этими индексами
     temp = rang[ind1];
    rang[ind1] = rang[ind2];
    rang[ind2] = temp;
  }

- в ущерб оперативке, вариант что будет более 255 скриптов?

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

Сб дек 28, 2019 11:25:27

А потом последовательно по этому массиву воспроизводим скрипты?

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

Сб дек 28, 2019 18:07:00

Да.

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

Сб дек 28, 2019 18:36:29

Повесил матричную гирлянду на окно. Красота!
Большое спасибо Авторам устройства и скриптов!
У меня почему то упорно игнорирует первый светодиод, вначале он не горит, а потом на одном из скриптов загорается фиолетовым, так и горит до конца. Думал вышел из строя, поменял, тоже самое. Сильно переживать не стал, добавил 101-й в конец, все отлично.
Всех с наступающим Новым Годом!!!

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

Сб дек 28, 2019 19:02:46

dantist3 писал(а):У меня почему то упорно игнорирует первый светодиод
не правильно подключен транзистор, либо вообще не подключен.

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

Сб дек 28, 2019 19:06:23

Подскажите, лучше питание развести сверху или снизу? Наверное сверху будет логичнее, т.к. диаметр меньше и с одной точки (небольшого круга) и ветки гирлянды будут независимы, можно их корректировать, смещать по низу и закреплять их. А питающий провод провести вдоль ствола елки.

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

Сб дек 28, 2019 19:13:43

Подключил к данной матрице (он у меня на разъеме) блок от гирлянды Уважаемого Riniy, который запрограммирован на 60 светодиодов. В эффектах горизонтальные ряды синхронизируются и получаются красивые псевдоматричные эффекты.
Dimon456 Спасибо! Точно исток со стоком перепутал!

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

Сб дек 28, 2019 19:32:19

Да.

Сам по себе алгоритм представляется вполне хорошим, но он ограничивает количество скриптов... Я даже не уверен, что памяти хватит на 30... Так что пока торопиться не хочу с переделками.

Добавлено after 3 minutes 5 seconds:
Подскажите, лучше питание развести сверху или снизу? Наверное сверху будет логичнее, т.к. диаметр меньше и с одной точки (небольшого круга) и ветки гирлянды будут независимы, можно их корректировать, смещать по низу и закреплять их. А питающий провод провести вдоль ствола елки.

У меня именно так, причём каждая отдельная ветка на разъёме. Фотка была ранее под спойлером.

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

Сб дек 28, 2019 19:40:25

Про разъемы тоже думал, они будут не лишними.
Можно ссылку на фотку, если не затруднит

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

Сб дек 28, 2019 20:39:08

ARV писал(а):Сам по себе алгоритм представляется вполне хорошим, но он ограничивает количество скриптов... Я даже не уверен, что памяти хватит на 30... Так что пока торопиться не хочу с переделками.
А как такой вариант
СпойлерПишем свой rand()
Код:
uint16_t max_i 25 или сколько там параметр TF передал

 uint16_t rang[max_i]; // массив только для анализа в протеусе

unsigned long int r = 1;

uint16_t rnd3 (void) {
r = ((r * 7621) + 1) % max_i;
return r;
}

  for ( i = 0; i < max_i; i++)
  {
   rang[i] = rnd3() % max_i;
  }
Проверил до 400 скриптов, повторов нет
Ответить