Ср дек 25, 2019 19:54:35
Пт дек 27, 2019 08:35:47
Пт дек 27, 2019 08:38:47
Пт дек 27, 2019 19:37:30
Пт дек 27, 2019 19:57:17
Пт дек 27, 2019 20:45:40
Пт дек 27, 2019 21:41:07
У крупье рандом эффективнее работает.ARV писал(а):вы это в казино на рулетке крупье скажите
Куда уж там, примерно прикинул в екселе все ваши 25 эффектов перебираются так где-то за 100 "шагов".Serzh2000 писал(а)::( не хорошо, однако
Пт дек 27, 2019 23:01:08
вывод 9 замыкается на общий, если карта вставлена. этот факт позволяет программно отличить ситуацию, когда на карте нет файла от ситуации, когда нет самой карты. если прошло считывание файла конфигурации, то потом читаются только файлы скриптов и, если вынуть карту, может возникнуть ошибка чтения. а вот во время чтения файла конфигурации ошибка чтения не отличается от отсутствия карты... короче, если датчика наличия карты в слоте нет, проводок от 9-контакта надо посадить на общий - должно работать. правда Dimon456, сумел подправить так, что и без этого можно обходиться - я пока не трогал...SP634 писал(а):И ещё вопрос: назначение вывода 9.
как показала практика, светики не потребляют 20 мА на кристалл, т.е. 60 мА при белом свечении. мои 100 светодиодов никогда не потребляют даже 2А. я использую обычный преобразователь питания мощностью около 10 Вт, и после вытыкания его из розетки эффекты еще секунды три продолжают работать - от заряда сетевого конденсатора. так что я сильно затрудняюсь сказать, какой же ток следует использовать в расчетах на 1 светодиод...Dimon456 писал(а):на счет тока, думаю здесь проблема будет если 200 светиков питать
именно по этой причине я сразу предлагал делать гирлянду секциями, где сигнальныф провод идет цепочкой, а питание - блоками по 10 или 20 (или 50) светодиодов. этакая гребенка ШШШШШ, где основное питание снизу, а вверх - отводы. имнно так у меня и сделаноDimon456 писал(а):А тоненькие проводки ток в 2А...4А могут уже не выдержать, особенно в начале гирлянды.
это я не понял: вы же можете изменить длительность работы эффекта до прерывания принудительно... или сделать, как Serzh2000 - применять "конечный" цикл, а не бесконечный. наконец, можно переменным резистором количество повторов цикла задавать... но в принципе, что-то можно и кардинальное придумать...Dimon456 писал(а):плавные и неторопливые эффекты, у мня получается так что 30 секунд не хватает до завершения эффекта, 1 проход, надо этот момент как-то отслеживать.
интересно было бы узнать, как вы это сделали рандом у меня, конечно, не настоящий, не криптографического уровня. да и необходимость ограничивать выбор доступного тоже его случайность ухудшает. но лично у меня никогда не удавалось угадать, какой эффект (и каким цветом - они ведь тоже случайны!) будет следующим. так что в "человеческом" понимании моя закономерная случайность вполне себе случайна. не думаю, что от автомата световых эффектов требуется лучшая случайность.Dimon456 писал(а):Куда уж там, примерно прикинул в екселе все ваши 25 эффектов перебираются так где-то за 100 "шагов".
И это не случайность, это последовательность.
Сб дек 28, 2019 08:03:09
У вас в этом видео на 5-40, в общем переделывать все эффекты не вариант, надо как-то по другому.ARV писал(а):это я не понял:
А за чем предугадывать? Я просто в протеусе взял массив rang[0-100] = rnd(25) а потом екселе подсчитал, но не учел что функция rand() у вас используется чаще чем я ее вызывал.ARV писал(а):интересно было бы узнать, как вы это сделали
Сб дек 28, 2019 09:11:10
Сб дек 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;
}
Сб дек 28, 2019 11:25:27
Сб дек 28, 2019 18:07:00
Сб дек 28, 2019 18:36:29
Сб дек 28, 2019 19:02:46
не правильно подключен транзистор, либо вообще не подключен.dantist3 писал(а):У меня почему то упорно игнорирует первый светодиод
Сб дек 28, 2019 19:06:23
Сб дек 28, 2019 19:13:43
Сб дек 28, 2019 19:32:19
Сб дек 28, 2019 19:40:25
Сб дек 28, 2019 20:39:08
А как такой вариантARV писал(а):Сам по себе алгоритм представляется вполне хорошим, но он ограничивает количество скриптов... Я даже не уверен, что памяти хватит на 30... Так что пока торопиться не хочу с переделками.
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;
}