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
эффектов очень много. все описано вначале скетча. могу сказать, что есть эффекты от Лумазоид ЦМУ. :)
 

Вложения

Изменено:

Комментарии

Старик Похабыч

★★★★★★★
14 Авг 2019
4,251
1,297
Москва
@technotrasher, Глобальные переменные входят в 75%, в динамической памяти объявляются локальные, локальные статические переменные, стек, который увеличивается при каждой вложенной функции.
 

bort707

★★★★★★✩
21 Сен 2020
3,046
909
ладно. я понимаю - 328P. может загрузчик убрать и через ISP.
не путайте память для программ - флеш и память для переменныз - RAM. У вас нехватка RAM. а загрузчик позволяет экономить FLASH. Вам удаление загрузчика не поможет.
В вашем случае поможет оптимизация программы или переход на microLED
 
Изменено:

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
Избыточное цитирование. Отредактируй или сообщение будет удалено
да. как написать программу и потратить на неё мало памяти. последний раз я с этим сталкивался году так в 92... у БК было памяти поменьше чем в 328. сейчас буду изучать как освободить память. а что значит вложенная функция?

не путайте память для программ - флеш и память для переменныз - RAM. У вас нехватка RAM. а загрузчик позволяет экономить FLASH. Вам удаление загрузчика не поможет.
В вашем случае поможет оптимизация программы или переход на microLED
о! благодарю. уже прочитал про загрузчик. а вот microled - нужно проверять. некоторые тут считают, что это ничего не даст. хотя как по мне микролед проще? но им нужно уметь пользоваться. основной нюанс там в палитре. и в перлине эффекте. который все равно через фаст лед работает.
но скажу так - за ночь моих изысканий скетч на 100 светодиодах стал требовать
Скетч использует 22034 байт (68%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 924 байт (45%) динамической памяти, оставляя 1124 байт для локальных переменных. Максимум: 2048 байт.
работоспособность не потерянна. проверяю после каждого изменения все режимы.
один только баг никуда не девается. при изменении яркости больше 100 - byte BRIGHTNESS = 100; // яркость (0 - 255) для
FastLED.setBrightness(BRIGHTNESS);
пропадает "радуга"
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,251
1,297
Москва
@technotrasher,

ну вот к примеру этот код будет тратить меньше динамической памяти
C++:
void loop()
{
    Serial.println(100);
    delay(1000);
}
чем этот:
C++:
void loop()
{
    print100();
}
void print100()
{
    Serial.println(100);
    delay(1000);
}
 

bort707

★★★★★★✩
21 Сен 2020
3,046
909
microled - нужно проверять. некоторые тут считают, что это ничего не даст. хотя как по мне микролед проще? но им нужно уметь пользоваться. основной нюанс там в палитре. и в перлине эффекте
основной нюанс там в том, что микролед можно настроить на использование двух байтов памяти на каждый светик ленты, а фастлед всегда использует три и даже четыре. Вот это имеет прямое отношение к вашей проблеме, а палитры и эффекты это мелочи
 
  • Лойс +1
Реакции: technotrasher

technotrasher

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

bort707

★★★★★★✩
21 Сен 2020
3,046
909
Сорри, с практическими у меня плохо, когда места в памяти не хватает, я просто беру мк побольше
 
  • Ахах! +1
Реакции: technotrasher

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
При получении сигнала с пульта, библиотека IRLremote - получается как бы дребезг - информация принимается по два раза. один раз распознана, второй раз нет. есть ли возможность подправить?
 

Shock Ta

✩✩✩✩✩✩✩
16 Дек 2021
19
9
Доброго времени. С нетерпением жду версию на фильтрах. Собрать сложнее может ( для меня не проблемма) но зато доступнее так как купить реально рабочую MSGEQ7 - вотэто проблеМММа! Спасибо за то что делаете такое хорошее дело!
 

poty

★★★★★★✩
19 Фев 2020
3,220
938
@Shock Ta, так а что мешает? Схема есть. Плату развести не проблема.
Кроме того, @bort707 предложил практически полный аналог MSGEQ7.
 

technotrasher

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

bort707

★★★★★★✩
21 Сен 2020
3,046
909
@technotrasher, а чего могло повылазить, если никто не делал? Или я что-то пропустил?
Но я уже понял, что пока вам готовую конструкцию не покажешь - никто не решится сам собрать, только готовое повторять умеете :) Один человек на msgeq7 собрал - вот все и копируют.

