ARDUINO Анализатор аудиоспектра. Обсуждение проекта

волк1988

✩✩✩✩✩✩✩
13 Фев 2021
26
1
Спасибо большое, ваш скетч на матрицу 14*20 у меня работает нормально как надо, а этот скетч уже с еффектоми да ? Спасибо ещё раз , вечером попробую
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
@волк1988, да, он с эффектами вот тот что сверху, но только первые эффекты починил, остальные в процессе, отписался автору, если разрешит, то выложу потом полный скетч в основную тему. По времени хз сколько надо будет мне.

В общем хотел выложить промежуточный итог, но все похерилось, надо все делать заново.....Должно работать по идее
 

Вложения

Изменено:

волк1988

✩✩✩✩✩✩✩
13 Фев 2021
26
1
загрузил скетч всё работает спасибо . а можно эффекты сделать авто прокрутка ?. например включил авто режим , нажал на кнопку выбрал режим и он играет постоянно.?
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
@волк1988, оно там есть, я его отключил по умолчанию, что бы не мешало отладке. Работают только режимы которые не делят по полам матрицу, пока не победил....
 

Вложения

волк1988

✩✩✩✩✩✩✩
13 Фев 2021
26
1
Подскажите пожалуйста ,а для Ардуино мега 2560 есть скетч для анализатора спектра?
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
@волк1988, должен и этот работать по идее, пины только переназначить, мега занята 3д принтером, проверить не могу.
 

волк1988

✩✩✩✩✩✩✩
13 Фев 2021
26
1
Я пробовал но выделяется ошибка, вот такая,
if (POTENT) analogReference(EXTERNAL);
else analogReference(INTERNAL);
 

bort707

★★★★★★✩
21 Сен 2020
2,859
850
@волк1988, тут нет ничего про ошибку, приведите точное сообщение компилятора (желательно не скриншотом, а текстом)
 

волк1988

✩✩✩✩✩✩✩
13 Фев 2021
26
1
@bort707, всё загрузилось нашел причину


if (POTENT) analogReference(EXTERNAL);
else analogReference(EXTERNAL);
написал EXTERNAL а было (INTERNAL); всё работает
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
@волк1988, это выбор опорного напряжения - на будущее. На меге оно пишется по другому немного, там нужно указать уровень. Не помню правда какой, гугл должен помочь. Внешний нужно самому выбрать, а внутренний он не изменен.

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

Вложения

волк1988

✩✩✩✩✩✩✩
13 Фев 2021
26
1
@novvel, ок всё работает спасибо, а можно сделать чтобы 1 эффект ( // Индикация с градиентной одноцветной заливкой столбиков) повторялось больше раз но в разных цветах, если нетрудно.
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
@волк1988, вряд-ли, цвета настраиваются в скетче, как высота так и сами цвета, внимательно изучи все настройки. МОжет потом сделают другие эффекты еще, там в топике писали, что есть еще версии прошивок в разработке.
 

Олег Поляков

★★✩✩✩✩✩
18 Янв 2022
77
88
www.1812.ru
Изначально модифицировал скетч Алекса Гайвера, не заморачиваясь на прямоугольные матрицы, поэтому косяки и повылезали. Большое спасибо за проделанную неблагодарную работу по устранению ошибок!

Демо всех режимов:
 
Изменено:
  • Лойс +1
Реакции: novvel

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
Надо все таки подобрать цвета у себя и расковырять какой нить монитор для матовой пленки. На матрице все таки лучше выглядит чем на ленте.
 
  • Лойс +1
Реакции: Олег Поляков

bort707

★★★★★★✩
21 Сен 2020
2,859
850
На матрице все таки лучше выглядит чем на ленте.
это вкусовщина, конечно, но я бы сказал наоборот. Из ленты можно сделать как матрицу, так и отдельные столбики или еще что, а матрица какая есть.
 

Владимир_1

✩✩✩✩✩✩✩
20 Фев 2022
1
0
Спасибо за проект. Как можно добавить в скетч ручную регулировку яркости потенциометром?
Есть ли проект в FLProg ?
 
Изменено:

keremgoceci

✩✩✩✩✩✩✩
23 Мар 2022
1
0
Привет,
BTN_PIN 3 другой конец будет подключен к GND.
Аналогично, POT_PIN 7 будет GND на другом конце.
Есть ли схема для этого?
Кроме того, эти коды будут работать на Arduino Mega?

Спасибо
 

Mikhail1302

✩✩✩✩✩✩✩
16 Дек 2018
6
1
Приветствую! Пытаюсь адаптировать прошивку под индикатор SCD5582. В принципе как показуха работает, но как прибор - нет. Некорректно отображаются частоты. Прилагаю скетч и фото. В чем может быть проблема? под чистую код не копировал, нет максимумов (ибо один сегмент - матрица 5*5), не делал усреднение между соседними столбцами. Но, как мне кажется, проблема кроется не в этом. При отсутствии сигнала - тишина, наводки не отображаются на индикаторе. Особенно интересно себя ведет на частотах 760 Гц, 1 кГц, 1,5 кГц, 3,5 кГц, 10 кГц, 16 кГц. Если важно - используется atmega168p
16 кгц.png760 гц.png
 

Вложения

Изменено:

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
@Mikhail1302, твой скетч не смотрел, но на эту тему немного ковырял, в этой теме есть мои скетчи с доработками, но придется выковырять код под свое количество частот и переделать под микрофон или задать смещение на входе резисторами самому, замерить и вписать значения в прошивку. Суть была в том, что бы полностью обработать синусоиду, а не половину как изначально в схеме. И в этой прошивке нужно обязательно подобрать свой список тонов под свое количество частот: https://community.alexgyver.ru/threads/analizator-audiospektra.31/post-63861

еще есть версии с отдельной микросхемой, но там всего 7 полос, либо 14 через костыли. И изначально это показометр, а не прибор, я смог добиться только отсутствия клонирования частот выше 8кгц по второму кругу вниз))
 
Изменено:

Mikhail1302

✩✩✩✩✩✩✩
16 Дек 2018
6
1
@novvel, у меня опорное напряжение от внутреннего источника 1,1 В, мне показалось, что разницы не должно быть. Звук прямо от выхода встроенной звуковухи компа, вряд ли там что-то больше вольта, особенно, если подключить наушники без усилителя. Список тонов я примерно выставил, но почему-то массив с величиной сигнала забивается неправильно, величина от одной частоты идет в "место" для другой. Полагаю, что атмега просто не успевает "сравнивать" значения сигнала с тем, что прописано в библиотеке. Может быть можно как-то повысить частоту дискретизации? В коде у гайвера есть ссылка на источник, я попробовал переписать оттуда другой пример, но все вообще сломалось и показометр не стал показывать вообще ничего.
 

poty

★★★★★★✩
19 Фев 2020
2,956
886
@Mikhail1302, опорное напряжение, про которое Вы говорите - это максимальное напряжение, оцифровываемое АЦП микропроцессора, к смещению на входе для сигнала это не относится никак.
Амплитуда напряжения с линейного выхода аудиокарты легко можно превышать 3В. Не стоит сравнивать с подключением наушников, так как сопротивление наушников существенно ниже входного сопротивления анализатора.
Обработка у Гайвера предполагает половину сигнала (и удвоение частоты из-за этого), поэтому, вероятно, что с полным сигналом она будет работать некорректно.

Добавка: можно ускорить АЦП за счёт снижения точности. Надо использовать прямое программирование через регистры, желательно с подключением прерывания по окончании обработки.
 
Изменено:
  • Лойс +1
Реакции: Mikhail1302

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
@Mikhail1302, Если на выходе ПК у тебя громкость на максимуме всегда, то да, пойдет и 1,1в, я то делал все настройки под микрофон, там в районе 0,25в выход и поэтому опорное другое выбрал и сделал на входе смещение, так точнее отрабатывает по частотам с генератора. Больше предложить не чего, разве что схемы с MSGEQ7, там вот уже будет большая точность показометра по разделению частот.
 
  • Лойс +1
Реакции: Mikhail1302

FerA

✩✩✩✩✩✩✩
7 Июн 2021
12
2
@novvel, Пленка Poli flex белая хорошо подошла, такую на ткань переносят термотрансфером
 
  • Лойс +1
Реакции: novvel