Механизм для музыкальной шкатулки своими руками. Светомузыкальный подарок любимой своими руками. Желаю Вам удачных покупок

Речь пойдет об устройстве очень простом в изготовлении (даже для начинающего электронщика-любителя), но при этом крайне интересном и полезном - электронной «музыкальной шкатулке». Также, в качестве примера, я покажу и расскажу об одном из возможных воплощений и применений этого девайса - про последний сделанный на его основе подарок своей девушке.

История создания

Тут будет много букв, относящихся к делу достаточно косвенно, и если хотите,

Началось все очень давно, несколько лет назад, когда я захотел сделать девушке какой-нибудь интересный, оригинальный и запоминающийся подарок на день рождения. И обязательно своими руками. Времени до праздника оставалось совсем немного, два дня, за которые надо было что-то придумать и, собственно, реализовать. День ушел на раздумья - в голове крутились сотни разнообразных вариантов, от всевозможных светодиодных «мигалок»-сердечек, до разных электро-механических поделок. Но все это было не то: или слишком просто и избито, или наоборот, достаточно сложно (а времени-то уже совсем-совсем не остается!). Внезапно мне пришла в голову простая, но замечательная, как потом выяснилось, идея: почему бы не сделать музыкальную открытку? Причем не простую, а с «фишкой», с оригинальной мелодией. Тем более, у нас была «своя песня», под которую мы познакомились и которая вызывала у нас всевозможные приятные романтические воспоминания и переживания.
Так появился на свет самый первый вариант «музыкальной шкатулки», прародитель, так сказать. Очень простой, собранный на скорую руку навесным монтажом из PIC12F675, пьезодинамика, фотодиода, пары резисторов, трехвольтового элемента 2016 и упакованный в нарисованную в фотошопе открытку. Открытка эта в результате умела при раскрывании (и попадании света на фотодиод) пропискивать прямоугольником ту самую мелодию. Вот так вот незатейливо и просто.
Но идея оказалась архиуспешна, во много раз больше, чем я ожидал. В последствии я сделал еще несколько таких простых открыток по просьбе своих знакомых, для их вторых половинок. И в каждом случае такой подарок вызывал массу эмоций как у самих одаряемых, так и у их родителей, подруг и знакомых:)
Прошло достаточно много времени, все закрутилось, проект подзабылся. Но так получилось, что я снова вспомнил про музыкальную шкатулку. На сей раз это должен был быть подарок на 8 марта. В то время я активно изучал микроконтроллеры Atmel, в частности игрался с ATtiny45, и под это дело решил музыкальный модуль усовершенствовать. Тем более, на этот раз времени было много. Тут то все и началось.
Выискивая разную информацию на просторах интернета я наткнулся на широко известный в узких кругах сайт мистера Чана . А конкретнее, на одну из его конструкций, миниатюрный синтезатор , как раз на любимом МК:) Некоторое время назад я уже почти закончил четырехканальный синтезатор на PIC18, но, увы, наработки в сердцах уничтожил (о чем еще не раз потом пожалел). А конструкция Чана была вполне самодостаточной и законченной. Оставалось добавить к ней только «спусковой механизм» и вперед!
Я немного допилил код, и спусковой механизм был готов. Но дальше все оказалось несколько менее радужно. Основная проблема конструкции была в том, что она слишком тихо звучала. Как я ни пытался, при прямом приводе динамика от пинов МК получалось тихо и все тут! В результате, было принято волевое решение добавить усилитель мощности. Выбор пал на наличествующий тогда в Терраэлектронике LM4900. Опять же, пришлось внести еще некоторые изменения в код мистера Чана, чтобы синтезатор правильно работал с внешним усилителем - сделать управление ногой энергосбережения, чтобы усилок не кушал батарейку при простое и перенастроить ШИМ для правильного вывода сигнала с одного пина. После этих изменений прототип заработал просто идеально. Тогда же я нарисовал первый вариант платы (в который, как потом выяснилось, закрался косяк:) и собрал музыкальную шкатулку по-человечески. Далее, все по проторенной дорожке - самодельная открытка, установка модуля и дарение-вручение.
Конечно, это устройство было на несколько голов выше предыдущих - очень реалистичное звучание «настоящей» шкатулки и полифония давали о себе знать:) Подарок, как и в прошлые разы, еще давно, вызвал фурор. И я также собрал друзьям около десятка таких модулей.

