Парни привет!
решил запилить данный проект под себя. добавить энкодер и индикацию на тм1637. пульта не будет.
засада с энкодером. в какую сторону не кручу отрабатывается только та команда которая первая после enc1.tick();
такое ощущение что один вход вообще не реагирует. и как узнать какие таймеры у нас используются. так же нет вывода на индикатор даже в сетапе. но это уже вторая проблема, сначало нужно разобраться с энкодером. пробывал и в прерывании, и отдельно в loop. и на другие выводы не работает.
и как узнать используют ли биьлиотеки прерывания по таймерам или сами таймера?
Парни привет!
решил запилить данный проект под себя. добавить энкодер и индикацию на тм1637. пульта не будет.
засада с энкодером. в какую сторону не кручу отрабатывается только та команда которая первая после enc1.tick();
такое ощущение что один вход вообще не реагирует. и как узнать какие таймеры у нас используются. так же нет вывода на индикатор даже в сетапе. но это уже вторая проблема, сначало нужно разобраться с энкодером. пробывал и в прерывании, и отдельно в loop. и на другие выводы не работает.
Я бы не стал ставить энкодер. Если есть такое желание, то собрал бы свою собственную светомузыку. Тогда не было бы вопросов. Я это пишу не из-за какой то злобы . Я просто тоже самое пытался сделать, что и вы. Понял, что код Гайвера лучше не переписывать, так как у него его скетч память Ардуинки занимает по максимуму. Поверьте, добавив меню+ энкодер+ триггеры+ дисплей+сумматоры строк= ваш скетч превысит емкость памяти Ардуино.....
все прописал, память не переполнилась. но ни дисплей не светиться не энкодер корректно не работает. нажатие работает и удержание. а вот поворот, куда не крути только в одну сторону работает
Вы дисплей подключили по I2C? Какие пины? Я из вашего кода не вижу привязки к дисплею. Как бы у вас в одном скетче два разных устройства не привязанных друг к другу... А меню? Как вы выбираете режимы? И что прописали в энкодере (для энкодера?). Как привязали?
Вы дисплей подключили по I2C? Какие пины? Я из вашего кода не вижу привязки к дисплею. Как бы у вас в одном скетче два разных устройства не привязанных друг к другу... А меню? Как вы выбираете режимы? И что прописали в энкодере (для энкодера?). Как привязали?
я разделил режимы. т.е. у меня 4 режима.
1) все режимы которые относятся к ЦМУ т.е. миганию под музыку. Выбираются нажатием на 1-ю кнопку.
2) режим стробоскопа (кнопка 2)
3)режим подсветки(3 кнопка)
4) режим эффекты (4-я кнопка)
5-я кнопка это переключение микрофон / лин вход
индикация выбранногоо режима. это 5-ть светодиодов.
Это все работает
Энкодером в выбранном режиме меняет один параметр, нажали и крутим - второй (по аналогии с пульта стрелки вверх/вниз, влево / вправо)
долгое нажатие энкодера это глобальные настройки яркость ручная настройка шума и т.п.
на индикатор тупо выводим режим и номер программы в этом режиме, при изменении параметра выводим параметр.
такая у меня концепция была.
Ну помнится, что в своих видео Алекс говорил, что тоже хотел подключить энкодер (по моему 1 видео по светомузыке. Не помню уже) и он сказал, что это геморно.. типо нет времени.... И да, прошивка может не уместится. Овчинка выделки не стоит.... Чтоб разобраться в вашей проблеме нужно полностью посмотреть ваши изменения в скетче и вникнуть, а я сомневаюсь, что кто то поможет вам. Я лично бросил это дело по доработке светомузыке.... Ибо есть другие проекты. Тут модератор помочь может viktop001 - хотя очень сомневаюсь.....
очень уж мне хочется запилить ее под себя, так то интересная штука.
если не получиться то придется отказаться от энкодера и делать все на кнопках, кнопки то работают.
и разбираться с индикатором. Если уж Алекс в рисовалку картин умудрился его добавить, почему его сюда нельзя допилить)
Ну помнится, что в своих видео Алекс говорил, что тоже хотел подключить энкодер (по моему 1 видео по светомузыке. Не помню уже) и он сказал, что это геморно.. типо нет времени....
а не подскажешь как посмотреть какие прерывания использует библиотека или скетч, если они вообще их используют? может идет какое то пересечение по библиотекам, поэтому работает не корректно. энкодер как бы работает но на половину. у меня используется 6 функций. поворот (влево вправо), поворот с нажатием, просто нажатие, и долгое нажатие. но поворот работает только в одну сторону в обоих случаях.
а не подскажешь как посмотреть какие прерывания использует библиотека или скетч, если они вообще их используют? может идет какое то пересечение по библиотекам, поэтому работает не корректно. энкодер как бы работает но на половину. у меня используется 6 функций. поворот (влево вправо), поворот с нажатием, просто нажатие, и долгое нажатие. но поворот работает только в одну сторону в обоих случаях.
Всем здрасте) Представляю своё видение данного проекта.
Сначала я написал целую простыню на два листа с подробным описанием, а потом решил, что оно никому не надо. Поэтому коротко.
Лента у меня 30 диодов на метр и длинной 102 диода. Жрет в максимальном режиме (белый) 1.7А. Скетч занимает 84% памяти. Приклеена под подоконником на балконе.
Изрядно переписал код (за основу взята прошивка от technotrasher, за что ему респект). Исправил ошибки, оптимизировал код, сделал более логичное меню (на мой взгляд), исправил несколько имеющихся и добавил с дюжину новых эффектов (все которые добавил - на видео), упростил схему (убрал диоды, кнопки и транзистор), добавил индикацию на саму ленту вместо диодов, добавил сброс настроек без перепрошивки. Если будет интерес, то распишу более подробно.
ПС. на фото модуль с Али, цена ~100 рублей, позволяет из высокоуровнего выхода (на колонки), сделать низкоуровневый (aux), а так же имеет независимую регулировку каналов. Аккуратно собран, имеет на борту все необходимое и не надо ничего колхозить.
Имеет смысл удалить режимы ЦМУ на 3 и 5 каналов, так как выглядит примитивно и глупо. Можно добавить режим ЦМУ с "дешифратором", делать выборку двух частот и управлять четырьмя каналами (в зависимости от комбинаций, загорается один из каналов). Оптимальные частоты НЧ (200 - 300Гц) и СЧ (1 - 2кГц), определены в ходе экспериментов. Ещё можно для удобства некоторые редко-используемые (или часто-используемые) эффекты переместить на другие кнопки пульта.
Имеет смысл удалить режимы ЦМУ на 3 и 5 каналов, так как выглядит примитивно и глупо. Можно добавить режим ЦМУ с "дешифратором", делать выборку двух частот и управлять четырьмя каналами (в зависимости от комбинаций, загорается один из каналов). Оптимальные частоты НЧ (200 - 300Гц) и СЧ (1 - 2кГц), определены в ходе экспериментов. Ещё можно для удобства некоторые редко-используемые (или часто-используемые) эффекты переместить на другие кнопки пульта.
Всем здрасте) Представляю своё видение данного проекта.
Сначала я написал целую простыню на два листа с подробным описанием, а потом решил, что оно никому не надо. Поэтому коротко.
Лента у меня 30 диодов на метр и длинной 102 диода. Жрет в максимальном режиме (белый) 1.7А. Скетч занимает 84% памяти. Приклеена под подоконником на балконе.
Изрядно переписал код (за основу взята прошивка от technotrasher, за что ему респект). Исправил ошибки, оптимизировал код, сделал более логичное меню (на мой взгляд), исправил несколько имеющихся и добавил с дюжину новых эффектов (все которые добавил - на видео), упростил схему (убрал диоды, кнопки и транзистор), добавил индикацию на саму ленту вместо диодов, добавил сброс настроек без перепрошивки. Если будет интерес, то распишу более подробно.
ПС. на фото модуль с Али, цена ~100 рублей, позволяет из высокоуровнего выхода (на колонки), сделать низкоуровневый (aux), а так же имеет независимую регулировку каналов. Аккуратно собран, имеет на борту все необходимое и не надо ничего колхозить.
Всем здрасте) Представляю своё видение данного проекта.
Сначала я написал целую простыню на два листа с подробным описанием, а потом решил, что оно никому не надо. Поэтому коротко.
Лента у меня 30 диодов на метр и длинной 102 диода. Жрет в максимальном режиме (белый) 1.7А. Скетч занимает 84% памяти. Приклеена под подоконником на балконе.
Изрядно переписал код (за основу взята прошивка от technotrasher, за что ему респект). Исправил ошибки, оптимизировал код, сделал более логичное меню (на мой взгляд), исправил несколько имеющихся и добавил с дюжину новых эффектов (все которые добавил - на видео), упростил схему (убрал диоды, кнопки и транзистор), добавил индикацию на саму ленту вместо диодов, добавил сброс настроек без перепрошивки. Если будет интерес, то распишу более подробно.
ПС. на фото модуль с Али, цена ~100 рублей, позволяет из высокоуровнего выхода (на колонки), сделать низкоуровневый (aux), а так же имеет независимую регулировку каналов. Аккуратно собран, на борту все необходимое и не надо ничего колхозить.
Дополнение:
Спасибо всем за проявлены интерес! Как обещал выкладываю подробности, а так же схему и скетч.
Убрал из схемы транзистор. У меня переключение с микрофона на линейный вход происходит обычным тумблером. Он же зажигает либо зеленый, либо красный светодиод и отключает питание микрофона аппаратно. Соответственно выпилил часть кода и освободил немного памяти. В итоге программно светодиодов и кнопок не задействовано.
Добавил аппаратную кнопку выключения питания, мне кажется не гоже БП быть постоянно под напряжением.
Исправил несколько ошибок, например, некоторый функционал был заявлен в инструкции, но по факту не был прописан в коде, либо был прописан неверно.
Удалил дублирующийся эффекты – радуга и смена цвета.
Удалил лишние функции, переменные и тд. Дописал нужные функции. Некоторые исправил. В некоторых местах значительно изменил структуру кода. Поменял вкладки и в целом попытался оптимизировать код. Теперь это больше похоже на единый проект, а не «Франкенштейн». В результате высвободилось процентов 10-15 памяти без потери функционала.
Добавил с дюжину эффектов и «пересобрал» управление всем этим хозяйством – на мой взгляд такое управление более интуитивное и логичное.
Добавил сброс на стандартные параметры (4 раза «ОК» в выключенном состоянии).
Добавил индикацию нажатия кнопок, а так же режима «Выключено» и режима «Настройки» на самой ленте (зачем паять и программировать дополнительные светодиоды если у нас и так есть +/- сотня диодов на ленте, да и наглядней так). «Выключено» - первый диод на ленте тускло мигает красным. «Настройки» - 6 первых диодов на ленте горят «радугой».
Подрежимы у меня переключаются «*» в одну сторону и «#» в другую.
Все одноцветные режимы собрал на кнопке «1».
Добавил туда просто белый с возможностью изменения температуры и яркости («ОК» - сбрасывает температуру). Затем идет один выбранный цвет. Затем плавная смена цвета. Добавил пульсацию случайным цветом и резкую смену на случайный цвет. Обидно, что даже на самых примитивных китайских контроллерах для обычных лент эти режимы есть, а тут не было.
Все «разноцветные» режимы на кнопке «2».
Поменял очередность. Чуть доработал «Радугу». Переписал сомнительный симметричный огонь из центра на более плавные и независимые огни с краёв, перевел на другое цветовое пространство, что дало ряд плюшек. И теперь можно менять цвет этих огней с пульта. На основе этого добавил эффект: «Лёд и Пламень» - с одной стороны натуральный, а с другой синий огонь и они типо борются между собой. Добавил «пестрящий» огонь – цвет так же можно менять. Добавил огонь на шуме Перлина и на его основе еще несколько эффектов: «Облака», «Бассейн», «Плазма» и тд., можно еще поиграться с параметрами и хоть десяток добавить, в памяти они ничего не занимают, лишь разные вводные для функции задаются. Цвета этих эффектов так же можно менять с пульта.
На кнопке «3» у меня стробоскоп, думаю добавить туда возможность смены цвета пультом.
Кнопки «4» - «8» - цветомузыка по частотам. В эти режимы изменения вроде не вносил, только порядок поменял. По-хорошему первые три можно объединить в один и освободить кнопки на пульте.
На кнопке «9» собрал режимы цветомузыки которые зависят от громкости – «Градиент», «Радуга» и добавил к ним «Огонь», цвет которого так же можно менять с пульта.
Кнопка «0» - включить/выключить. Но включить теперь можно нажатием на любую из цифр.
Кнопка «ОК» включает режим «Настройки», как и раньше. Но теперь ручная настройка чувствительности производится «*/#» для всех режимов цветомузыки, скетч сам поймет, что настраивать.
У меня тут лаундж, а не дискотека, поэтому упор делал на эффекты и в цветомузыку особо не лез. Возможно при других вводных надо будет что-то корректировать.
Программист я тот еще, всю учебу прогулял и проплатил, а данный текст и скетч писал преимущественно под газом, поэтому получилось, как получилось)))
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.