АУДИО Электронная шарманка

Олег Поляков

★★★✩✩✩✩
18 Янв 2022
107
113
www.1812.ru
Электронная шарманка "Веселиса"

Это устройство эмулирует традиционный механический музыкальный инструмент популярный с средних веков и до наших дней.
В настоящее время в Европе есть ряд небольших фирм, которые выпускают электронные шарманки. В нашей стране мелкосерийного изготовления таких устройств мне встречать не приходилось. (Если оно всё-таки есть, то сообщите, пожалуйста).

Предлагаемое для повторения устройство является глубокой модернизацией первой версии шарманки, созданной мной в 2010 году, и родившейся после поездки на военно-исторический фестиваль "Ваграм-2009" в Австрии, где я впервые увидел и услышал электронную шарманку европейского производства.


Принцип работы

Основным элементом управления шарманкой является ручка. Вращательное движение ручки через ролики и пасик передаются на электродвигатель, в котором от вращения вырабатывается электрический ток. Напряжение на двигателе зависит от скорости вращения ручки. Подключённый к электродвигателю транзистор работает в режиме ключа. Подаваемое на эмиттер и базу транзистора напряжение от двигателя изменяет сопротивление между эмиттером и коллектором, параллельно к которым подключен балансировочный резистор в 1 кОм. Изменение результирующего сопротивления влияет на падение напряжения на аналоговом пине Arduino Nano, к которому подключён транзисторный ключ двигателя. Таким образом, мы можем программно отслеживать и реагировать как на сам факт вращения/остановки ручки шарманки, так и на скорость вращения ручки. Начинаем вращать ручку - включаем с паузы проигрывание мелодии через mp3-модуль. Прекращаем вращать ручку - ставим мелодию на паузу. Быстро вращаем ручку - громкость звучания мелодии плавно возрастает, замедляем вращение - громкость уменьшается.


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

1. Автономная работа от встроенного источника питания.
2. Три режима функционирования: "Шарманка", "Граммофон" и "Музыкальная шкатулка". В первом режиме посредством ручки эмулируется механическая шарманка. Во втором - устройство работает как проигрыватель музыки. В третьем - ручка выполняет функцию завозного ключа механизма музыкальной шкатулки.
3. Управление шарманкой и её настройками при помощи трёх кнопок.
4. Смена жанров музыкальных произведений как в режиме "Шарманка" так и в режиме "Граммофон" (до 10-ти жанров в каждом режиме).
5. Смена мелодий во всех режимах вперёд по списку и назад.
6. Эквалайзер.
7. Голосовое озвучивание команд управления шарманкой.
8. Сохранение настроек и их загрузка при включении шарманки.

Демонстрацию работы шарманки смотрите в видеоролике ниже.


Необходимые детали и компоненты

Для повторения устройства вам потребуются следующие детали и компоненты:
1. Деревянный ящик (я использовал готовую деревянную хлебницу, которую привел к максимально аутентичному к механической шарманке виду).
2. Деревянный (медный) профиль для сборки декоративного органчика шарманки (используется как муляж для придания изделию аутентичного вида).
3. Ось с роликом большого диаметра.
4. Резиновый или кожаный пасик соответствующего диаметра (длины).
5. Рукоять шарманки (я вырезал её плечо из листа латуни, а ручку делал из дерева на металлической оси).
6. Электродвигатель постоянного тока на 5 - 9 вольт.
7. Ролик малого диаметра на электродвигатель для ременной передачи на ось рукояти шарманки).
8. Транзистор КТ835Б (или любой аналогичный p-n-p транзистор).
9. Электролитический конденсатор 400 - 1000 мкФ 6.3 В.
10. Три резистора на 1 кОм.
11. Три кнопки.
12. Один выключатель.
13. Контроллер заряда аккумулятора TP4056.
14. Аккумулятор 18650.
15. Adruino Nano.
16. Mp3-проигрыватель DFPlayer Mini.
17. Стерео-усилитель звука PAM8403.
18. Два динамика.
19. Micro sd-карта для mp3-файлов (до 32 Гб).


Принципиальная электрическая схема

schemas.jpg


sharmanka01.jpg

Внешний вид готового устройства
sharmanka.jpgfest.jpg


Видеоролик с демонстрацией готового изделия


Скетч и файлы музыки для sd-карты

Внимание! Архив большой, т.к. выложил все собранные за много лет по интернету мелодии реальных механических шарманок. Композиции для режима "Граммофон" выложил урезанным списком по 10 композиций на жанр. Изменить, дополнить своими - не проблема.

Правила наименований папок и файлов подробно описаны в скетче.

В скетче использованы стандартные библиотеки и несколько библиотек Алекса Гайвера. Все они доступны для скачивания и установки через Arduino IDE.

Скачать скетч

Содержимое для SD-карты

Буду признателен за отзывы, исправление ошибок, интересные идеи по улучшению и за конструктивную критику!
Спасибо за внимание!

26.03.2024 - Обновил прошивку и изменил схему подключения электромотора.
07.04.2024 - Добавлен новый режим функционирования - "Музыкальная шкатулка".
 
Изменено:

Bruzzer

★★★✩✩✩✩
23 Май 2020
472
133
Перед тем как написать, почитав интернет, узнал, что были шарманки со стабилизацией скорости, где скорость вращения ручки не влияла на скорость мелодии. Может в основном такие и были, но мне из виденных ранее фильмов казалось, что шарманка стартует с малой скорости, и в этом может быть её некая изюминка. Хотя переделывать только ради этого на MIDI вариант наверное слишком трудоемко, а без MIDI наверное нельзя изменить темп не меняя высоты звуков.
 

Олег Поляков

★★★✩✩✩✩
18 Янв 2022
107
113
www.1812.ru
@Bruzzer, да, Вы правы, в качественных старых шарманках имелся механизм стабилизации скорости вращения барабана или считывателя карт (перфоленты). Громкость звучания тоже не зависела от скорости вращения ручки. Я добавил в электронную версию шарманки эту зависимость громкости от скорости вращения умышленно, посчитав эту особенность практически полезной. При желании в прошивке эту фичу можно отключить.
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
Господи, да освойте вы уже гит наконец. Выкладывать архив с проектом на меил.ру, ну ладно файлы с музыкой туда залить, но код прошивки там держать это же издевательство.
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
542
Saint-Petersburg, Russia
@Олег Поляков, правила форума тут непричем. Это обычная практика размещать открытые проекты с исходным кодом на площадках типа GitLab, GitHub, где сообщество может получить к ним доступ, вести совместную разработку, сообщать об ошибках, вести историю версий, предлагать исправления и т.п.
Выкладывая проект в виде архива, вы лишаете себя каналов общения с сообществом. Архив на меил.ру так и останется архивом на меил.ру.
Но дело ваше конечно.
 

Олег Поляков

★★★✩✩✩✩
18 Янв 2022
107
113
www.1812.ru
Добавил в скетч разнообразные голосовые напоминания голосом Масяни о включённой шарманке после n-минут (по умолчанию, после 1 минуты) простоя. Архив проекта обновлён.
 

Олег Поляков

★★★✩✩✩✩
18 Янв 2022
107
113
www.1812.ru
Добавил в устройство новый режим работы - "Музыкальная шкатулка". В этом режиме ручка выполняет функцию заводного ключа традиционной музыкальной шкатулки: чем больше заводим, тем дольше играют мелодии. Последовательность мелодий задаётся коротким нажатием центральной кнопки: повторение выбранной мелодии; каждый раз случайная мелодия с повтором; одна мелодия за другой; одна мелодия за другой в случайном порядке.
Архивы скетча и содержимого для sd-карты разделил на два архива для удобства скачивания и последующего обновления проекта.
 

rOnanjr2

✩✩✩✩✩✩✩
22 Июн 2024
1
0
@Олег Поляков,

Не знаю, собирал ли это устройство кто-то, кроме меня и автора, но у меня не работает практически ничего, помимо шарманки, и то - через одно место. Просьба отладить прошивку, ибо она дико кривая и зависает по любому поводу. При включении неправильно определяет количество файлов в папках. Сколько бы я не менял кол-во файлов - в отладке оно всегда X+1, где Х - "кол-во композиций для шарманки", а откуда берется это число, я так и не понял. Режим "0" кое-как работает, даже реагирует на вращение ручки и меняет громкость. При смене режима - виснет намертво. При попытке изменить громкость - тоже вылет. И еще - зачем было городить по сути усилитель на транзисторе для двигателя, если можно было просто уменьшить опорное напряжение на АЦП, так мы избавляемся от двух лишних деталей.

ЗЫ - Сейчас обратил внимание, что в архиве есть прошивка только от 26 марта, хотя обновление было седьмого апреля...
ЗЗЫ - На ЮТ кривая ссылка на тред
 

Вложения

Изменено:

Олег Поляков

★★★✩✩✩✩
18 Янв 2022
107
113
www.1812.ru
@rOnanjr2, прошивка в архиве актуальная.
Судя по описанному вами поведению устройства проблемы либо в самом модуле DFPlayer Mini, либо в библиотеке DFRobotDFPlayerMini.
В процессе отладки я сталкивался со странным поведением библиотеки в части подсчёта количества звуковых файлов в папке. На моих двух сборках это решилось при помощи "костыля", который соответственно прокомментирован в коде скетча:
C++:
myDFPlayer.setTimeOut(3000);
и чуть ниже:
C++:
  // Приходится дважды вначале считывать ибо функция подсчёта глючит... :(
  myDFPlayer.readFileCountsInFolder(10);
Попробуйте увеличить myDFPlayer.setTimeOut.

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