Добавить в корзинуПозвонить
Найти в Дзене

Модуль MP3-плеера JQ6500 для электронных игрушек. Учимся управлять музыкой без Arduino.

Представляю вашему вниманию интересный модуль MP3-плеера JQ6500.
Идеально подходит для электронных игрушек, компактный, многофункциональный и, самое главное, дешевый!
Что он умеет?
Вот некоторое описание: Поддерживаемая частота дискретизации (кГц): 8 / 11.025 / 12 / 16 / 22/ 24 / 32 / 44.1 / 48.
24‑битный ЦАП‑выход, динамический диапазон — до 90 дБ, отношение сигнал/шум — до 85 дБ.
Полная поддержка файловых систем FAT16 и FAT32; максимальный объём TF‑карты — 32 ГБ; поддержка USB‑накопителя до 32 ГБ и NORFLASH объёмом 64 МБ.
Несколько режимов управления: через UART (последовательный порт) или с помощью аналоговых кнопок (AD‑управление).
Функция уставки вещания — позволяет приостанавливать воспроизводимую фоновую музыку.
Аудиофайлы сортируются по папкам. Максимум 100 папок, в каждой можно разместить до 1000 треков.
Регулировка громкости — 30 уровней, настройка эквалайзера — 10 уровней.
Возможность подключения внешней SPI‑флеш‑памяти; при соединении с компьютером определяет диск SPI‑FLash
Оглавление

Представляю вашему вниманию интересный модуль MP3-плеера JQ6500.
Идеально подходит для электронных игрушек, компактный, многофункциональный и, самое главное, дешевый!
Что он умеет?
Вот некоторое описание:

Поддерживаемая частота дискретизации (кГц): 8 / 11.025 / 12 / 16 / 22/ 24 / 32 / 44.1 / 48.
24‑битный ЦАП‑выход, динамический диапазон — до 90 дБ, отношение сигнал/шум — до 85 дБ.
Полная поддержка файловых систем FAT16 и FAT32; максимальный объём TF‑карты — 32 ГБ; поддержка USB‑накопителя до 32 ГБ и NORFLASH объёмом 64 МБ.
Несколько режимов управления: через UART (последовательный порт) или с помощью аналоговых кнопок (AD‑управление).
Функция уставки вещания — позволяет приостанавливать воспроизводимую фоновую музыку.
Аудиофайлы сортируются по папкам. Максимум 100 папок, в каждой можно разместить до 1000 треков.
Регулировка громкости — 30 уровней, настройка эквалайзера — 10 уровней.
Возможность подключения внешней SPI‑флеш‑памяти; при соединении с компьютером определяет диск SPI‑FLash для обновления содержимого.
Управление воспроизведением определённой музыки через последовательный порт микроконтроллера.
В режиме кнопочного управления поддерживаются различные режимы воспроизведения: импульс с повтором, импульс без повтора, уровень без удержания (циклический), уровень с удержанием (циклический).
Поддержка управления через инфракрасный пульт (IR‑remote).

Как-то я уже писал тут про звуковой модуль для своих игрушек. Кому интересно, можно почитать тут:

-2

Разница между этими модулями приличная. Запись звука на тот модуль шла через микрофон, что создавало помехи при воспроизведении. Появлялись шумы и хрипы от внешних источников.
Данный модуль лишен этого недостатка, так как загружаем мелодии в него через USB порт компьютера. Музыка воспроизводится чисто, но есть нюансы. Но об этом потом.

И так, начну.
В описании модуля MP3-плеера JQ6500 есть много чего, возможностей масса, но для моих целей всё это не нужно, по крайней мере пока.
Управление модулем через Ардуинку или ИК я тут не рассказываю, для моих задач этого не требуется.
Сейчас для меня важно закачать в него мелодию и воспроизводить её нажатием кнопки. Но все же я опишу некоторые полезные и простые действия с этим плеером.

Что за ПИНы и для чего.

-3

1. С кнопками всё понятно. Можно проиграть первые 5 мелодий, записанных в плеер. Один контакт кнопки на пин, другой — на "землю".
2. SGRD — сюда сажаем "землю" от кнопок.
3. ADKEY. Ну это просто магический пин! О нем подробно позже.
4. LED1 горит при подключении модуля к компу или когда воспроизводится мелодия. Я его убрал для уменьшения тока потребления при питании от аккумулятора.
5. Загадочная площадка. Тут мы можем задавать с помощью резистора режим воспроизведения файла. Об этом также позже.
6. Подключение динамика, внешнего усилителя, питания и TX RX не комментирую. Тут все ясно и просто.
7. Устройство имеет вывод BUSY. Когда модуль воспроизводит файл, на выводе BUSY выдается напряжение около 2,4–2,7 В, когда модуль находится в режиме ожидания, напряжение на выводе 0 В. Лично мне не ясно, для чего этот пин нужен.
У модуля достаточно возможности, чтобы воспроизвести качественно музыку просто подключив к пинам динамик. Для тех, кому нужен сильный звук, пользуйте пины подключения внешнего усилителя.
Я комментирую только те функции, которые нужны именно мне.
Вот ссылка на китайский даташит, можете сами разбираться.

Как загрузить в модуль треки

При подключении к компьютеру увидим, что он определил модуль как CD диск, а не как Flash накопитель. Скажу кратко: модуль сам размещает файлы, называет их так, как сам этого хочет (типа 0001, 0002 и т.д.). Вмешиваться в этот процесс обычный пользователь не может. Кому интересно, читайте на GitHub
Вместо треков в директории увидим следующие файлы:

config.ini (сюда не надо лезть обычному юзеру)
MusicDownload.exe (вирусов там нет, проверено!)

Клацаем по MusicDownload.exe и видим первую вкладку.

-4

И вторую:

-5

На русском или английском утилиты нет в принципе, пользуем то, что есть.

Для загрузки трека во второй вкладке клацаем по кнопке и выбираем файл или группу файлов на компе.

-6

Жмем кнопку, процесс загрузки пошел.

-7

Пока грузится кнопка останется не активной. После успешной загрузки увидим:

-8

Тут всё. Мелодия (мелодии) загружены и готовы к воспроизведению. На компе вы их не увидите, плеер не показывает загруженные файлы!

Подключаем динамик, кнопку(кнопки), питание. Жмем кнопку и радуемся, что все играет.

ЭТО САМЫЙ ПРОСТОЙ СПОСОБ ЗАСТАВИТЬ ВАШУ ИГРУШКУ ВОСПРОИЗВЕСТИ ЗВУК ИЛИ МЕЛОДИЮ!

Проблемы при записи на модуль

Можете вполне себе столкнуться с проблемой, что утилита не хочет записывать ваши треки на модуль. Что делать?
Вариант 1 Перекачать с модуля config.ini и MusicDownload.exe себе на компьютер в какую-то любую директорию, после этого попытаться записать тем же манером свои треки на модуль. Обычно это помогает решить проблему.
Вариант 2 Если никак не получается. Скачайте архив с утилитами для различных чипов памяти этого модуля. Прочтите там файл README. Заработает точно! Используйте именно ту, которая соответствует установленной в вашем плеере памяти!
JQ6500_MusicDownload.zip Вирусов там нет. Я вам не враг!

ADKEY. Просто магический пин!

А теперь вишенка на плеере.
Всего-то с его помощью можно управлять плеером по полной программе. Делается это резисторами!
К примеру, для перехода на другой трек или для изменения громкости звука достаточно собрать простейший узел.

-9

Кратким нажатием переключает треки, длинным — регулируем громкость.
Лично мне такой функционал не нужен, но рассказать о нем я должен был.
Как вам оригинальность идеи?
Можно также воспроизводить музыку в цикле или последовательно перебирать и воспроизводить треки.
Но тут вступает в работу загадочная площадка.

Загадочная площадка. Разгадываем секреты плеера

На неё можно подпаять резистор. В зависимости от номинала можно добиться разных режимов воспроизведения трека.
51k Полностью воспроизвести один трек
33k Последовательное воспроизведение всех треков
24k Проигрывать трек, пока удерживаем кнопку. (Лично мне не ясно, зачем это нужно практически...)
То есть, управлять можно проигрыванием файлов всего одной кнопкой!

Пользоваться научились, а что дальше?

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

При первой закачке и попытки прослушивания выяснилось, что громкость мелодии слишком высока, мини динамик начинает местами подхрюкивать и хрипеть. Аппаратно кнопками решать проблему не хотелось и тут пришла в голову следующая идея.

FOOBAR2000 - классный бесплатный плеер, и не только...

Тут мы воспользуемся возможностью данного плеера изменить громкость самого трека.
Правой кнопкой → ReplayGain → Apply track gain to file content: использует track-значение (+/- dB) для изменения семплов.

-10

Если объяснять по-человечески, то Apply gain to file content — это когда Foobar2000 не просто запоминает, насколько надо прибавить или убавить громкость, а реально вносит это изменение в сам файл. То есть звук после этого становится уже сразу громче или тише, и никакая дополнительная аппаратная регулировка громкости кнопками при воспроизведении не нужна!
Уменьшаем громкость в самом файле, а не командами в плеере
JQ6500!
Т.е. теперь мне кнопки громкости не нужны вообще!

Я установил громкость на -8dB, т.е. уменьшил её в самом файле трека.

-11

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

Ну что ж, пора установить модуль плеера в самоделку.

-12

Надо было бы "сдуть" USB разъем с платы, но потом подумал, а вдруг надо будет заменить музыку другой. И оставил.
Кстати, память плеера можно увеличить поменяв чип памяти на 64 или 128. Они на Али есть.

-13

Всем удачных самоделок и мирного неба над головой!

Полезная ссылка:
Библиотека для Arduino на GitHub