ARDUINO Цветомузыка на Arduino. Обсуждение проекта

Vova111

✩✩✩✩✩✩✩
13 Мар 2020
3
0
Но схему собрал точно такую же как в Алекса на сайте
 

viktor001

★✩✩✩✩✩✩
14 Окт 2019
113
36
Какую именно. У него несколько вариантов.
Попробуй другой источник сигнала и с более качественной записью. Громкость тоже влияет.
 

Vova111

✩✩✩✩✩✩✩
13 Мар 2020
3
0
Собрал ту что с микрофоном, но через линейный вход та же ситуация
 

SAn4Es_TV

✩✩✩✩✩✩✩
22 Сен 2019
7
1
У меня собрано по схеме ИК Пульт 3.5.

но без контакта А1
 

_ARS_

✩✩✩✩✩✩✩
15 Дек 2018
12
5
Парни привет!
решил запилить данный проект под себя. добавить энкодер и индикацию на тм1637. пульта не будет.
засада с энкодером. в какую сторону не кручу отрабатывается только та команда которая первая после enc1.tick();
такое ощущение что один вход вообще не реагирует. и как узнать какие таймеры у нас используются. так же нет вывода на индикатор даже в сетапе. но это уже вторая проблема, сначало нужно разобраться с энкодером. пробывал и в прерывании, и отдельно в loop. и на другие выводы не работает.

и как узнать используют ли биьлиотеки прерывания по таймерам или сами таймера?
 

NextPlay

✩✩✩✩✩✩✩
21 Апр 2020
17
0
Парни привет!
решил запилить данный проект под себя. добавить энкодер и индикацию на тм1637. пульта не будет.
засада с энкодером. в какую сторону не кручу отрабатывается только та команда которая первая после enc1.tick();
такое ощущение что один вход вообще не реагирует. и как узнать какие таймеры у нас используются. так же нет вывода на индикатор даже в сетапе. но это уже вторая проблема, сначало нужно разобраться с энкодером. пробывал и в прерывании, и отдельно в loop. и на другие выводы не работает.
Я бы не стал ставить энкодер. Если есть такое желание, то собрал бы свою собственную светомузыку. Тогда не было бы вопросов. Я это пишу не из-за какой то злобы :). Я просто тоже самое пытался сделать, что и вы. Понял, что код Гайвера лучше не переписывать, так как у него его скетч память Ардуинки занимает по максимуму. Поверьте, добавив меню+ энкодер+ триггеры+ дисплей+сумматоры строк= ваш скетч превысит емкость памяти Ардуино.....
 

_ARS_

✩✩✩✩✩✩✩
15 Дек 2018
12
5
все прописал, память не переполнилась. но ни дисплей не светиться не энкодер корректно не работает. нажатие работает и удержание. а вот поворот, куда не крути только в одну сторону работает

#define DIO 10 // ДИСПЛЕЙ
#define CLK 11 // ДИСПЛЕЙ
прописал в начале кода:
#include "GyverTM1637.h"
GyverTM1637 disp(CLK, DIO);
В сетапе:
disp.clear();
disp.brightness(7); // яркость, 0 - 7 (минимум - максимум)
disp.displayByte(_empty, _empty, _empty, _H);
delay(300);
disp.displayByte(_empty, _empty, _H, _E);
delay(300);
disp.displayByte(_empty, _H, _E, _L);
delay(300);
disp.displayByte(_H, _E, _L, _L);
delay(300);
disp.displayByte(_E, _L, _L, _O);
delay(300);
disp.displayByte(_L, _L, _O, _empty);
delay(300);
disp.displayByte(_L, _O, _empty, _empty);
delay(300);
disp.displayByte(_O, _empty, _empty, _empty);
delay(300);

ничего не показывает.

типа приветствия при включени цму)

если только этот код загрузить в ардуино без цму, то все работает нормально. в сетапе один раз выводиться, в лупе крутиться бесконечно
 

NextPlay

✩✩✩✩✩✩✩
21 Апр 2020
17
0
Вы дисплей подключили по I2C? Какие пины? Я из вашего кода не вижу привязки к дисплею. Как бы у вас в одном скетче два разных устройства не привязанных друг к другу... А меню? Как вы выбираете режимы? И что прописали в энкодере (для энкодера?). Как привязали?
 
Изменено:

_ARS_

✩✩✩✩✩✩✩
15 Дек 2018
12
5
#define CLK 3 // ПИН CLK ЭНКОДЕРА
#define DT 4 // ПИН DT ЭНКОДЕРА CLK и DT можно менять местами, чтобы инвертировать направление
#define SW 5 // ПИН SW ЭНКОДЕРА
пины подключения дисплея
#define DIO 10 // ДИСПЛЕЙ
#define CLK 11 // ДИСПЛЕЙ

Вы дисплей подключили по I2C? Какие пины? Я из вашего кода не вижу привязки к дисплею. Как бы у вас в одном скетче два разных устройства не привязанных друг к другу... А меню? Как вы выбираете режимы? И что прописали в энкодере (для энкодера?). Как привязали?
использовал библиотеки Алекса

я разделил режимы. т.е. у меня 4 режима.
1) все режимы которые относятся к ЦМУ т.е. миганию под музыку. Выбираются нажатием на 1-ю кнопку.
2) режим стробоскопа (кнопка 2)
3)режим подсветки(3 кнопка)
4) режим эффекты (4-я кнопка)
5-я кнопка это переключение микрофон / лин вход
индикация выбранногоо режима. это 5-ть светодиодов.
Это все работает
Энкодером в выбранном режиме меняет один параметр, нажали и крутим - второй (по аналогии с пульта стрелки вверх/вниз, влево / вправо)
долгое нажатие энкодера это глобальные настройки яркость ручная настройка шума и т.п.
на индикатор тупо выводим режим и номер программы в этом режиме, при изменении параметра выводим параметр.
такая у меня концепция была.
 

NextPlay

✩✩✩✩✩✩✩
21 Апр 2020
17
0
Ну помнится, что в своих видео Алекс говорил, что тоже хотел подключить энкодер (по моему 1 видео по светомузыке. Не помню уже) и он сказал, что это геморно.. типо нет времени.... И да, прошивка может не уместится. Овчинка выделки не стоит.... Чтоб разобраться в вашей проблеме нужно полностью посмотреть ваши изменения в скетче и вникнуть, а я сомневаюсь, что кто то поможет вам. Я лично бросил это дело по доработке светомузыке.... Ибо есть другие проекты. Тут модератор помочь может viktop001 - хотя очень сомневаюсь.....
 

_ARS_

✩✩✩✩✩✩✩
15 Дек 2018
12
5
очень уж мне хочется запилить ее под себя, так то интересная штука.
если не получиться то придется отказаться от энкодера и делать все на кнопках, кнопки то работают.
и разбираться с индикатором. Если уж Алекс в рисовалку картин умудрился его добавить, почему его сюда нельзя допилить)

Ну помнится, что в своих видео Алекс говорил, что тоже хотел подключить энкодер (по моему 1 видео по светомузыке. Не помню уже) и он сказал, что это геморно.. типо нет времени....
надо будет пересмотреть этот видос
 

NextPlay

✩✩✩✩✩✩✩
21 Апр 2020
17
0
Я пытался запилить вот на этом дисплее HD44780. На сегментном как то ....
 

_ARS_

✩✩✩✩✩✩✩
15 Дек 2018
12
5
а не подскажешь как посмотреть какие прерывания использует библиотека или скетч, если они вообще их используют? может идет какое то пересечение по библиотекам, поэтому работает не корректно. энкодер как бы работает но на половину. у меня используется 6 функций. поворот (влево вправо), поворот с нажатием, просто нажатие, и долгое нажатие. но поворот работает только в одну сторону в обоих случаях.
 

NextPlay

✩✩✩✩✩✩✩
21 Апр 2020
17
0
а не подскажешь как посмотреть какие прерывания использует библиотека или скетч, если они вообще их используют? может идет какое то пересечение по библиотекам, поэтому работает не корректно. энкодер как бы работает но на половину. у меня используется 6 функций. поворот (влево вправо), поворот с нажатием, просто нажатие, и долгое нажатие. но поворот работает только в одну сторону в обоих случаях.
Почитайте здесь на форуме, что писали ранее. По моему кто то тоже задавал этот вопрос и ему ответили.
 

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
Всем здрасте) Представляю своё видение данного проекта.
Сначала я написал целую простыню на два листа с подробным описанием, а потом решил, что оно никому не надо. Поэтому коротко.
Лента у меня 30 диодов на метр и длинной 102 диода. Жрет в максимальном режиме (белый) 1.7А. Скетч занимает 84% памяти. Приклеена под подоконником на балконе.
Изрядно переписал код (за основу взята прошивка от technotrasher, за что ему респект). Исправил ошибки, оптимизировал код, сделал более логичное меню (на мой взгляд), исправил несколько имеющихся и добавил с дюжину новых эффектов (все которые добавил - на видео), упростил схему (убрал диоды, кнопки и транзистор), добавил индикацию на саму ленту вместо диодов, добавил сброс настроек без перепрошивки. Если будет интерес, то распишу более подробно.
ПС. на фото модуль с Али, цена ~100 рублей, позволяет из высокоуровнего выхода (на колонки), сделать низкоуровневый (aux), а так же имеет независимую регулировку каналов. Аккуратно собран, имеет на борту все необходимое и не надо ничего колхозить.

 

Вложения

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

technotrasher

★★★★✩✩✩
14 Ноя 2019
508
227
вот сброс через кнопку очень бы хотелось! и да.. ждем схему и скетч!
 
  • Лойс +1
Реакции: Slenk

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
Имеет смысл удалить режимы ЦМУ на 3 и 5 каналов, так как выглядит примитивно и глупо. Можно добавить режим ЦМУ с "дешифратором", делать выборку двух частот и управлять четырьмя каналами (в зависимости от комбинаций, загорается один из каналов). Оптимальные частоты НЧ (200 - 300Гц) и СЧ (1 - 2кГц), определены в ходе экспериментов. Ещё можно для удобства некоторые редко-используемые (или часто-используемые) эффекты переместить на другие кнопки пульта.
 
  • Лойс +1
Реакции: technotrasher

technotrasher

★★★★✩✩✩
14 Ноя 2019
508
227
Имеет смысл удалить режимы ЦМУ на 3 и 5 каналов, так как выглядит примитивно и глупо. Можно добавить режим ЦМУ с "дешифратором", делать выборку двух частот и управлять четырьмя каналами (в зависимости от комбинаций, загорается один из каналов). Оптимальные частоты НЧ (200 - 300Гц) и СЧ (1 - 2кГц), определены в ходе экспериментов. Ещё можно для удобства некоторые редко-используемые (или часто-используемые) эффекты переместить на другие кнопки пульта.
отлично! удаляем эти режимы. и ждем Ваше предложение, что туда поставить! точнее скетч. а почему только СЧ, НЧ?
 

_ARS_

✩✩✩✩✩✩✩
15 Дек 2018
12
5
Всем здрасте) Представляю своё видение данного проекта.
Сначала я написал целую простыню на два листа с подробным описанием, а потом решил, что оно никому не надо. Поэтому коротко.
Лента у меня 30 диодов на метр и длинной 102 диода. Жрет в максимальном режиме (белый) 1.7А. Скетч занимает 84% памяти. Приклеена под подоконником на балконе.
Изрядно переписал код (за основу взята прошивка от technotrasher, за что ему респект). Исправил ошибки, оптимизировал код, сделал более логичное меню (на мой взгляд), исправил несколько имеющихся и добавил с дюжину новых эффектов (все которые добавил - на видео), упростил схему (убрал диоды, кнопки и транзистор), добавил индикацию на саму ленту вместо диодов, добавил сброс настроек без перепрошивки. Если будет интерес, то распишу более подробно.
ПС. на фото модуль с Али, цена ~100 рублей, позволяет из высокоуровнего выхода (на колонки), сделать низкоуровневый (aux), а так же имеет независимую регулировку каналов. Аккуратно собран, имеет на борту все необходимое и не надо ничего колхозить.

Хотелось бы посмотреть скетч и схему.
 
  • Лойс +1
Реакции: Slenk

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
отлично! удаляем эти режимы. и ждем Ваше предложение, что туда поставить! точнее скетч. а почему только СЧ, НЧ?
НЧ и СЧ определяют тип музыки, в них информации более чем достаточно для создания соответствующих музыке эффектов. Я не программист к сожалению.
 
Изменено:

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
Всем здрасте) Представляю своё видение данного проекта.
Сначала я написал целую простыню на два листа с подробным описанием, а потом решил, что оно никому не надо. Поэтому коротко.
Лента у меня 30 диодов на метр и длинной 102 диода. Жрет в максимальном режиме (белый) 1.7А. Скетч занимает 84% памяти. Приклеена под подоконником на балконе.
Изрядно переписал код (за основу взята прошивка от technotrasher, за что ему респект). Исправил ошибки, оптимизировал код, сделал более логичное меню (на мой взгляд), исправил несколько имеющихся и добавил с дюжину новых эффектов (все которые добавил - на видео), упростил схему (убрал диоды, кнопки и транзистор), добавил индикацию на саму ленту вместо диодов, добавил сброс настроек без перепрошивки. Если будет интерес, то распишу более подробно.
ПС. на фото модуль с Али, цена ~100 рублей, позволяет из высокоуровнего выхода (на колонки), сделать низкоуровневый (aux), а так же имеет независимую регулировку каналов. Аккуратно собран, на борту все необходимое и не надо ничего колхозить.

Дополнение:
Спасибо всем за проявлены интерес! Как обещал выкладываю подробности, а так же схему и скетч.
Убрал из схемы транзистор. У меня переключение с микрофона на линейный вход происходит обычным тумблером. Он же зажигает либо зеленый, либо красный светодиод и отключает питание микрофона аппаратно. Соответственно выпилил часть кода и освободил немного памяти. В итоге программно светодиодов и кнопок не задействовано.

Добавил аппаратную кнопку выключения питания, мне кажется не гоже БП быть постоянно под напряжением.

Задействовал китайский модуль преобразования высокоуровневого сигнала.
Исправил несколько ошибок, например, некоторый функционал был заявлен в инструкции, но по факту не был прописан в коде, либо был прописан неверно.

Удалил дублирующийся эффекты – радуга и смена цвета.

Удалил лишние функции, переменные и тд. Дописал нужные функции. Некоторые исправил. В некоторых местах значительно изменил структуру кода. Поменял вкладки и в целом попытался оптимизировать код. Теперь это больше похоже на единый проект, а не «Франкенштейн». В результате высвободилось процентов 10-15 памяти без потери функционала.
Добавил с дюжину эффектов и «пересобрал» управление всем этим хозяйством – на мой взгляд такое управление более интуитивное и логичное.

Добавил сброс на стандартные параметры (4 раза «ОК» в выключенном состоянии).

Добавил индикацию нажатия кнопок, а так же режима «Выключено» и режима «Настройки» на самой ленте (зачем паять и программировать дополнительные светодиоды если у нас и так есть +/- сотня диодов на ленте, да и наглядней так). «Выключено» - первый диод на ленте тускло мигает красным. «Настройки» - 6 первых диодов на ленте горят «радугой».

Подрежимы у меня переключаются «*» в одну сторону и «#» в другую.

Все одноцветные режимы собрал на кнопке «1».

Добавил туда просто белый с возможностью изменения температуры и яркости («ОК» - сбрасывает температуру). Затем идет один выбранный цвет. Затем плавная смена цвета. Добавил пульсацию случайным цветом и резкую смену на случайный цвет. Обидно, что даже на самых примитивных китайских контроллерах для обычных лент эти режимы есть, а тут не было.

Все «разноцветные» режимы на кнопке «2».

Поменял очередность. Чуть доработал «Радугу». Переписал сомнительный симметричный огонь из центра на более плавные и независимые огни с краёв, перевел на другое цветовое пространство, что дало ряд плюшек. И теперь можно менять цвет этих огней с пульта. На основе этого добавил эффект: «Лёд и Пламень» - с одной стороны натуральный, а с другой синий огонь и они типо борются между собой. Добавил «пестрящий» огонь – цвет так же можно менять. Добавил огонь на шуме Перлина и на его основе еще несколько эффектов: «Облака», «Бассейн», «Плазма» и тд., можно еще поиграться с параметрами и хоть десяток добавить, в памяти они ничего не занимают, лишь разные вводные для функции задаются. Цвета этих эффектов так же можно менять с пульта.

На кнопке «3» у меня стробоскоп, думаю добавить туда возможность смены цвета пультом.

Кнопки «4» - «8» - цветомузыка по частотам. В эти режимы изменения вроде не вносил, только порядок поменял. По-хорошему первые три можно объединить в один и освободить кнопки на пульте.

На кнопке «9» собрал режимы цветомузыки которые зависят от громкости – «Градиент», «Радуга» и добавил к ним «Огонь», цвет которого так же можно менять с пульта.

Кнопка «0» - включить/выключить. Но включить теперь можно нажатием на любую из цифр.

Кнопка «ОК» включает режим «Настройки», как и раньше. Но теперь ручная настройка чувствительности производится «*/#» для всех режимов цветомузыки, скетч сам поймет, что настраивать.
У меня тут лаундж, а не дискотека, поэтому упор делал на эффекты и в цветомузыку особо не лез. Возможно при других вводных надо будет что-то корректировать.
Программист я тот еще, всю учебу прогулял и проплатил, а данный текст и скетч писал преимущественно под газом, поэтому получилось, как получилось)))
В Вашей схеме использован 12 пин как сигнальный, будет ли он корректно отрабатывать передачу данных? Обычно используют ШИМ выход.