Теперь о самом устройстве

Текущая версия модуля, третья по счету, содержит в себе еще несколько изменений и одно интересное нововведение - светомузыкальный канал , к которому можно подключить, например, светодиод. Но обо всем по порядку.
Начнем со схемы, она очень простая:


Сердце ее - микроконтроллер ATtiny45/85 . Он занимается, собственно, синтезом музыки, управляет светомузыкальным каналом и энергосбережением усилителя. Второй по значимости элемент - звуковой усилитель мощности TPA301D . К усилителю подключен динамик , который находится за пределами модуля. Еще есть транзистор BC847 , управляющий светомузыкальным каналом и несколько пассивных элементов - резисторов и конденсаторов . Питается все это от 2-3 щелочных элементов (например, AAA), находящихся во внешнем батарейном блоке (самом обычном, китайском). Как видите, схема действительно элементарна.
Принцип работы схемы
Большинство времени устройство находится в «спящем режиме». МК засыпает по команде прошивки сразу после включения, предварительно «усыпляя» и усилитель, устанавливая на его ноге «SHUTDOWN» высокий уровень (путем подключения слабой подтяжки ноги «PB0» к «+» питания внутри МК). Просыпается МК по прерыванию c ноги «PB2/INT0» . Изначально нога тоже подтянута к «+» питания внутри МК и ее надо замкнуть на землю.
С ножки «PB1/OC1A» МК звуковой ШИМ сигнал, дабы отфильтровать его от несущей, проходит через простейший RC-фильтр второго порядка (R2-C3 ), который должен быть рассчитан (а в нашем случае может быть и просто «прикинут») на частоту среза, много меньшую (раз в десять) несущей частоты. А отфильтрованный сигнал, через блокировочный конденсатор C2 , уже поступает на вход усилителя.
МК управляет и дополнительным, светомузыкальным каналом. Для этого используется npn-транзистор Q1 в ключевом режиме, база которого подключена к ноге МК «PB4/OC1B» через токоограничивающий резистор R1 . В цепи коллектора тоже может стоять ограничивающий резистор (R3 ) - не будет лишним. Транзистор также управляется ШИМ сигналом. Все выполнено очень просто - в лучших традициях «мигания» светодиодами с «ардуины»:)
По питанию стоит развязочный тантал (С1 ), простейший обвес усилителя, выполняющий как роль развязки (С4 ), так и регулировки коэфициента усиления (громкости), в общем-то, подсмотрен в даташите на усилитель. При необходимости, КУ может быть достаточно точно рассчитан по самой обыкновенной для ОУ методике соотношения сопротивлений входного резистора R4 и резистора обратной связи R5 , так как громкость бывает полезно подкорректировать под конкретно взятый динамик или конструкцию.
Печатная плата
Проста до безобразия, нарисована в DipTrace:


Это уже третья версия, в которой учтены все предыдущие недочеты.
Плата рассчитана под поверхностный монтаж и односторонняя, что сильно упрощает процесс ее домашнего изготовления. Можно применить любой способ: лазерно-утюжный, фотоспособ или даже нарисовать дорожки маркером (на любителя, конечно).
Все элементы - 0805 (включая «нулевые» перемычки), тантал - A или B, транзистор в SOT23 и МК с усилителем в SO-8. Все «периферийные» компоненты - батарейный блок, динамик, светодиоды и кнопка (фоторезистор, геркон) подпаиваются к соответствующим «кружочкам» на плате. Вот и все.
Программная часть

Немного о синтезе звука

О способе синтеза, используемом в девайсе, доходчиво можно почитать в оригинале у мистера Чана . Можно еще загуглить «wavetable synthesis». Если же вы не владеете языком, то вкратце, в памяти МК хранится звуковой сэмпл (отдельно взятый звук), т.н. «wavetable» , который в нашем простейшем случае условно делится на две логические части, в целом образующие «envelope» - «attack» , начало каждого нового звука, и «sustain» , выдержку, постоянно зацикленный на протяжении звучания ноты фрагмент. Есть еще «decay» , «дозвучка», часть, которая звучит после снятия ноты. У нас она реализована просто путем постепенного затухания звучания «sustain"а». В МК работает таймер, который с определенной частотой вызывает прерывание, где в соответствии с текущим положением по «envelope» и высотой звучания ноты выбирается нужное значение из памяти сэмпла. Причем, таким образом можно синтезировать сразу несколько каналов (то есть нот) одновременно, все зависит только от вычислительной мощности МК и частоты дискретизации (качества звучания). Дальше эти значения смешиваются и отправляются «на выход» (у нас - в регистр управления ШИМ). Все это безобразие, как я уже упоминал выше, называется «Wavetable synthesis» или «таблично-волновой синтез».