Ладно, может и соберу вам образец на ва3834, чтоб было что повторять:)
 
  • Лойс +1
Реакции: technotrasher

Shock Ta

✩✩✩✩✩✩✩
16 Дек 2021
19
9
Извените если не совсем вас понял.
Схема та что по сслыке в шапке - ссылка на плату и схему https://oshwlab.com/technotrasher/colormusic ?
Я думал что как то обойдется без MSGEQ7. На али модулей анализатора звука Aispark уже не находится.
Да еще может имеет смысл делать не цельнцю плату а собирать отдельно модульно так сказать. Так проще модернизировать в дальнейшем. Но это моё субъективное мнение.
 

Shock Ta

✩✩✩✩✩✩✩
16 Дек 2021
19
9
схема на ОУ - в этой ветке
Спасибо. Изучу !!!

Ладно, может и соберу вам образец на ва3834, чтоб было что повторять
Собирите пожалуйста! Я к сожаленгию не обладаю такими познаниями что бы все самому срукоблудить. Но качественно скопировать я могу. Очень хочу повторить. Давняя мечтаиз юности собрать домой цветомузыку, но теперь на современныъ решениях.
Спасибо что есть такие люди как здесь на форуме - умные любопытные и не жмоты (которые делятся такими интересными проэктами) Низкий Вам поклон!
 

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
Избыточное цитирование. Отредактируй или сообщение будет удалено
@technotrasher, а чего могло повылазить, если никто не делал? Или я что-то пропустил?
Но я уже понял, что пока вам готовую конструкцию не покажешь - никто не решится сам собрать, только готовое повторять умеете :) Один человек на msgeq7 собрал - вот все и копируют.

Ладно, может и соберу вам образец на ва3834, чтоб было что повторять:)
повылазило у меня в схеме с MSGEQ7 и с фильтрами. это называется нормальная разработка с устранением багов. если один режим работает - это не значит, что работают остальные. у меня, например только ЦМУ 7 режимов. с 12 подрежимами!!!!!!! не считая подсветок и все остального. это все должно работать. а на плату с ва3834 - уже готов скетч? интересно бы глянуть обработку сигнала. которую потом можно уже "скармливать" обработчиками для режимов ЦМУ. в самой плате, например у меня те части, которые ожидалось заработают сразу - оказались не рабочими. и т.д. а в теории все работает! и да. все и должны копировать. потому что кто ещё тут готов потратить немного денег - элементы и заказ плат (уже третий заказ будет баксов 50 уже только так ушло) и время. сколько времени то ушло. а я ещё на 6 работах работаю. поэтому, уж лучше один делает и остальные повторяют, если смогут. даже в готовом девайсе простор для творчества огромный. а вообще так сказать на разработку ЦМУ потрачено около 200 у.ё. и года полтора по времени. конечно тут все такое сделают за ночь. и скетч напишут за пару часиков. у меня так не вышло.

Спасибо. Изучу !!!
не тратьте время в пустую. если данные знания не пригодятся в дальнейшем. подождите - я все сделаю. будет готовая и отлаженная. на MSGEQ7 скетч отлажен. хотя сегодня поймал ошибку забавную и мелочную - не там единичка вычитаась :). плату сейчас доотлаживаю. оказалось все не так просто, что в теории все было просто. и кстати BA3834 с алиэкспресса оказались не рабочими. SSM2167 - туда же. две из 5.
 

bort707

★★★★★★✩
21 Сен 2020
3,046
909
Скетч и схему собрал за вечер, выкладывал уже дважды.
Если честно, просто кто-то пишет код, а кто-то повторяет, по другому никак.

@technotrasher, в вашем случае мне кажется из-за отсутствия опыта вы очень много времени тратите на мелочи, которые того не стоят.
 
Изменено:

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
Избыточное цитирование
@technotrasher, в вашем случае мне кажется из-за отсутствия опыта вы очень много времени тратите на мелочи, которые того не стоят.
да. к сожалению опыта нет. я не программист и не схемотехник. всего по чуть. а можно скетч? я имею ввиду не тот огрызок, что у Вас, а полный скетч ЦМУ. а мелочи стоят всего. например, мне нужен оптимизированный код. что бы я мог добавить максимальное кол-во светодиодов. каждый режим должен быть проверен. работа от линейного входа или от микрофона. как это переключать. компрессор. переключение между компрессором и "байпасом". автокоррекция громкости и т.д. Я называю проектом - схема. плата. скетч. описание.
 

