Каталог товаров

Миниатюрный стерео аудио MP3-плеер DFPlayer Mini DFRobot

Цена:

150 р.
Уже в корзине
Код товара: 13076
Оригинальное название:
Arduino Mini MP3 Player mini

Описание товара

Модуль стерео аудиопроигрывателя в MP3-формате Mini DFPlayer

Что скрывается под видом маленького чёрного квадратика текстолита с парой микросхем и ножками по бокам, так похожего внешне на другие электронные модули? Полноценное устройство, в силах которого воспроизводить наши любимые музыкальные записи в привычном, массово распространённом аудиоформате MP3. Модуль представляет собой готовое устройство, оснащённое встроенным аппаратным декодером MP3 и простеньким усилителем аудиосигнала с выходной мощностью 3 Вт. Разработчику модуля, компании DFRobot, безусловно удалось воплотить в жизнь по-своему уникальный, недорогой, и в тоже время многофункциональный музыкальный аудиоплеер, уместившийся на столь крохотной платке.

Несмотря на то, что DFPlayer вполне способен работать совершенно независимо при прямом подключении питания, динамика и пары кнопок управления, он по прежнему остаётся универсальным модулем. Благодаря наличию средства связи через стандартную шину последовательного интерфейса UART, модуль может свободно интегрироваться в конструкции самых разнообразных поделок, собираемых на микроконтроллерных платформах, добавляя в приложения голосовое или музыкальное сопровождение любых происходящих событий. Примерами могут послужить автомобильные навигационные системы, автоматизированные системы общественного вещания, пожарные или охранные сигнализации, системы слежения за исправностью промышленного оборудования, системы голосовых подсказок по эксплуатации оборудования, радиоуправляемые модели, часы с будильником, музыкальные шкатулки и множество других полезных проектов. Максимально широкий спектр возможностей управления модулем DFPlayer реализован в обширном наборе команд, поддерживаемых программной библиотекой.

Технические характеристики

  • Бренд: DFRobot
  • Модель: FN-M16P
  • Питание: 3.3-5 В
  • Рабочее напряжение: 3.3 В
  • Потребляемый ток: 20-250 мА
  • Воспроизводимые форматы аудиофайлов: MP3, WAV
  • Разрядность ЦАП: 24 бит
  • Частота дискретизации, кГц: 8/ 11.025/ 12/ 16/ 22.05/ 24/ 32/ 44.1/ 48
  • Динамический диапазон (DNR): 90 дБ
  • Соотношение сигнал/шум (SNR): 85 дБ
  • Встроенный аудио усилитель 3 Вт
  • Регулировка громкости: 30 уровней
  • Шестиполосный эквалайзер с предустановками: Без настроек/ Поп/ Рок/ Джаз/ Классика/ Бас
  • Интегрированный слот чтения карт памяти microSD
  • Шина последовательного интерфейса USB 2.0
  • Файловая система накопителя: FAT16 / FAT32
  • Поддерживаемый размер памяти:
    • до 32 Гб TF microSD / USB FLASH
    • до 64 МБ NORFLASH
  • Управление проигрывателем:
    • Программный: последовательный интерфейс UART
    • Аппаратный: интерфейс цифровых портов I/O, интерфейс аналоговых портов
  • Звуковые выходы: наушники (стерео), динамики (моно)
  • Условия эксплуатации:
    • температура -40°С...+80°С
    • влажность 5%...95%
  • Размеры: 20.5 х 20.5 мм
  • Вес: 5 гр

Кроме входов рабочего напряжения, прямого выхода с ЦАП на наушники и выхода внешних динамиков, разработчики DFPlayer оснастили модуль дополнительными контактами, существенно уменьшающими нагрузку на управляющий микроконтроллер. Шина последовательной связи USB 2.0 предназначена для подключения обычных флеш-накопителей. Модуль имеет развитую структуру управления, предполагающую использование всего пары цифровых входов при упрощённом двухкнопочном взаимодействии в первом варианте, а также расширенную схему аналогового управления, состоящую из 2-20 отдельных кнопок в клавиатурном или другом похожем исполнении, во втором варианте. Последний контакт, статусный, помогает понять контроллеру, чем в текущий момент занят аудиоплеер — воспроизводит сейчас аудиофайл или терпеливо ожидает новую команду.

Назначение и описание контактов

Назначение и описание контактов модуля DFPlayer Mini  
  • VCC, GND — Питание модуля, плюсовой и минусовой входы.
  • RX, TX — Вход/выход шины последовательной связи UART, подключаемой к управляющему микроконтроллеру.
  • SPK1, SPK2 — Выходы аудиоусилителя на звуковой динамик в режиме моно. Возможно подключение одного или двух динамиков.
  • DAC_R, DAC_L — Выходы цифро-аналогового преобразователя ЦАП в режиме стерео. Используются для прослушивания через наушники, либо подключаются к активным колонкам.
  • BUSY — Логический индикатор состояния модуля, отображает режимы воспроизведения или ожидания.
  • USB+, USB- — Интерфейс USB2.0. Вход/выход для подключения внешних USB-флеш накопителей (U-дисков).
  • ADKEY_1, ADKEY_2 — Аналоговые порты управления модулем. Каждый вход подключается к набору из 1-10 кнопок.
  • IO_1, IO_2 — Цифровые порты управления модулем. Каждый вход подключается к 1 кнопке.

Индивидуальное использование DFPlayer Mini

1. Подключение аудиоплеера

Схема сборки проигрывателя MP3-файлов DFPlayer при индивидуальной эксплуатации проста в подключении и абсолютно не требовательна к элементной базе. Понадобятся произвольный источник питания 3.3-5В с выходом более 250мА, один или два динамика 4/8 Ом (или наушники) и две кнопки. Причём, совершенно не важно, какой выход на динамики будет задействован, из усилителя будет воспроизводиться один и тот же звук в монофоническом звучании. Выходы двухканального цифро-аналогового преобразователя разделены на правый и левый, совместное их подключение позволит прослушивать композиции через наушники в стереофоническом звучании.

 

2. Подготовка карты памяти microSD / USB, формирование списка воспроизведения

DFPlayer Mini поддерживает карты памяти и USB-флешки размером до 32Гб включительно. Файлы музыкальных композиций рекомендуется копировать на заранее отформатированный накопитель. Модулем DFPlayer предусмотрен ряд условий, напрямую связанных с очерёдностью воспроизведения записей при переходе к следующему аудиотреку или возврату к предыдущему. В названиях файлов и имён папок ограничений никаких нет, они могут оставаться оригинальными или быть произвольно изменёнными. Значение имеет порядок их переноса на внешний диск, а также расположение по папкам, с учётом глубины вложения. Для того, чтобы выстроить упорядоченность воспроизводимого списка, копирование звуковых записей на карту памяти желательно выполнять по одной. Первыми всегда отыграют все файлы из корневого раздела, и только затем прозвучат композиции внутри папок. Перенос на диск TF/USB группы из нескольких файлов или целой папки скорее всего приведёт к непредсказуемой последовательности.

Пример №1

Очерёдность копирования Имя файла, расположение по папкам Порядок воспроизведения при переходе к следующей композиции
1  "sd:/файл2.mp3" 1
2  "sd:/123ABC/файл6.mp3/" 5
3  "sd:/файл5.mp3" 2
4  "sd:/a1b2/файл4/mp3" 6
5  "sd:/файл1.mp3" 3
6  "sd:/файл3.mp3" 4

Пример №2

Очерёдность копирования Имя файла, расположение по папкам Порядок воспроизведения при переходе к следующей композиции
1  "sd:/файл1.mp3" 1
2  "sd:/MP3/файл2.mp3/" 2
3  "sd:/MP3/11/файл6.mp3" 5
4  "sd:/MP3/файл4.mp3" 3
5  "sd:/MP3/11/файл5.mp3" 6
6  "sd:/MP3/файл3.mp3" 4

 

3. Базовое управление модулем DFPlayer

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

Каждая из пары кнопок, подключенных к цифровых входам DFPlayer Mini, совмещает в себе по две функции управления модулем — проигрыванием композиций и регулировкой громкости звучания. Условно обозначим кнопки именами "первая" и "вторая", в соответствии с их подключением к номеру цифровых входов IO_1 и IO_2 модуля аудиоплеера. После включения питания DFPlayer Mini, кратковременное нажатие второй кнопки запускает воспроизведение звукозаписи, стоящей первой в списке. Последующее кратковременное нажатие позволяет передвигаться вперёд по списку к следующей записи, останавливая при этом звучание текущей аудиозаписи. Длительное удержание второй кнопки плавно увеличивает громкость звука в динамиках или наушнике.

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

Примечание. В схему сборки модуля может быть добавлена ещё одна необязательная кнопка, соединяющая выводы GND и ADKEY_1. Её нажатие приводит к проигрыванию самого первого файла из списка.

4. Расширенное управление модулем DFPlayer Mini

Подключение к аналоговым выводам ADKEY_1 и ADKEY_2 от двух до двадцати кнопок, даёт возможность незначительно расширить схему взаимодействия с модулем DFPlayer, и добавить новые функции управления, такие как пауза/проигрывание семпла, повторное воспроизведение, переключение между источниками хранения записей (USB/microSD/SPI) и воспроизведение записей, расположенных в списке от первой до четырнадцатой (Segment 1, Segment 2, и так далее). Согласно нижеприведённой схеме, предоставленной разработчиком модуля, с одним аналоговым входом может быть связано до десяти кнопочных элементов управления. Определить модулю, за какое действие должна отвечать каждая отдельно взятая кнопка, помогают сопротивления с чётко указанным номиналом.

Схема расширенного управления DFPLayer Mini  

 

Управление DFPlayer Mini с помощью контроллера Arduino

1. Подключение аудиоплеера

Способ программного управления модулем DFPlayer с применением Ардуино-совместимого контроллера возможен через шину асинхронной последовательной связи UART, использующую для обмена данными линии RX (приём) и TX (передача). Подключение между обоими устройствами осуществляется по перекрёстной схеме: вход RX контроллера соединяется с выход TX DFPLayer, выход TX контроллера - с входом RX DFPLayer. На картинке со схемой подключения, в качестве примера изображён контроллер DUE, имеющий 3.3-вольтовую логику. Разработчик DFPlayer рекомендует добавлять на линии UART резисторы 1кОм, если MP3-аудиоплеер предполагается совмещать с контроллером на 5-вольтовой логике. Важно разделить источники питания для контроллера Ардуино и для DFPlayer, чтобы избежать случайного повреждения внутренних схем регулятора напряжения первого во время пиковых нагрузок второго. Подключение динамиков и наушников повторяет описание раздела "Индивидуальное использование DFPLayer Mini".

Схема подключения DFPlayer к контроллеру Ардуино  

2. Особенности подготовки карты памяти microSD / USB

Воспроизведение файлов с любыми именами сохраняется и в программном управлении. Однако, заметно более удобные алгоритмы поиска/индексации программной библиотеки DFPlyaer Mini, упрощающие навигацию по каталогам файловой системы диска, требуют от пользователя соблюдения ряда правил, связанных с частичным или полным переименованием файлов и/или папок путём добавления в их имена адресуемых цифровых идентификаторов. Звуковые файлы, размещённые в корневом каталоге, должны начинаться с минимального четырехзначного индекса, включая необязательное оригинальное название: 0001.mp3/0001.wav, 0002sound1.mp3/0002sound1.wav, ... 3000-Yesterday-Once-More.mp3/3000-Yesterday-Once-More.wav. Идентичная нумерация файлов должна сохраняться в специализированных папках MP3 и ADVERT.

Модуль DFPlyaer Mini поддерживает структуру из "обычных", "больших" и "служебных" папок, расположенных в корневом каталоге microSD/USB. Имена обычных папок состоят из двухзначных цифр 01-99, каждая папка может содержать до 255 вложенных файлов с трёхзначным индексом 001-255. Большие папки нумеруются 01-10, в каждой может храниться до 1000 звукозаписей с таким же трёхзначным указателем 001-999. Папки "MP3" и "ADVERT" позволяют размещать в себе до 65535 аудиотреков.

3. Служебные папки MP3 и ADVERT

Несколько программных процедур библиотеки работают исключительно с папками MP3 и ADVERT, в ещё большей степени облегчая доступ к файлам. Папка MP3 — это простая пользовательская папка с максимальным количеством хранящихся в ней фалов. Процедуры, связанные с папкой MP3, выполняют различные действия над файлами только из этого раздела, без дополнительного указания полного пути к их расположению. Служебная папка ADVERT предназначена для звуковых данных, используемых в приложения с рекламно-информационными широковещательными задачами. Папка ADVERT обладает приоритетом над всеми остальными звуковыми аудиофайлами в накопителе. Воспроизведение файла данных из папки ADVERT приостанавливает звучание любого другого запущенного в текущий момент семпла до своего завершения, после чего проигрывание начатого предыдущего возобновляется.

4. Библиотека DFRobotDFPlayerMini, примеры программирования

Код библиотеки DFRobotDFPlayerMini, включая созданные на её основе примеры программ управления модулем DFPlayer для среды разработки Arduino IDE, доступен для загрузки из нескольких источников: репозиторий самого редактора, страница поддержки на сайте GitHub, в разделе "Полезные ссылки".

Основные команды библиотеки предусматривают действия:

  • Проиграть следующий mp3
  • Проиграть первый mp3
  • Повторять воспроизведение выбранного mp3
  • Приостановить проигрывание mp3 (пауза)
  • Возобновить проигрывание mp3
  • Проиграть выбранный mp3 из обычной папки с номером 01-99
  • Включить повтор воспроизведения всех mp3
  • Остановить повтор воспроизведения всех mp3
  • Проиграть выбранный mp3 из папки MP3
  • Проиграть выбранный mp3 из папки ADVERT
  • Остановить проигрывание папки ADVERT
  • Проиграть выбранный mp3 из большой папки с номером 01-10
  • Повтор воспроизведения всех mp3 из папки с номером
  • Перемешать порядок воспроизведения всех mp3
  • Включить повтор
  • Отключить повтор
  • Установить заданную громкость звучания
  • Повысить громкость звучания на заданное значение
  • Понизить громкость звучания на заданное значение
  • Установить определённую настройку эквалайзера
  • Выбрать источник хранения файлов
  • Включить режим сна
  • Перезапустить DFPlayer (сброс)
  • Включить встроенный ЦАП
  • Отключить встроенный ЦАП

Нижеприведённый скетч проигрывает аудиофайлы, поочерёдно переключаясь на следующий спустя 3-секундный интервал.

#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

void setup()
{
  mySoftwareSerial.begin(9600);
  Serial.begin(115200);
  
  Serial.println();
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
  // Используем softwareSerial для связи с mp3.
  if (!myDFPlayer.begin(mySoftwareSerial)) {  
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    // Код для совместимости с контрольным таймеров ESP8266.
    while(true){
      delay(0);
    }
  }
  Serial.println(F("DFPlayer Mini online."));
  // Устанавливаем значение громкости. От 0 до 30
  myDFPlayer.volume(10);
  // Проигрываем первый mp3
  myDFPlayer.play(1);
}

void loop()
{
  static unsigned long timer = millis();
  // Воспроизводим следующий mp3 каждые 3 секунды
  if (millis() - timer > 3000) {
    timer = millis();
    myDFPlayer.next(); 
  }
  
  if (myDFPlayer.available()) {
    // Выводим подробное сообщение для отображения различных ошибок и состояний.
    printDetail(myDFPlayer.readType(), myDFPlayer.read());
  }
}

void printDetail(uint8_t type, int value){
  switch (type) {
    case TimeOut:
      Serial.println(F("Time Out!"));
      break;
    case WrongStack:
      Serial.println(F("Stack Wrong!"));
      break;
    case DFPlayerCardInserted:
      Serial.println(F("Card Inserted!"));
      break;
    case DFPlayerCardRemoved:
      Serial.println(F("Card Removed!"));
      break;
    case DFPlayerCardOnline:
      Serial.println(F("Card Online!"));
      break;
    case DFPlayerUSBInserted:
      Serial.println("USB Inserted!");
      break;
    case DFPlayerUSBRemoved:
      Serial.println("USB Removed!");
      break;
    case DFPlayerPlayFinished:
      Serial.print(F("Number:"));
      Serial.print(value);
      Serial.println(F(" Play Finished!"));
      break;
    case DFPlayerError:
      Serial.print(F("DFPlayerError:"));
      switch (value) {
        case Busy:
          Serial.println(F("Card not found"));
          break;
        case Sleeping:
          Serial.println(F("Sleeping"));
          break;
        case SerialWrongStack:
          Serial.println(F("Get Wrong Stack"));
          break;
        case CheckSumNotMatch:
          Serial.println(F("Check Sum Not Match"));
          break;
        case FileIndexOut:
          Serial.println(F("File Index Out of Bound"));
          break;
        case FileMismatch:
          Serial.println(F("Cannot Find File"));
          break;
        case Advertise:
          Serial.println(F("In Advertise"));
          break;
        default:
          break;
      }
      break;
    default:
      break;
  }
}

Полезные ссылки

  1. Арудино-совместимая библиотека DFRobotDFPlayerMini V1.0.5 (ZIP-архив)
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2021г https://compacttool.ru