Ядро синтеза мистера Чана осталось практически неизменным. Немного поменял только метод вывода ШИМ, ввиду отказа от «прямого привода» динамика с МК. Добавил «спусковой механизм», управление энергосбережением МК и усилителя, а также написал код управления светомузыкальным каналом, который работает таким образом: по специальному событию из партитуры в нужных местах «зажигает» светодиод, и затем плавно его «гасит». Ну и «портировал» (сильно, конечно, сказано) код в Студию, для удобства.
Код написан на AVR ассемблере и состоит из нескольких файлов: «mbox.asm» - собственно, сама программа; «notes_pitch.inc» - указание соответствий мнемонических названий нот, используемых в партитуре, коэффициентам приращения позиции указателя в сэмпле (то бишь, в результате, высоте тона); «wavetable.inc» - данные сэмпла («таблицу») и кривую затухания «decay»; а «score.inc» , как вы уже наверное догадались по названию, содержит партитуру исполняемого произведения, «ноты».
Изначально, в «wavetable.inc» самим Чаном «забит» звук шкатулки. Но при необходимости и желании его можно изменить на любой другой, используя вспомогательный скрипт «wav2asm.pl» , или же просто руками.
Сложнее же дело обстояло с партитурой. Изначально предполагалось писать их вручную, что, несомненно, доставит массу удовольствия человекам-мазохистам, особенно если партитура совсем непростая.
Для человека, собирающегося использовать свою партитуру и, предположительно, по этому поводу хоть сколь-нибудь знакомому с музыкой и нотной грамотой, проще было бы нарисовать партитуру в любом доступном нотном редакторе и каким-то образом использовать ее. Для этого я написал специальную программку-конвертер , которая принимает «на вход» миди-файл формата 0, а «на выходе» отдает готовый файл «score.inc». Она же может самостоятельно расставлять события зажигания светодиода для всех встречающихся в первом канале нот, то есть, если мелодию изначально логически отделить от аккомпанемента и вынести в первый канал миди-файла, то мы получим партитуру, которая будет зажигать светодиод в такт с мелодией, если захотим и поставим галку. На самом деле, это, пожалуй, один из самых красивых вариантов работы дополнительного канала.
Еще программа умеет транспонировать результирующую партитуру на одну или две октавы вверх/вниз, что в определенных случаях может сильно облегчить работу по написанию партитуры.
Интерфейс программки выглядит просто, понятно и незатейливо, а исходники на Delphi прилагаются в комплекте:

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

Что еще может понадобиться?
Допустим, вы купили/достали все необходимые компоненты, тем или иным образом изготовили плату или, как вариант, просто спаяли все навесным монтажом. Что понадобится еще? Понадобится программатор. Если вы уже имели или имеете дело с AVR, то у вас он, скорее всего, уже есть. А так, подойдет, например, «USBasp» в сотнях воплощений или любой другой . Здесь нет ничего сверхъестественного. В архиве со всем-всем есть уже скомпилированный бинарник, который можно сразу заливать в контроллер и использовать, если нет намерений что-то править и пересобирать.

Применение

А теперь, как и обещал, расскажу и покажу одно из сотни возможных применений модуля, музыкальную розу Кавасаки.
Роза Кавасаки , один из шедевров оригами, вообще отдельная большая тема, ознакомиться с которой в полной мере можно на просторах интернета.
Конструктивно же, сама вещица выполнена из двух частей:
Первая, роза , сложена из цветного листа бумаги и приклеена на скрученный стебелек с листиками (тоже сложенными из цветной бумажки). Внутри стебля проходит толстая медная проволока (для прочности) а в самом низу спрятан небольшой неодимовый магнитик.
Вторая часть, ваза , выкроена и склеена из толстого белого картона. Внутри нее установлен сам модуль, динамик (приклеенный на резонирующий объем, заполненный ватой), сверхъяркие белые широкоугольные светодиоды, заматованные мелкой наждачкой и батарейный блок, закрепленный снизу вазы для удобства доступа к батарейкам. Ну и, конечно же, геркон - «спусковой механизм», работающий в паре с магнитиком в стебле. Он установлен таким образом, что модуль активируется при вынимании розы из вазы.
Схематично это выглядит примерно так:

А вот пара фотографий прототипа:

И видео работы. На видео играет композиция «Нежность», которую я переложил для шкатулки, и которая включена в архив как исходником (набирал в Sibelius) и мидишкой, так и готовой сгенерированной партитурой:

Как водится, дает о себе знать вечная моя проблема с нормальным звуком в видео. Тысяча извинений. Если интересно послушать в нормальном качестве как звучит конструкция, то можете скачать

Наткнулся я тут как то на сайте lifehacker на интересные штуки с AliExpress. А именно механизм для музыкальной шкатулки. И недолго думая заказал сей гаджет себе:)

Очень заинтересовала эта позиция так как с детства любил наблюдать в фильмах как у героев играет мелодия из шкатулок. Нравится тон таких мелодий ритм и все в таком духе.
Сама идея предельно проста. Вы можете своими руками сделать любую шкатулку и вставить туда механизм, получится оригинальная вещица. Но так как у меня руки растут не из того места, я просто люблю слушать эту мелодию без внешних украшательств. Играет тут кстати Castle in the Sky Theme Song. Не знаю откуда и кто автор, но нравится:)

Шла посылка примерно месяц. Трекится перестала после пересечения границы. Видимо китаец съэкономил на нормальном трек коде. Ну да ладно.


Упаковано в обычный пакет и тонкий паралон. Никакой пупырки:(


Так же обещали 4 винта, а в пакете было тока 2 но это мелкие придирки.
Размеры 5 см на 4,5 на 2 Все соединяется на одной раме.


Звуки производят пластины разной длины которые цепляет маленький барабан с выступами в определенных местах. У китайцев полюбому под разные песни есть такие барабаны и было б интересно переставлять их в зависимости от настроения.


В движение все приводится пружиной которую заводят специальным ключем. Ничего сверх нанотехнологичного тут нет:) Что б мелодия играла ровнее есть тормозящий валик.




Если держать механизм в руке то звук очень тихий, ну на столе все отлично слышно.

Продавец обещает 500 повторений воспроизведений, в будущем будет видно как себя поведет этот механизм.

Планирую купить +18 Добавить в избранное Обзор понравился +40 +59

Для этого понадобятся следующие материалы и инструменты

Пила в виде ленты для станка;
- Станок для шлифовки;
- Дрель электрическая
- Фреза
- Цековка
- Музыка: (которая по душе).

Дополнительные материалы:

Игрушечный деревянный ксилофон;
- Остатки дерева, лучше фруктовое дерево или орех;
- Средства для склеивания изделий из резины и дерева;
- Шурупы с резьбой для закрепления гипсокартона;
- Дюбельный стержень;
- Соответствующие осям металлические шайбы;
- Пчелиный воск с апельсиновым маслом.

Прежде чем сверлить отверстия, нужно превратить поверхность цилиндра в нотный стан, для этого нарисуйте одну за другой линии по всей окружности, а 4 линии перпендикулярно. Установите барабан в раму, чтобы легче определить центральную ось.

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

2. Изготовьте молоточки
Для молоточков потребуется также древесный материал длина, которого должна соответствовать ксилофону.
Необходимо изготовить направляющие. Для этого воспользуйтесь ссылкой под фото на файл Inkscape, распечатайте и приклейте на направляющие. Для кулачков возьмите березовую фанеру 3 мм, для молоточков и оси вишневые обрезки шириной 1 см.

Внимание! Скрытый текст будет доступен после регистрации или авторизации на сайте.

3. Остальные детали
Для поддержки инструмента потребуется основание, также обеспечьте чистое звучание по нотам с помощью барабана для молотков, чтобы они не отскакивали. Для привода смастерите ручку-рычаг.