Вложения

  • 79.2 KB Просмотры: 65
Изменено:

bort707

★★★★★★✩
21 Сен 2020
3,046
909
Оптимизировать имеет смысл в случае недостатка ресурсов, просто ради красоты код не оптимизируют. В моем случае ресурсов с избытком, я пишу под стм32
@technotrasher, код ваш не смотрел, Честно говоря не понимаю, что такого можно напихать в код ЦМУ, чтобы получить прошивку 87к. Вспоминаю умельца, который хвастал электронными часами с кодом в 6000 строк, в то время как у меня было всего 300. Конечно, у него там была куча разных возможностей, типа расцвечивание каждого пикселя разными цветами в зависимости от фазы луны...а мои часы всего лишь показывали время. Но нужно ли это все украшательство в любительском проекте - это вопрос.
Говоря о том, что новички часто зацикливаются на мелочах - я имел в виду именно это - вот эти десятки ненужных бантиков и рюшечек на коде. Подумайте, не поэтому ли у вас код настолько раздулся.
Считаю, что хотеть угодить каждому - бессмысленно, лучше выпустить короткий простой код через неделю, чем выписывать "вавилонскую башню" пару лет.
Я против создания "проектов на века", особенно новичками. Я пишу короткие проекты с минимумом опций. Главное - задать направление. Поэтому в ветке про ва3834 я выложил " огрызок кода" и считаю, что этого довольно. Те, кому этого мало - пусть дописывают сами что хотят.
 
Изменено:

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
типичный подход индусов. и главное костылей побольше. и ещё больше. чтоб тестировщик проклинал. в 96 году считалось - код должен быть красивым. вообще, все должно быть красивым, и вот дядя Кнут считал так же и нам завещал. а натащить эффектов... теперь понятно почему nero из 40 Мб стало 650 Мб. да STM это круто. на все хватит. кто готов это все перетащить в stm? кто готов не ардуино за 10 у.ё. использовать а за 50 у.ё. stm.
и не главное алгоритм работы с данными. я тоже так считал. ага. а где у вас работа с шумами? как их будем вычитать? и когда. а может их там нет?
 

bort707

★★★★★★✩
21 Сен 2020
3,046
909
С учетом того, что вы "не программист" , а я пишу более 20 лет - сдается мне, что я даже "на коленке" пишу более красивый код, чем ваш после оптимизации. Что касается цены стм - stm32f103 с памятью в 20к( в 2.5 раза больше Меги) - вдвое ее дешевле

На этом заканчиваю, ловите свои шумы еще два года, может кто-то и дождется
 
  • Лойс +1
Реакции: SKORP

technotrasher

★★★★✩✩✩
14 Ноя 2019
510
227
так напишите. сделайте проект. вот все могут и никто не хочет. вот я дилитант и делаю. вкладываю в это деньги и время. зная, что это особо то никому и не нужно. единственный проект, который я нашел это от Лумазойд. все. остальные поделки на коленке. нужно будет ещё два года - не проблема. по чуть по чуть. мне интересно - я делаю.
да. STM32F103T8U6 - 13у.ё. согласен. хватило бы на все. но! проект стал бы сложнее для тех, кто хочет что то в нем поменять. а хочется получить поект - читаемый. чтобы кто то учился. и разбирал что либо. я например - оставлял коментированные строки и им сопоставлял строки с работой с портами. чтобы было наглядно. может кому пригодится такое.
кстати если сделаете проект на stm и на BA3834 - вот это будет круто! если пишите больше 20 лет - вам это на минут пять же!
 

bort707

★★★★★★✩
21 Сен 2020
3,046
909
@technotrasher, прошу прощения, обидеть не хотел. Я вполне понимаю, что от моей идеи до полноценной ЦМУ еще очень большой путь. Но меня эта тема не очень интересует.
Я отыскал ва3834 только из чувства противоречия, потому что кто-то сказал( возможно это даже были вы) , что,мол, аналогов у msgeq7 нет. Я подумал, что такого не может быть, что аналог наверняка есть... и нашел его, потратив в гугле 15 минут. Потом я заказал ее на Али, дождался и собрал схему, убедился что все работает. Я доказал самому себе, что прав. Для меня эта тема на этом исчерпана.
Предпочитаю тратить время на то, что для меня интересно.У меня есть другие проекты, в которые я вкладываю силы и деньги.
 
  • Лойс +1
Реакции: technotrasher

technotrasher

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

kamen987

✩✩✩✩✩✩✩
25 Апр 2022
1
0
Всем привет, я к сожалению совсем новичек в ардуино и мало что понимаю, но ни одна прошивка с этого проекта не работает кроме реакции на пульт (включение и выключение красного диода), на других проектах, ЛЕД не святятся. Или у меня очень кривые руки.
Предыдущии прошивки с кучей ошибок заливаются, но не работают, апоследняя даже не заливается, ругается на код в функции setup.
Нужно как то декларировать переменую или функцию, к сожалению не понимаю на столько глубоко.
Я микросхему LM309DRG4 не устанавливал, как и SSM2167, микрофоный модуль тоже, только две MSGEQ7 (они рабочии, на других прокетах работают). Вроде без миктофона, ЛЕД-клип функции и компрессоров должно тоже работать или я не прав?
Когда заораются зеленыйм синий, оранжевый светодоиды - они молчат как партизаны, только красный работает ( в первых двух прошпивках работал и зеленый) от кноки или пульта.

error:
Arduino: 1.8.19 (Windows 10), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino: In function 'bool timer_func(int)':

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:336:40: warning: default argument given for parameter 1 of 'bool timer_func(int)' [-fpermissive]

bool timer_func (int val = effect_delay) {    // Таймер общий

                                        ^

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:315:6: note: previous specification in 'bool timer_func(int)' here

bool timer_func (int val = effect_delay);

      ^~~~~~~~~~

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino: In function 'void updateEEPROM()':

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:473:25: warning: invalid conversion from 'Settings*' to 'uint16_t {aka unsigned int}' [-fpermissive]

   EEPROM_UpdateBlock(1, &mainSettings, sizeof(mainSettings));

                         ^~~~~~~~~~~~~

In file included from F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:274:0:

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\EEPROM.h:15:6: note:   initializing argument 2 of 'void EEPROM_UpdateBlock(uint8_t, uint16_t, uint8_t)'

void EEPROM_UpdateBlock(uint8_t addr, uint16_t data, uint8_t sizeData) //обновление блока в EEPROM

      ^~~~~~~~~~~~~~~~~~

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino: In function 'void readEEPROM()':

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:478:23: warning: invalid conversion from 'Settings*' to 'uint16_t {aka unsigned int}' [-fpermissive]

   EEPROM_ReadBlock(1, &mainSettings, sizeof(mainSettings));

                       ^~~~~~~~~~~~~

In file included from F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:274:0:

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\EEPROM.h:29:6: note:   initializing argument 2 of 'void EEPROM_ReadBlock(uint8_t, uint16_t, uint8_t)'

void EEPROM_ReadBlock(uint8_t addr, uint16_t data, uint8_t sizeData) //чтение блока из EEPROM

      ^~~~~~~~~~~~~~~~

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\remoteTick.ino: In function 'void remoteTick()':

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\remoteTick.ino:17:31: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'uint16_t {aka unsigned int}' [-fpermissive]

         EEPROM_UpdateBlock(0, &st, sizeof(st)); //в 0 ячейку пишем нуль для отметки о первом запуске

                               ^~~

In file included from F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:274:0:

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\EEPROM.h:15:6: note:   initializing argument 2 of 'void EEPROM_UpdateBlock(uint8_t, uint16_t, uint8_t)'

void EEPROM_UpdateBlock(uint8_t addr, uint16_t data, uint8_t sizeData) //обновление блока в EEPROM

      ^~~~~~~~~~~~~~~~~~

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\setup.ino: In function 'void setup()':

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\setup.ino:41:23: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'uint16_t {aka unsigned int}' [-fpermissive]

   EEPROM_ReadBlock(0, &st, sizeof(&st));

                       ^~~

In file included from F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:274:0:

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\EEPROM.h:29:6: note:   initializing argument 2 of 'void EEPROM_ReadBlock(uint8_t, uint16_t, uint8_t)'

void EEPROM_ReadBlock(uint8_t addr, uint16_t data, uint8_t sizeData) //чтение блока из EEPROM

      ^~~~~~~~~~~~~~~~

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\setup.ino:45:27: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'uint16_t {aka unsigned int}' [-fpermissive]

     EEPROM_UpdateBlock(0, &st, sizeof(st));

                           ^~~

In file included from F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line.ino:274:0:

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\EEPROM.h:15:6: note:   initializing argument 2 of 'void EEPROM_UpdateBlock(uint8_t, uint16_t, uint8_t)'

void EEPROM_UpdateBlock(uint8_t addr, uint16_t data, uint8_t sizeData) //обновление блока в EEPROM

      ^~~~~~~~~~~~~~~~~~

setup:53:3: error: 'PRR' was not declared in this scope

   PRR &= ~(1 << PRADC);

   ^~~

F:\colorMusic_v7_Effect_Mic_and_Line\colorMusic_v7_Effect_Mic_and_Line_last\colorMusic_v7_Effect_Mic_and_Line\setup.ino:53:3: note: suggested alternative: 'PRR0'

   PRR &= ~(1 << PRADC);

   ^~~

   PRR0

exit status 1

'PRR' was not declared in this scope



Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
хочу добавить, попробовал на клоне ардуино нано, там скетчи прошиваются без проблем, только последняя версия в шапке нерабочая.
В общем проблема с ардуино мега.

Последняя рабочая то 31 Дек 2021, предыдущие тоже работают.
Последняя из шапки - моргает все и красный диод моргает и ничего не работает, на ничего не реагирует.
К сожалению при эксперементах померла одна MSGEQ7, к счастью была запасная, только не вижу реального смысла в это проекте в двух микросхемах.
Извините если кого обидел этими словами.

Я досих пoр не попимаю как работает вся система, описание пульта мне не понятно ( в начале нажмите кнопку один раз - какую?), как влючить режим Line In навсегда? Но похоже она без функции, как отключить микрофон навсегда? Мне он нe нужен, почему используется две MSGEQ7, но высокие частоты не снимаются? При нажатии кнопки ок 4 раза, меняются режимы и не всегда получается сделать авторегулировку шума.
В общем куча вопросов, управление сложное, много функций. Несколько эффектов не имеющих с музыкой ничего общего.
Что значит когда горит только зеленый диод или когда горят красный и зеленый?
Кнопка физическая ничего не изменяет, хотя по светодиоду на ардуино видно, что команду нажатия отрабатывает.

Спасибо за работу, хотелось поглубже изучить тему и зделать свое, попроще.
Еще раз изивните если кого задел, но куча вопросов и хотелось бы разобраться.

Спасибо за проект!

P.S.
Работает только одна частота 63герца. Так и должно или калибривавание неверное? На все другие частоты VU-Meter не реагирует.
MSGEQ7 в порядке, подключение верное.

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

Я внимательно изучил инфу... теперь о "кривости рук".. похоже не у меня одного ;)

Проблема начинается со схемы
Там указано стробе левого канала пин d5, а на самом деле D6

а прошивке стоит
//////// MSGEQ7 ////////
#define STROBE_R 5 // вывод STROBE MSGEQ7 правый канал --> в схеме левый канал
#define RESET_R 3 // вывод RESET MSGEQ7 правый канал --> в схеме левый канал
#define STROBE_L 6 // вывод STROBE MSGEQ7 левый канал --> в схеме правый канал
#define RESET_L 7 // вывод RESET MSGEQ7 левый канал --> в схеме правый канал

Не удивительно, что одна микросхема сгорела (сам виноват, перетыкал на "горячую").
Я сперва собрал по схеме, залил прошивку и ничего.
Потом начал разбираться и в последний раз собирал по указаным пинам в прошивке, a схему все же на сайте или прошивку надо править!!!
Там каналы стробе и ресета левого и правого канала перепутаны, аналоговые входы в порядке.
При работе линейного входа с двух каналов думаю работать все будет (мой случай), а вот с микрофоном проблемы должны быть заметны.

После правильной сборки, все прошивки до предпоследней включительно заработали, но с багами, cкорей всего мои кривые руки,не смог разобраться в настройках.
Пульт отрабатывает все четко. Но при нажатии физической кнопки ON/OFF ничего не происходит.
Только на самой ардуино диод срабатывает, но на макетной плате ни один диод не реагирует.

При заливке последней прошивки - мигает красный диод, мигает вся LED лента, ни на что не реагирует.
Я допускаю, что где то делаю ошибки, поэтому и обратился за помощью.
спасибо за ответ, буду дальше разбираться, где косяк.(y)

P.S.
Поправка, проблема у меня с предпоследней версии начинается, т.е. две последних прошивки не работают, сейчас сниму видео, что бы не быть голословным.

P.S.S.
 
Изменено: