Введение
DFPlayer Mini - это компактный модуль аудио-плеера, который позволяет воспроизводить звуковые файлы в формате MP3, WMA и WAV. Он широко используется в различных проектах, где необходимо воспроизводить звуковые эффекты, музыку, записи голоса и т.д. DFPlayer Mini легко интегрируется в различные электронные устройства и системы, такие как Arduino, Raspberry Pi и другие микроконтроллеры. Он имеет небольшой размер, низкое потребление энергии и простой интерфейс управления, что делает его идеальным выбором для различных проектов DIY и встраиваемых систем. В этом обзоре мы рассмотрим основные характеристики DFPlayer Mini и способы его использования в различных проектах.
Технические характеристики
- Напряжение питания: от 3,2 до 5 В
- Поддерживаемые форматы аудиофайлов: MP3, WMA и WAV
- Максимальная емкость карты памяти: 32 ГБ (Micro SD/TF)
- Максимальное количество папок: до 100
- Количество треков в папке: до 100
- Выходная мощность: 3 Вт (при 4 Ом нагрузке)
- Разрядность ЦАП: 24 бита
- Сигнал-шум: до 85 дБ
- Частотный диапазон: 20 Гц - 20 кГц
- Количество уровней громкости:30
- Режимов эквалайзера: 6 (Normal/Pop/Rock/Jazz/Classic/Base)
- Интерфейс управления: Serial Mode, AD Key Mode, I/O Mode
- Размер модуля: 24 мм х 18 мм
В качестве усилителя мощности аудиосигнала в модуле используется популярная микросхема 8002D, которая имеет выходную мощность до 3 Вт на нагрузку 4 Ом при напряжении питания 5 В. Она обеспечивает высокое качество звука и имеет низкий уровень искажений.
В качестве ЦАП используется микросхема MH2024K-24SS. Она обладает высоким разрешением 24 бит, что обеспечивает высокую точность и качество воспроизведения аудио. Микросхема использует дельта-сигма модуляцию для преобразования цифровых сигналов в аналоговый формат. MH2024K-24SS также имеет встроенные фильтры, что помогает устранить нежелательные артефакты и шумы в аналоговом сигнале, а также обеспечивает защиту от перегрузок и других электрических помех.
Внешний вид и расположение выводов
Вид спереди:
Вид сзади:
Файловая система
Файлы и папки на sd карте для управления по UART должны хранится в определенном формате. Имя файла трека обязательно должно начинаться 4-х цифр. Например: 0001.mp3 или 0010track.mp3. Имена папок состоят из 2 цифр. 00 - 99. В общем виде структура файлов на sd карте должна иметь следующий вид: \0001.mp3. или \02\0001.mp3.
Для остальных режимов управления к именам файлов и папок строгих требований нет.
Интерфейсы управления
Плата поддерживает 3 режима управления: через интерфейс UART(Serial Mode), управление кнопками (AD Key Mode), упрощенный режим(I/O Mode).
Serial Mode
Служит для управления модулем с помощью внешнего микроконтроллера через UART интерфейс. В целом протокол управления очень похож на тот что используется в модуле DY-SV17f. Ознакомиться с ним можно здесь.
Управление осуществляется с помощью отправки через серийный порт микроконтроллера последовательности команд. Настройки порта должны быть следующие: Скорость 9600 бод, Data bits :1 Checkout :none Flow Control :none
Формат команды следующий: $S VER Len CMD Feedback para1 para2 checksum $O
Описание значений параметров в таблице ниже:
Управляющие команды в таблице ниже:
Команды запросов:
Например, нам необходимо выбрать первый файл для воспроизведения. Для этого необходимо направить модулю через последовательный интерфейс следующий набор байтов:
7E FF 06 03 00 00 01 FE EE EF
7E - стартовый байт
FF - версия
06 - количество передаваемых байт данных
03 - команда выбора номера трека
00 - ответ от модуля получать не нужно
00 - старший байт номера трека. Здесь 0 так как номер для указания 1 трека достаточно 1 байта
01 - младший байт номер трека. Для первого трека равен 1
FE - старший байт контрольной суммы
EE - младший байт контрольной суммы
EF - Конец команды
В данном примере для передачи номера трека использовался только один параметр - младший байт. Если номер трека больше 255, то для передачи его номера в команде нужно уже 2 байта данных. Например для выбора трека 1000.mp3 необходимо перевести 1000 в шестнадцатеричный формат. Получится число 0x03E8. Соответственно старший байт будет равен 03, а младший E8.
Отдельно стоит упомянуть параметр Len. Его значение вычислить тоже довольно просто. В данном примере он вычисляется так 1 байт на команду + 1 байт на флаг ответа + 2 байта на номер трека + 2 байта на контрольную сумму. Итого получаем 6 байт передаваемых данных.
Контрольная сумма - эта сумма всех байт между начальным и конечными байтами команды умноженная на -1. Также делится на старший и младший байт. То есть (FF+06+03+00+00+01) *-1=112*-1=FEEE. Старший байт FE, младший байт EE.
Данный формат передачи в целом очень прост, но не очень понятен для визуального восприятия. Для более простого управления по UART существует специальная библиотека DFRobotDFPlayerMini.
AD Key Mode
Используя всего два входа ADKEY1 и ADKEY2 мы можем подключить 20 кнопок, которые позволят воспроизводить произвольно 14 файлов и управлять громкостью.
Кнопки подключаются к выводу ADKEY1 и ADKEY2 через резисторы разных номиналов. Определение какая конкретно кнопка нажата определяется по номиналу сопротивления на указанных выводах.
Схемы номиналов сопротивлений и их значений на рисунках ниже:
I/O mode
Это самый простой способ управления модулем. Он, как и AD Key Mode, не требует контроллера. Нужно подключить только динамик, 4 кнопки и подать питание от 3.3 до 5 Вольт.
Обычное нажатие на Pre/Vol+ (Next/Vol-) означает предыдущий или следующий трек, длинное нажатие и удержание — громкость больше или меньше.
Схема подключения кнопок на рисунке ниже:
Схемы подключения
Логика последовательного порта модуля работает с напряжением 3.3 вольта. Если ваш микроконтроллер работает от напряжения 5В, то рекомендуется выводы RX и TX подключать через резистор 1 кОм. Общая схема подключения по последовательному интерфейсу представлена на рисунке ниже:
Пины DACL и DACR служат для подключения внешнего усилителя или наушников. Наушники рекомендуется подключать через резистор 100 Ом для ограничения тока. Общая схема подключения на рисунке ниже:
Пины SPK1 и SPK2 служат для подключения внешнего динамика до 3Вт 4Ом к усилителю 8002D на плате модуля. Общая схема подключения на рисунке ниже:
При подключении динамика через DAC или SPK пины при слабом источнике питания могут возникнуть такие проблемы как треск в динамике или случайные перезагрузки устройства. Поэтому не рекомендуется подключать к пинам питания микроконтроллера. Они попросту не способны выдать необходимый ток. Лучше использовать внешний источник.
Также модуль можно использовать в качестве внешнего кард ридера подключив его через USB кабель к ПК по следующей схеме:
Заключение
В заключение, можно с уверенностью сказать, что DFplayer mini является надежным и удобным устройством для воспроизведения звуковых файлов в проектах DIY. Его маленький размер, низкий потребляемый ток и простота в использовании делают его идеальным выбором для проектов, где важны компактность и энергоэффективность.
DFplayer mini поддерживает различные форматы аудиофайлов, такие как MP3, WAV и WMA, и может воспроизводить звуки с USB-накопителей или микро-SD карт. Кроме того, он имеет встроенный усилитель, что позволяет воспроизводить звук на небольшом динамике без необходимости внешнего усилителя.
Однако, следует отметить, что иногда возникают проблемы, связанные с питанием и шумом при использовании DFplayer mini. Чаще всего они решают подключением более мощного источника питания.
В целом, DFplayer mini является отличным выбором для тех, кто ищет простой и надежный способ добавления звуковых эффектов в свои DIY проекты.
Материал также доступен на моем сайте https://projectalt.ru и в группе ВК.