4. Готовая музыкальная самоделка
Обратите внимание на чудодейственный эффект пчелиного воска (см фото до и после).

Вот и пришло время рассказать о том, что же такого было внутри моей шкатулки, выпиленной лобзиком из фанеры . В основе всего была принципиальная электрическая схема на контроллере, питающаяся от 2 батареек Krona (9+9 В). Музыку я записал на SD-карту объемом 16-32 Мб. Причем шкатулка при каждом открывании проигрывала новую мелодию. Начнем по порядку!

Элементная база содержимого шкатулки

Ядром схемы является микроконтроллер Atmega16, 40-пиновый, который как раз управляет воспроизведением мелодий. Корпус у него DIP, чтобы легко можно было вставлять и вынимать из панельки, расположенной на плате. Картинка Atmega16 следующая:

Другой не менее важной микросхемой служит аудиоусилитель LM4860M на 1 Вт, 16-пиновый, с выходов которого усиленный сигнал идет на 8-Омный динамик. Исполнение данной микросхемы я взял в корпусе SO16.

Также потребуются 2 микросхемы – преобразователя напряжения: 7805 в корпусе TO-220, на выходе которого получается постоянное напряжение +5 В, и IRU1117-33 в корпусе SOT-223, с постоянным выходным напряжением +3,3 В, от которого питается SD-карта. Изображение этих микросхем ниже:

Для запуска контроллера нужен кварцевый генератор на 16 МГц. SD-карта на 16-32 Мб, сейчас такую маленькую по объему флеш-карту сложно достать, а раньше они шли с некоторыми моделями фотоаппаратов в комплекте. Все резисторы и конденсаторы – в SMD исполнении для поверхностного монтажа.

Принципиальная электрическая схема музыкальной шкатулки

Электрическая схема шкатулки выглядит так:

Как видно, из 40 ножек микроконтроллера используются всего лишь 18. Выводы с 5 по 8 – обмен с SD-картой, 9-й – для сброса контроллера, 10 – питание +5В, 11,31 – земля, 33-40 – через делитель на аудиоусилитель. Микроконтроллер Atmega16 нужно прошить, но не на самой плате, а на специальном устройстве, подключенном к компьютеру через RS-232. Обмен с компьютером идет через SPI интерфейс контроллера (выводы 5-8). Прошивка закачивается с помощью компьютерной программы PonyProg. Сама прошивка (Music_box_16.hex) и скриншот устанавливаемых фьюзов в PonyProg (PonyProg_Mega16_Fuses.bmp) находятся в приложенном архиве. Также в нем найдете технические описания (datasheets) на используемые микросхемы и микроконтроллер.

Схема печатной платы

Разводку дорожек по печатной плате я делал в программе Sprint Layout4. Соответственно файлик shkatulka.lay находится в архиве. Плата размерами 130х70 мм из одностороннего фольгированного гетинакса. Все SMD резисторы и конденсаторы, микросхема LM4860M, IRU1117-33 размещаются на стороне дорожек, а микроконтроллер, слот для SD-карты, электролитические конденсаторы, микросхема 7805 – на другой. Рисунок печатной платы представлен ниже:

Для травления платы я использовал старый “метод утюга” и хлорное железо. Потом припаял все элементы, вне платы остались динамик, кнопка включения и питание от двух 9 В батареек. К сожалению, тогда у меня не было под рукой фотоаппарата, да и цели такой не стояло (запечатлеть свою работу), поэтому полученный мною монтаж показать не имею возможности, а разбирать неразборную шкатулку не буду. Тогда я оставил себе возможность только менять батарейки, и перезаписывать флешку.

Запись мелодий для шкатулки

SD-карту нужно отформатировать в FAT16. Мелодии, которые вы хотите, чтобы они проигрывались шкатулкой, следует подготовить. Общее количество мелодий – до 100. Время проигрывания – 1 минута. Формат аудио – .wav PCM 16 кГц 8 бит моно. Файлы назвать – “ring_00.wav”, “ring_01.wav” и т.д.

Архив.7z для скачивания:

Начинка для шкатулки (5.8 MiB, 281 hits)

Ну вот и все! Собирайте, запускайте и наслаждайтесь!

P.S. Не забудьте подписаться на рассылку (-> справа в сайдбаре)!

Читайте также: