Меню Закрыть

Содержание

Вступление


Восьмиканальная цветомузыкальная установка в виде платы расширения (shield) для Arduino Nano, выполненная с использованием элементов поверхностного монтажа (SMD).

Сложность:
продвинутый уровень

Для реализации данного устройства понадобятся навыки изготовления печатных плат, монтажа SMD компонентов и “прошивания” микроконтроллеров, в случае использования программатора для AVR микроконтроллеров. 

Пример работы

Руководство по эксплуатации

Принципиальная схема

Устройство можно поделить на несколько основных блоков:

1. Микроконтроллер ATmega328p с обвязкой и элементы управления / индикации устройства. В качестве данного блока будем использовать Arduino Nano, построенную на микроконтроллере ATmega328p (Arduino Nano 3.x)

2. Фильтр низких частот на базе операционного усилителя (ОУ) LM358N


3. Если необходимо снятие сигнала с микрофона, то необходим микрофонный усилитель. Сигнал с микрофонного усилителя подается на вход фильтра низких частот (на переменный резистор на 10 кОм, вместо сумматора каналов на 2-х резисторах в 1 кОм).

Для примера приведена схема операционном усилителе (ОУ) BA4558.

Печатная плата

Плата представлена в виде платы расширения (shield) для Arduino Nano. Разводка печатной платы производилась из расчета, что элементы управления и индикации будут прикручиваться/встраиваться в корпус устройства, а соединяться с основной платой будут посредством штыревых разъемов. Тактовые кнопки были предназначены для предварительного бескорпусного тестирования. Особой необходимости их установки нет.

Разводка платы включает:

  • Микропроцессор ATmega328p
  • Фильтр низких частот на ОУ LM358N
  • Микрофонный усилитель на ОУ BA4558

Контактные разъемы

  • 3 вывода для индикации режима работы (Mode status LED)
  • 3 вывода для индикации скорости затухания (Fade Speed status LED)
  • вывод для индикации наличия питания (Power LED)
  • 3 вывода на кнопки управления (Demo, Fade Speed, Runlight)
  • вывод на светодиодную ленту со светодиодами ws2812b (Dout)
  • линейный вход (Audio IN) 
  • вход для подключения микрофона (Mic IN)
  • микрофонный выход с усиленным аудио сигналом (Mic OUT)
  • вывод индикации нажатия

Ширина дорожек 0,5. Посадочные места под SMD резисторы и конденсаторы для типоразмера 0603. Если между контактами проходит дорожка, то практичнее использовать 0805, но если аккуратно, то 0603 вполне отличный вариант. При монтаже главное контролировать отсутствие замыканий при установке последних. 

Аудио сигнал подается на вход “AUDIO IN”:

1. При использования капсюльного микрофона, он подключается ко входу микрофонного усилителя “MIC IN”. Выходной сигнал с “MIC OUT” выводится на двухпозиционный переключатель. Им будем выбирать тип входного сигнала (линейный/микрофон).

2. При проводном подключении, аудио сигнал с линейного выхода должен подаваться через сумматор каналов. В простом исполнении – по резистору в 1 кОм на каждый канал. Выход с резисторов подключается на тот же двухпозиционный переключатель. Им будем выбирать тип входного сигнала (линейный/микрофон).

3. Выход с двухпозиционного переключателя через регулятор громкости (переменный резистор в 10кОм) подключается ко входу цветомузыки “AUDIO IN”. 

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


Важные примечания:
1. Номиналы элементов находятся на слое фрезеровки. При выгрузке gerber-файла фрезеровки их надо удалить.
2. Теперь у платы вид сверху, возможно понадобится отобразить ее зеркально перед печатью.

3д-модель платы, созданная по gerber-файлам в онлайн просмотрщике на http://mayhewlabs.com/3dpcb

С помощью gerber-файлов за небольшие деньги можно заказать изготовление печатных плат у производителей. Например на сайте JLCPCB (Китай). Платы придут фабричного качества. С нанесенной паяльной маской, шелкографией и просверленными отверстиями.

Архив включает в себя:
– gbr-файлы верхнего и нижнего слоя меди (copper);
– gbr-файлы верхнего и нижнего слоя шелкографии (silkscreen);
– gbr-файлы верхней и нижней паяльной маски (soldermask);
– gbr-файл контура платы (outline);
– drl-файл сверловки.

Примеры готовой печатной платы:

Перечень компонентов

 
Резисторы
Количество
 
Конденсаторы
Количество
 
Другое
Количество
Итого:
19
10
2
R1
1 MΩ
1

C5
1,5 nF
1
IC2
LM358n
1
R8-R9
10 kΩ
2
C4
10 nF
1
IC1
BA4558
1
R2
100 kΩ
1
C9
10 μF 16v
1
R19
150 Ω
1
C6-C8
100 nF
3
R5-R7
2,4 kΩ
3
C2
27 nF
1
R10-R11
220 kΩ
2
C1
220 nF
1
R12-R18
330 Ω
7
C3
470 nF
1
R3-R4
4,7 kΩ
2
C10
470 μF 16v
1

Прошивка

Одним из преимуществ плат Arduino является возможность загружать прошивки (бинарные файлы) без использования сторонних устройств – программаторов. Данную возможность обеспечивает загрузчик (bootloader), с которым поставляются платы Arduino. Подходящими будут платы семейства Uno или Nano с микроконтроллером ATmega328p. Важно чтобы на плате присутствовал встроенный USB-UART преобразователь и USB-разъем. В другом случае необходимо будет использовать внешний USB-UART преобразователь. 

27 комментариев

  1. Andy_Rhein
    Andy_Rhein

    Добрый день.
    Очень понравилась Ваша работа, хочу сделать и себе такую, только без микрофона так как сигнал буду брать с линейного выхода. Может мой вопрос прозвучит глупо, я не силен в теоретической части, а поэтому хочу спросить для чего здесь нужен low pass filter?
    Спасибо за ответ.

    • m1x
      m1x

      Добрый день.
      Фильтр низких частот на базе операционного усилителя (ОУ) LM358N подготавливает сигнал для подачи на АЦП (ADC) Arduino:
      – одна половинка ОУ работает как фильтр низких частот – обрезает ненужные верхние частоты, оставляя низкие.
      – вторая половинка ОУ формирует виртуальный 0 на половине питающего напряжения (~2.5в). Чтобы звуковой сигнал колебался вокруг него в пределах от 0 до 5.
      Без LM358N работать корректно не будет.

  2. papa
    papa

    Добрый день ,помогите начинающему ардуинщику заинтересовала схема цветомузыки на Arduino Nano, построенную на микроконтроллере ATmega328p , но не могу разобраться в схеме что куда подключать.

  3. saniaga81
    saniaga81

    День добрый! Спасибо что поделились своей интеллектуальной собственностью.
    Хочу озвучить вопросы с которыми я столкнулся при сборке девайса.
    В общем сразу купил какую-то ленту бракованную у меня отображались цвета «зеленый зеленый желтый красный фиолетовый синий зеленый зеленый» переключение RGB RBG GRB не помогало сразу начал копать фильтр. Замена ленты решила вопрос.
    Ленту поместил в алюминиевый профиль. Цвета разнес на некоторое расстояние, матовое стекло рассеивает, целостность эффектов не теряется.
    Еще я беспокоюсь за разъем питания такого же типа есть и 12В в попыхах можно и перепутать.
    У меня 60led 96шт. сразу подключил 3А блок после нескольких часов работы становился заметно горячим, поэтому заменил на 8А.
    Вроде все на сайте перечитал но так и не нашел для чего светодиоды «mode status led»

    • m1x
      m1x

      Здравствуйте!
      Что-то странное с лентой у вас было… лента-то похоже рабочая и цвета все в наличии – GRB. Переключение цветового пространства должно было решить проблему. Но если не помогало, то да, похоже лента бракованная. Мне один раз тоже “проблемная” лента приходила, но там она работала только до определенного светодиода, а дальше была тишина. Обычно так бывает.
      А вот 3А действительно мало. 96 светодиодов могут в пике скушать больше 5А. Поэтому надо некоторый запас по мощности. 8А с 96 светодиодами спокойно справится.
      Лампочки «mode status led» отображают выбранный режим работы “чувствительности”, который переключается удержанием кнопки “Fadespeed”. Добавил эту информацию в раздел “Руководство по эксплуатации​”, а то что-то действительно ее там не оказалось. Там же, к стати, есть некоторая информация по потреблению и подбору блока питания.

  4. cyber2013
    cyber2013

    bonjour, votre montage Musique couleur sur Arduino Nano marche a merveille. juste une petite remarque il y a une petite erreur sur le circuit imprimé regardé les plot de sortie Led ,,, un plot sortie data ok , mes l’autre au lieu d’être a la masse il et relier a cette meme sortie data ,, pas un gros problème ,, et l’option d’une résistance sur la sortie data au et été sympas , ci vous faite une modification pourquoi pas la rajouté !!!! merci encore de votre travail a plus

    • m1x
      m1x

      Merci, la double patte «Dout» est optionnelle pour une meilleure fixation, mais pas obligatoire. vous avez raison, il est également recommandé d’installer une résistance d’environ 300 ohms sur la ligne de communication entre la sortie «Dout» et la bande LED. Habituellement, il est placé à côté de la bande LED, il n’est donc pas sur la carte de circuit imprimé, mais n’importe qui peut l’ajouter à sa discrétion.

  5. cyber2013
    cyber2013

    Bonjour,
    je réalise en ce moment votre montage, Créez de la musique couleur avec Arduino Nano sur la version V3.
    un petit problème de téléchargement sur le fichier Carte de circuit imprimé Sprint-Layout pour Arduino Nano v3 , erreur de téléchargement.
    pouvez vous le remettre en ligne ou me l’envoyer, merci pare avance .
    PS: et la firmware vous n’auriez la version ino pour pour le logiciel Arduino comme je débute dans ce monde micro ordinateur.
    et au passage allé faire un tour ci vous le voulez bien sur, sur faceboot –> https://www.facebook.com/groups/StereoNeoPixelVU/?ref=bookmarks
    je validerer votre entre.
    Cordialement

    • m1x
      m1x

      Bonjour, мerci d’avoir écrit. J’ai corrigé le téléchargement du fichier de la carte de circuit imprimé Sprint-Layout pour l’Arduino Nano v3. Essayez à nouveau de télécharger.
      Tout le code est écrit dans Atmel Studio, donc le code source est uniquement au format C / C ++. Ce code source ne peut pas être utilisé comme fichier ino pour l’IDE Arduino. Pour l’édition, vous devez utiliser Atmel Studio. J’ai ajouté un traducteur Google au français. Habituellement, le texte n’est pas toujours traduit correctement, mais il sera probablement clair ce qui est écrit. =)

  6. Здравствуйте. Вот скажите, пожалуйста, почему у всех ассоциация цветомузыки – это тупое мигание лампочек или светодиодов под напряжение определенных частот, извлекаемых из звукового сигнала? Какая связь между пиками сигнала на разных частотах и музыкой? Ну придумал какой то дебил в 70х годах разделить музыку на три частотных диапазона и мигали эти лампочки гораздо чаще чем надо и, конечно же, создавалось ощущение, что мигают под музыку. И все уверовали, что это и есть классическая цветомузыка. Только вот это дерьмо нигде не применяется, кроме как дома, потому что это моргание очень быстро надоедает и становится неинтересным. На сцене и в профессиональных мероприятиях такой примитив никогда не использовался, разве что, в самых дешевых заведениях. А вот если мы копнем в историю подальше от 70х годов, когда не было тиристоров и цапон-лака, то узнаем, что музыку и цвет пытались объединить многие светлые умы человечества. Например, Иисак Ньютон изложил свое видение цветомузыки в своей работе Музыка сфер. В начале 20 века были даже светомузыкальные представления. И там никто не делил музыку на три диапазона, а каждой ноте присваивали свой цвет и все это переливалось и сопровождало мелодию. Я бы с удовольствием повторил бы ваш проект, но увидев эти резкие вспышки, иногда совпадающие с музыкой, я понял, что дольше 10 минут мне это смотреть не захочется.
    Мое видение цветомузыки – это сложные красивые эффекты которые меняются через такт мелодии, на сильной доле. Темп мелодии определяет скорость эффекта, плавность зажигания и затухания диодов. Эффекты идут не один за одним, а случайно. Можно сделать зависимость длительности эффекта от темпа.
    А так получается, либо смотри на красивые эффекты, которые независимы от музыки. Либо смотри на тупое моргание с некоторым попадание в музыку, но ооочень быстро надоедающее и портящее глаза.
    Конечно, вы можете сказать: не нравится – не повторяй. Я вот собираю себе блютуз колонку по типу JBL Pulsе и искал себе подходящий проект для светодиодов ws2812. Пересмотрел весь ютуб – одно говно, тупо мигающее от пиков в полосе частот. Вот почему народ так прилип к этой концепции цветомузыки? Ведь все понимают, что такое моргание не интересно и очень быстро надоедает. Что такие цветомузыки нигде кроме своих квартир не применяются, но всё равно упорно утверждают, что это и есть классическая цветомузыка, а то, что описал я – это визуализаторы? Вот только визуализаторы не управляются музыкой. Хотелось бы, чтобы вы задумались, может в том что я написал есть смысл? Ведь когда придумалась первая цветомузыка на тиристорах, тогда не было ни микроконтроллеров, ни пиксельных светодиодов. Но прошло 50 лет и ничего не поменялась – всё те же хаотичные мигалки. Пока что ближе всего к тому что я написал – это проект Lumazoid …
    Его, видимо и буду использовать.

    • m1x
      m1x

      Ну зачем же ограничиваться чем-то одним, можно собрать несколько устройств разного направления. Рано или поздно надоест и то, и это, и все. =)
      Lumazoid уже давно существует и его давно уже собрал, но лично мне он не зашел… слишком скучный.
      Как по мне цветомузыка, основанная на спектроанализе, дает каждой композиции свой уникальный паттерн, а вот Lumazoid похожа на обычную музыкальную СДУ – воспроизводится какой-то один выбранный паттерн только с разной скоростью.

      • Lumazoid воспроизводит 8 эффектов по порядку по 10 секунд и уже это вносит разнообразие в визуализацию. Если бы эффектов было больше и включались они рандомно, да еще на ударе бочки, цены бы не было этому проекту.
        А если постоянно работает один эффект и нужно нажать пульт, для его смены, то это скучно. В общем, не удивительно, что в мире цветомузыки там все глухо. Хоть и появились новые компоненты, мышление осталось старым. В результате: тупое моргание, резкие вспыхивания и на этом всё.

    • alek-kudrin
      alek-kudrin

      Хотите плавности-делайте цму на транзисторах и лампах накаливания, добавьте компрессор для сужения динамического диапазона и будет вам счастье. Схем куча в старых журналах. Тогда забудьте о светодиодных лентах. Светодиоды не дадут той плавности и эффекта, которую дают лампы накаливания. И еще. Можете не ограничиваться 3 каналами. Можете сделать хоть сколько, рассчитав для себя фильтры каналов. Собирал я в своё время и на тиристорах, и на симисторах, и на транзисторах. Но сейчас собрал на Arduino и мне понравилось. Компактность, простота, повторяемость. А не придумал бы “какой то дебил в 70х годах разделить музыку на три частотных диапазона” -так бы и не знали, что такое цму.

    • m1x
      m1x

      Пока только принудительным отключением источника, что вполне логично: есть музыка – работает ЦМУ, нет музыки – эффекты. Сценарий “есть музыка – эффекты” как-то не рассматривался =).
      Добавить режим, игнорирующий работу ЦМУ в МК вполне возможно. Только надо определиться как его включать/выключать, или незанятой комбинацией существующих кнопок, или добавлять новую.
      Как простецкий аналоговый вариант – кнопка на муз. вход.

  7. AlexMik
    AlexMik

    Хочу сказать автору цветомузыки огромное спасибо! Обязательно отблагодарю.
    Все работает. Как часы. Двухметровую ленту разместил в белом кабельканале 12х12. Легла идеально. Свет отлично пропускает. А заодно и рассеивает.

  8. AlexMik
    AlexMik

    Закончил паять заказанную ранее плату цветомузыки.
    Сейчас буду заказывать светодиодную ленту. Собираюсь брать 2 метра на 120 светодиодов.
    Но очень хотелось бы услышать совет разработчика. Какой вариант даст максимальный эффект?
    Заранее спасибо Вам за совет и огромную проделанную работу!

    • m1x
      m1x

      Как по мне, то приемлемая работа устройства в промежутке от 96 до 120 светодиодов. 120 в основном на 2 метра идут, на один метр встречал по 96 или 144 светодиода.
      А вот на 1 или 2 метра не подскажу, тут по вкусу :). 1 метр нормально смотрится на верхней кромке телевизора, под потолок может и 2 метра повесил бы.

  9. AlexMik
    AlexMik

    Здравствуйте!
    Огромное спасибо за Вашу работу. Просто заразили ARDUINO! ))

    Не могли бы Вы подсказать версию Sprint layout для последней версии платы. Во всех моих вариантах при попытке открытия вылетает ошибка.

    • m1x
      m1x

      Должна открываться в Sprint-Layout 6.0 (там и расширение файла .lay6), но только настоящей. В интернете много есть якобы Sprint-Layout 6.0, хотя на самом деле это просто переведенная Sprint-Layout 5.0.
      Поискать можно или на форумах radiokot.ru, или где-нибудь на торрентах, ну или, как вариант, честно купить)

  10. Aladdin
    Aladdin

    А есть возможность представить “гербер” файл для печатной платы? Самому травить плату возможности нет (супруга отравит), а вот заказать плату на JLCPSB проблемы не составит, но формат файла нужен другой. Очень хочется повторить ваш проект.

    • m1x
      m1x

      Возможность конечно есть. Никогда платы не заказывал, но интересно было бы получить такой опыт. Sprint layout умеет экспортировать файлы в формате Gerber. Думаю разумным будет выложить их после удачного заказа и проверки работоспособности изготовленных плат.

    • m1x
      m1x

      Немного адаптировал плату и сделал пробный заказ на JLCPSB. Как только проверю, что все работает как надо, добавлю новую версию платы и гербер файлы в статью. Возможно еще добавлю статью о том как выгружать гербер файлы из Sprint layout и делать заказ на JLCPSB.

Добавить комментарий

Translate »