Я просто их не использую, они в основном не работают)) Иногда удается добиться работы подстройкой чувствительности, но потом опять они ломаются, вот сейчас на 4 более менее работает (вообще не использую его, ибо радость эпилептика), 5 льет красным в основном, но если выбирать почастотную версию, то все отрабатывает нормально, а вместе не очень, 6 работает почти нормально.А вот подскажите пожалуйста что делать с 6 режимом(вспыхивание по частотам), раньше он у меня начинал моргать когда я отключал не светящиеся диоды, когда возвращал обратно было норм(хоть как-то работало, а не тупо моргало), сейчас же ничего не помогает, ни сброс настроек, ни калибровка какая ниибудь и не прошивка, и помогите еще пожалуйста с 4-6 режимами, с этим чертовым НЧ(заливает все красным)...
Ха)) Действительно при беглом взгляде на код похоже, что Гайвер нам очередную "пасхалочку" оставил)) Там при определенных сочетаниях "яркости негорящих" и "шага уменьшения яркости" эффект уходит в рекурсию)))И тут задача для @Slenk, нарисовалась: когда я убавляю яркость фоновой подсветки в этом режиме (6), лента начинает моргать как на самовозбуждении, поднимаю яркость на пару пунктов и она нормально работает. Давно этот баг был, не понимал с чем он связан, наконец то нашел.
Поигрался я короче с тонами, не дают они толку ни какого, все равно заливает красным) вот без музыки вроде все нормально, но как только сложный сигнал так все красное. даже тарелочки когда играют на фоне толпы, то загорается только красные, как будто считает фронты сигнала, а сам сигнал не учитывает или маскирует.// низкие частоты, выборка со 2 по 5 тон (0 и 1 зашумленные!)
for (byte i = 2; i < 6; i++) { //2-6
можно попробовать начинать цикл с 3 или 4, 5. Тогда самые низкие низы перестанут всё забивать.
Или можно наставить разных коэффициентов для разных частот (как в чип-дип), но тут я на пальцах не объясню. И так далее.
И по хорошему вообще сузить этот "эквалайзер" с 32 до 16 (а то и до 8 как в чип-дип) полос, не совсем понимаю зачем нам эта "невероятная точность" с таким шагом, все равно ведь нифига нормально не работает, да и усредняется в итоге до 3 полос (кроме анализатора спектра). Но может конечно в этом и был какой-то смысл, хз.
if (running_flag[0]) leds[SPLIT_NUM_LEDS] = CHSV(color_arr[0], 255, thisBright[0]);
else if (running_flag[1]) leds[SPLIT_NUM_LEDS] = CHSV(color_arr[1], 255, thisBright[1]);
else if (running_flag[2]) leds[SPLIT_NUM_LEDS] = CHSV(color_arr[2], 255, thisBright[2]);
else leds[SPLIT_NUM_LEDS] = CHSV(EMPTY_COLOR, 255, EMPTY_BRIGHT);
а, теперь дошло, оно так и работает значит)) получается ждем когда будет 8 (я так понимаю точки который) и на основе его перепиливаем в 5? А может можно как то сделать что бы не перекрывало, а просто выводило то, что есть или все равно придется переделать весь код? Вообще во всех этих ЦМУ самое крутое это на основе перлина тот случайный 2.20 эффект нравится(который не должен был выйти в свет из теста@novvel, да там не "почему-то", там такой код:
То есть если БАСС присутствует в сигнале, то он его "рисует" на ленте и дальше уже ничего не проверяет. Если БАСС отсутствует, то код переходит к проверке средних и тд.C++:if (running_flag[0]) leds[SPLIT_NUM_LEDS] = CHSV(color_arr[0], 255, thisBright[0]); else if (running_flag[1]) leds[SPLIT_NUM_LEDS] = CHSV(color_arr[1], 255, thisBright[1]); else if (running_flag[2]) leds[SPLIT_NUM_LEDS] = CHSV(color_arr[2], 255, thisBright[2]); else leds[SPLIT_NUM_LEDS] = CHSV(EMPTY_COLOR, 255, EMPTY_BRIGHT);
Если поменять очерёдность: вместо 0-1-2 поставить 2-1-0, то соответственно проверка будет начинаться с высоких, как было в оригинале.
Но это как бы тоже не очень правильно. По хорошему надо допилить режим 8 и на его основе имитировать эти "бегущие частоты"
Можно по минимуму переделать. Выводить бас условно в 1-ом пикселе, средние во 2-ом, высокие в 3-ем. А в следующем такте сдвигать их не на один пиксел в сторону края, а через два. Таким образом каждая частота поедет по своей "полосе". Ну еще скорость отрисовски надо уменьшить в три раза, что бы компенсировать этот скачек. Это если по быстрому на костылях.а, теперь дошло, оно так и работает значит)) получается ждем когда будет 8 (я так понимаю точки который) и на основе его перепиливаем в 5? А может можно как то сделать что бы не перекрывало, а просто выводило то, что есть или все равно придется переделать весь код?
делаю так ничего не происходит,радуга горит,а лайн и микрофон нет.Хотя работает он микрофона.в настройках 1 - Моно (микрофон или одноканальный линейный)@SeverTV, все верно, алгоритм такой. Если "моно-стерео" = 0, то там помимо 8 диодов радугой, будут еще первые 4 диода гореть либо красным (лайн), либо зеленым (микрофон)
Вкладка 02, строка ~138когда я убавляю яркость фоновой подсветки в этом режиме (6), лента начинает моргать как на самовозбуждении, поднимаю яркость на пару пунктов и она нормально работает. Давно этот баг был, не понимал с чем он связан, наконец то нашел.
if (thisBright[i] >= 0) thisBright[i] -= SMOOTH_STEP;
if (thisBright[i] < EMPTY_BRIGHT) {
thisBright[i] = EMPTY_BRIGHT;
running_flag[i] = false;
}
if (thisBright[i] > (EMPTY_BRIGHT + SMOOTH_STEP)) thisBright[i] -= SMOOTH_STEP;
else {
thisBright[i] = EMPTY_BRIGHT;
running_flag[i] = false;
}
на видео у Александра (гайвера) именно так и сделано, припаяно прямо на ардуинетак не стоит делать, делай все как на рисунках у гайвера или в схемах других участников)) и еще я так понимаю слово "делитель" ничего не говорит? Нужно сигнал подавать не более 5в на вход, а у вас я так понимаю напрямую с акустики? Если это так, то надо сделать делитель хотя бы какой то на входе...