ARDUINO Цветомузыка на MSGEQ7 и на фильтрах

Цветомузыка на MSGEQ7 и на фильтрах
ЦМУ на MSGEQ7. Также сюда добавляю второй проект ЦМУ на фильтрах.
ссылка на плату и схему https://oshwlab.com/technotrasher/colormusic
За год была проведена большая работа.
Итак ЦМУ на MSGEQ7.
1. Двухканальная схема. стерео.
2. Ручная регулировка шумов. предустановки шумов.
3. 7 режимов цму. в которых есть под-режимы.
4. 10 вариантов световых эффектов.
5. регулировки эффектов и режимов.
6. за "спектр" отвечают микросхемы MSGEQ7. достать рабочие сложно. (Купить более менее рабочие MSGEQ7 - по поиску на алиэкспресс "Модуль анализатора звука Aispark")
7. Аудио компрессор и система контроля клипинга взята тут - kompressor_SSM2167. прочтите обязательно, кто будет собирать.
8. описание режимов в начале скетча.
9. работа возможна с 300 светодиодами!
10. регулировка параметров с пульта и возможность сброса настроек "когда, что то нажал и все поломалось"
11. режим тишины с подсветкой (можно отключить), время срабатывания так же выставляется в скетче.
12 . Использованы статьи. тут для понимания работы MSGEQ7.
13. работа от микрофона. включается с пульта! на плате есть возможность отрегулировать чувствительность и время срабатывания микрофона.
14. режимы работы отображаются светодиодами на плате. на плате возможно механическое отсоединение сигнала с микрофона либо "байпас"
компрессора.
15. регулировка уровня входного сигнала линейным стерео потенциометром.
17. кнопки с платы убраны все, кроме переключения из ждущего режима. нужно для аварийного режима. если перестал работать пульт, а нужно включить хоть что то.
никаких энкодеров и т.д. скетч в первую очередь адаптировался под большую ленту. была битва за каждый байт и даже бит. и дорабатываться будет дальше.
18. Параметры сохраняются в память при отключении ЦМУ. в том числе режимы, шумы, настройки для режимов.
19. питание ленты обособлено от питания ардуино. вы не "сожжете" ардуино, забыв подключить внешний БП и программируя её через USB.
20.

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

Особая благодарность Евгению (Slenk) - он находил на меня пару минут на ответ и подсказку. я же подглядывал в его скетч и брал самое лучшее.
так же благодарность - Sergo_ST без его подсказок и терпеливых ответов на мои глупые вопросы скетч был бы намного "толще и тупее". и не факт, что работал бы.


Этап второй ЦМУ на фильтрах. проект делается совместно с poty
проект сложен для сборки.
что сделано - плата. бетта версия. постоянно вносятся изменения. часть отлажена и уже работает.
модуль сбора данных. частично отлажен. работа продолжается.
ЦМУ на фильтрах можно повторять. работает! плату можно заказывать. недавно были изменены некоторые номиналы конденсаторов в фильтрах.
плата доступна тут .
скетч colorMusic_v8_filter.rar
эффектов очень много. все описано вначале скетча. могу сказать, что есть эффекты от Лумазоид ЦМУ. :)
 

Вложения

Изменено:

Комментарии

Wadimchik

✩✩✩✩✩✩✩
1 Мар 2021
8
0
В роликах у Дейва в 3 частях. 99 % кода он пишет в видео с объяснениями.

Схема подключения, наверное, эта. Он писал, что при создании своего проекта, ориентировался на этот анализатор, схема которого, внизу.
 

Вложения

Геннадий П

★★★★★★✩
14 Апр 2021
1,963
632
44
@kostyamat, Обычный синтаксический сахар, такой же как и с математическими выражениями типа +=, -= и т.п.
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
платы собраны. проверены. дело теперь оптимизировать скетч. по нему такие планы - два варианта снятия сигнала. проверить вычитание шума. переписать на микролед. проверить обработку сигнала.
 

Вложения

  • Лойс +1
Реакции: poty и Slenk

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
@technotrasher, Микрофон так ставить нельзя, будет ловить вибрации платы и всей конструкции.
 

poty

★★★★★★✩
19 Фев 2020
3,220
938
@Diman, а откуда там вибрации? Там ничего движущегося или вибрирующего нет.
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
@Diman, а откуда там вибрации? Там ничего движущегося или вибрирующего нет.
есть там вибрации. все хорошо. микрофон будет установлен на штанге телескопической. с креплением через вибро-опору. это называется вброс. :)
а вот что я реально заметил - дорожки по которым идет частотный сигнал должны быть разведены по правилам. хоть там и всего до 16Кгц. нужные нам. поправил у себя ошибки. в плате с фильтрами надеюсь все верно сделано.
 

poty

★★★★★★✩
19 Фев 2020
3,220
938
Я к тому, что если речь идёт о вибрациях устройства, то их там нет.
Если о внешних воздействиях, то микрофон для того и нужен, чтобы их превращать в сигнал. Он будет это делать в любом случае. Развязка от опоры может быть как всей платы, так и отдельно микрофона.
На фильтры поступает сигнал после буфера, там влияние соседних дорожек - на уровне низа динамического диапазона.
 

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
@poty, Постучите по микрофону чтобы понять для чего демпфируют микрофон.
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
Вот странные люди... микрофон. а то что там говно потенциометр никого не колышет. который портил все, пока я его не дожал. а вообще там нужен нормальный. но его цена мне не понравилась.
 

poty

★★★★★★✩
19 Фев 2020
3,220
938
@Diman, покричите в комнате, где Вы будете Вашу цветомузыку подключать и выкиньте его вообще нафиг. Демпфирование микрофона хорошо (да и то - далеко не всегда), когда есть потом уши, чтобы услышать. Для ЦМУ - будет пара засветов, что с того?
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
подправил только конденсаторы в компрессоре. экспериментально проверил. резисторы подтяжки убрал еще.
 

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
@technotrasher, Там сигнальные входы компаратора висят без смещения. Надо по паре резисторов 36кОм (последовательно) на каждый инв. вход. Резистор на 15кОм в цепи подстроечника убрать (перемычка). Выставить разницу близкую к максимально допустимому амплитудному для входа MSGEQ7. Там ещё АРУ надо согласовывать (изменять схему чтобы не ловить милливольты с входного переменника).
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
Избыточное цитирование
@technotrasher, Там сигнальные входы компаратора висят без смещения. Надо по паре резисторов 36кОм (последовательно) на каждый инв. вход. Резистор на 15кОм в цепи подстроечника убрать (перемычка). Выставить разницу близкую к максимально допустимому амплитудному для входа MSGEQ7. Там ещё АРУ надо согласовывать (изменять схему чтобы не ловить милливольты с входного переменника).
так. теперь есть мысли верные по доработке. 15кОм - проверить легко. уберу проверю. остальное если не сложно ткните пальцем.
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
так. поподпаивал. убрал, проверил. все перестало работать вообще. а где АРУ нужно согласовывать не понимаю. его там нет нигде. все вернул на место. отлично система отображения уровня сигнала заработала снова. я ж верно ставил резисторы - после конденсатора на 10 Мкф. на входы компаратора. последовательно. так?
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
теперь понял. делал не правильно. протестирую. что ожидать следует? какое поведение?
 

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
@technotrasher, На подстроечнике выставить напряжение, выше напряжения инв. входов на величину близкую к максимально допустимому амплитудному для входа MSGEQ7.
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
ага. но изначально это делалось для ограничения для компрессора. вот по этой статье.
 

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
Непонятно зачем менять каналы местами при переключении на АРУ? К тому же при включении АРУ, сигнал надо уменьшать переменником на более 40дБ!!!! Компаратор может быть настроен на вход АРУ или MSGEQ7. Логичнее настраивать на АРУ, так как невозможно определить что на её входе из-за авто-регулировки, но в любом случае придется каждый раз долго мучится настраивая сигнал со входа ЦМУ уменьшая его до единиц милливольт для нормальной работы АРУ, что неизбежно накладывает кучу требований к деталям коммутации и регулировки, так-же и к разводке платы. Независимые АРУ будут выравнивать уровни и эффект "индикатор уровня" будет работать как от моно-сигнала (зачем тогда делать два канала???). Пытаться доработать изначально неправильно спроектированные схемы, это пустая трата времени.
 
Изменено:

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
итак. переписал код считывания с MSGEQ7 на ассемблер. стало намного точнее. с потенциометром разобрался. дожал его плоскогубцами и чудеса с скачками сигнала пропали. данные стали отличные и стабильные. проверил все генератором сигналов. все в меру допустимого. проблема шума соседних каналов на MSGEQ7 присутствует. но это их специфика. работа компрессора через ssm2167 - уменьшил компрессию подстроичным резистором. 5:1. усиление свел к минимум перемычкой. на входах MSGEQ7 все же конденсаторы нужны 0,1Мкф. не знаю как там теория - все подбирал практически. компаратор - повесил "соплями" резисторы. 15к - перемычка. стало еле работать. все же в статье по которой делал именно практически - все верно. все подтяжки к нулям и питаниям от дьявола. может где то. но не здесь. светодиоды отлично показывают "уровень" входного сигнала. но. без ssm - можно крутить и выше. когда канал "забивается" - это только слепой не увидит. горит вся лента. и все легко регулируется. буду тестировать отсечки на резких перепадах звука. переписал код включения выключения. было много лишнего наследия. переписываю модуль калибровки "шум". там такая глупость тоже была. продолжу работу с кодом. обдумываю алгоритм для работы платы на фильтрах. работа по чуть идет. благодарю помогающих.