Модуль DFPlayer Mini для проигрывания mp3 файлов.
Сегодня будем изучать такую интересную вещь как аудиоплеер.
Есть такой модуль для Ардуино, DFPlayer.
Но прелесть этого модуля в том, что он может работать и без Ардуино.
Другую статью про этот модуль можно прочитать здесь.
Для сборки достаточно только MicroSD карты от 2 до 32 Gb, двух кнопок и динамика.
Питается всё это от 3,3-5 вольт.
Характеристики модуля DFPlayer MP3 mini аудио:
Напряжение питания: 3,3–5 В
Количество каналов: 1 моно, 3 Вт + 2 стерео, без усилителя
Поддерживаемые частоты дискретизации: 8, 11,025, 12, 16, 22,05, 24, 32, 44,1, 48 кГц
Разрядность ЦАП: 24 бита
Отношение сигнал/шум: до 85 дБ
Поддерживаемые файловые системы: FAT16, FAT32
Максимальный объём SD-карты: 32 ГБ
Количество каталогов композиций: до 100
Количество композиций в каталоге: до 255
Форматы аудиофайлов: MP3, WAV, WMA
Кол-во уровней громкости: 30
Режимов эквалайзера: 6 (Normal/Pop/Rock/Jazz/Classic/Base)
Применять можно как в разных поделках будильниках, музыкальных шкатулках, так и в более серьёзных проектах, таких как сигнализации, оповещении и многих других.
На MicroSD карту можно записать огромное количество файлов и обращаться к любому из них по запросу из скетча.
Для работы с Ардуино нужна библиотека DFPlayer-Mini-mp3.zip скачать можно с этого сайта.
Если вы хотите собрать плейер без Ардуино, то и библиотека не нужна. Просто подключаете модуль по этой схеме и слушаете музыку.
Правда в такой конструкции есть недостатки.
- Нельзя включить запись, например 12, можно только пролистывать до нужной записи нажимая кнопку Следующая/Предыдущая. Короче, только по порядку.
- Нельзя запустить случайное проигрывание, опять только по порядку
- Можно прослушивать только по одной записи. Одна проиграла, плейер выключился. Снова нажали он включился и стала воспроизводиться следующая запись.
Подготовка карты MicroSD
Карта должна быть от 2 до 32 Gb и отформатирована в FAT16 или FAT32
Создаём папку mp3 (это обязательно) и переносим туда ваши записи.
Записи должны начинаться с 0001 0002 0003 итд. После цифр могут быть любые название
напр. 0001-ABBA-concert.mp3
Описание контактов модуля DFPLayer:
Номер вывода | Название | Описание вывода | Описание |
1 | VCC | Питание | Питание постоянного тока от 3 до 5 Вольт |
2 | RX | UART | serial input |
3 | TX | UART | serial output |
4 | DAC_R | Audio output right channel | Выход на усилитель, правый канал |
5 | DAC_L | Audio output left channel | Выход на динамик, со встроенного усилителя до 3W |
9 | IO1 | Trigger port 1 | Короткое нажатие | (длительное нажатие — уменьшение громкости) |
10 | GND | Ground | Выход на динамик, со встроенного усилителя до 3W |
11 | IO2 | Trigger port 2 | Короткое нажатие (длительное нажатие — увеличение громкости) |
12 | ADKEY1 | AD port 1 | Trigger play first segment |
13 | ADKEY2 | AD port 2 | Trigger play fifth segment |
14 | USB | USB DP | USB Port |
15 | USB- | USB- DM | USB Port |
16 | Busy | Playing Status | Low means playingHigh means no |
НА Модуле есть два каскада выходного сигнала.
Выход на внешний усилитель(DAC_R и DAC_L стерео) и Выход на динамик(SPK_1 и SPK_2 моно режим)
Список функций DFPlayer Mini:
- mp3_play (); // Запуск воспроизведения
- mp3_play (5); // Воспроизвести файл «mp3/0005.mp3»
- mp3_next (); // Следующий трек
- mp3_prev (); // Предыдущий трек
- mp3_set_volume (uint16_t volume); // Уровень громкости 0
30
mp3_set_EQ (); // Эквалайзер 0
5 (0 — Normal, 1 — Pop, 2 — Rock, 3 — Jazz, 4 — Classic, 5 — Bass)
Подключение к Ардуино будет описано в следующей статье блога (подписывайтесь что бы не пропустить).
А сейчас рассмотрим, как собрать без Ардуино.
Есть два способа, Простой и более сложный.
Рассмотрим простой.
Нам понадобится сам модуль плеера, MicroSD карта, две кнопки и динамик.
Управление плейером.
- Длительное нажатие кнопки S1 — Громкость меньше
- Короткое нажатие кнопки S1 — Следующая запись
- Длительное нажатие кнопки S2 — Громкость больше
- Короткое нажатие кнопки S2 — Предыдущая запись
Более сложный режим
Урок 19. Делаем MP3-плеер на DFPlayer Mini и Arduino.
Как воспроизвести аудиофайлы в формате wav я уже рассказывал в уроке: Arduino SD карта. Воспроизводим звуки и музыку в wav формате. Данный способ подходит, когда нужно воспроизвести файлы не очень высокого качества, например, уведомления, оповещение и пр. Если же надо воспроизводить файлы в формате mp3, нам поможет модуль DFPlayer Mini.
MP3-плеер DFPlayer Mini позволяет воспроизводить аудиофайлы, записанные на карту памяти формата microSD. С помощью этого плеера можно управлять музыкой: приостановка и возобновление воспроизведения аудиофайла. А также можно установить громкость из 30-ти уровней громкости и одни из 6-ти режимов эквалайзера.
DFPlayer отлично подходит для Arduino проектов, в которых нужно воспроизводить уведомления или оповещения, а также для музыкального сопровождения с автоповтором выбранного трека, воспроизведением всех треков, или случайное воспроизведение треков.
Характеристики DFPlayer MP3 mini:
- Напряжение питания: 3,3–5 В
- Количество каналов: 1 моно, 3 Вт + 2 стерео, без усилителя
- Поддерживаемые частоты дискретизации: 8, 11, 12, 16, 22, 24, 32, 44,1, 48 кГц
- Разрядность ЦАП: 24 бита
- Поддерживаемые файловые системы: FAT16, FAT32
- Максимальный объём SD-карты: 32 ГБ
- Количество каталогов композиций: до 100
- Количество композиций в каталоге: до 255
- Форматы аудиофайлов: MP3, WAV, WMA
- Кол-во уровней громкости: 30
- Режимов эквалайзера: 6 (Normal/Pop/Rock/Jazz/Classic/Base)
Для реализации самого простого плеера не нужно подключать DFPlayer к Arduino. Достаточно подключить несколько кнопок вот по такой схеме.
Но у нас уроки про Arduino, поэтому рассмотрим простой пример подключения MP3-плеер к Arduino, который подключается по аппаратному или программному UART порту (пины RX и TX) Ардуино.
Код с выводом отладочной информацией будет вот таким. Данный код взят с сайта библиотеки DFRobotDFPlayerMini. Также нам понадобится библиотека для работы спрограммным UART портом SoftwareSerial.Скачать библиотеки можно внизу статьи, в разделе материалы для скачивания.
Для воспроизведения аудиофайла необходимо поместить на карту памяти microSD один трек. Файлы рекомендуется помещать в папку mp3 и называть порядковыми номерами вот в таком формате 0001.mp3. Мой опыт показывает, что можно скидывать файлы с любым названием и помещать в корень флешки, но воспроизводиться файлы будут в том порядке, в каком их загрузилина карту памяти. При пакетной загрузке одни файлы загружаются быстрее, а другие медленнее, из-за чего воспроизведение треков идет в хаотичном порядке.
Пример MP3-плеера на DFPlayer Mini и Arduino с возможностью выбора трека и изменением громкости.
Давайте сделаем полноценный MP3-плеера на Arduino. Для этого нам понадобится:
5. Динамик. Я использую от ноутбука.
6. 2 резистора на 10 кОм.
Все компоненты нашего будущего MP3-плеера на DFPlayer соединяем по схеме.
Загрузим файлы с треками на карту памяти microSD, я использую 3 трека с YouTube, чтобы можно было воспроизводить музыку в видеоролике и не получить бан. Архив с треками можно скачать внизу статьи, в разделе материалы для скачивания.
Код для MP3-плеера на DFPlayer Mini и Arduino с возможностью выбора трека и изменением громкости будет вот такой.
У платы Arduino NANO всего один аппаратный Serial Port, поэтому будем использовать программный порт. Для этого нужно установить и подключить библиотеку SoftwareSerial.h.
Чтоб проверить, подключен или нет DFPlayer используется условие:
Если в мониторе порта мы видим надпись «DFPlayer Mini online.» все подключено правильно и работает.
Данные строки кода
Включают первый трек. И выводят в монитор порта информацию об этом.
Строки ниже выводят в монитор порта полезную информацию о статусе работы.
Первая строчка выводит статус: цифра с кодом.
Вторая строчка выводить уровень текущей громкости от 0 до 30
Третья выводит настройки эквалайзера, также в цифровом значении.
Четвертая выводит, сколько треков найдено на карте памяти.
Последняя стока выводит, какой трек воспроизводится сейчас.
В мониторе порта это будет выглядеть вот так:
В основном цикле loop выводим условия проверки нажатия той или иной кнопки. И выполняем нужную команду.
Это одно условие для примера, остальные устроены аналогично, их рассматривать не будем. Список команд для работы с DFPlayer Mini myDFPlayer.next(); // Воспроизвести следующий mp3
Как видите, не так много кода и алгоритм работы достаточно несложный. Планирую реализовать пару проектов с использованием модуля DFPlayer Mini и Arduino, ESP8266, ESP32 для публикации на сайте. Благо, опыт работы с этим модулем и данными платформами есть.
Пишите ваши предложения и пожелания в комментариях. Чем больше будет откликов, тем чаше будут выходить проекты и уроки на сайте.
Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.
Всем Пока-Пока.
И до встречи в следующем уроке.
Понравилась статья? Поделитесь ею с друзьями:
Урок 17. Подключение Mini MP3 плеера к Arduino
Наверное, часто в ваших проектах возникала необходимость воспроизводить определенный звук или мелодию. Например, по завершению какого-нибудь процесса, или просто звуковое сопровождение. В этом нам поможет Mini MP3 Проигрыватель, который обладает очень большим потенциалом.
В данный модуль вставляется microSD карточка, на которую предварительно мы можем записать Mp3 композиции, которые, в дальнейшем, сможем воспроизводить с помощью Mini MP3 Проигрывателя.
Нам понадобится:
Для реализации проекта нам необходимо установить библиотеки:
Демонстрация:
Подготавливаем microSD карточку:
Mini MP3 Проигрыватель может распознавать карты объемом до 32G и файловой системой FAT16 , FAT32 .
- Для начала нам необходимо подключить карту через катридер к компьютеру и отформатировать карточку.
- Теперь нам нужно создать папку с названием «mp3«.
- Записать ваши mp3 композиции в данную папку и дать им имена «0001.mp3» , «0002.mp3«, «0003.mp3» и тд. Так же файл можно называть «0001alla-tratata.mp3» главное, указать в самом начале номер трека в четырех символьном формате.
Описание контактов:
Pin Number | Pin Description | Description | Note |
1 | VCC | Питание | Питание постоянного тока от 3 до 5 Вольт |
2 | RX | UART serial input | |
3 | TX | UART serial output | |
4 | DAC_R | Audio output right channel | Выход на усилитель, правый канал |
5 | DAC_L | Audio output left channel | Выход на динамик, со встроенного усилителя до 3W |
9 | IO1 | Trigger port 1 | Короткое нажатие ||◄ (длительное нажатие — уменьшение громкости) |
10 | GND | Ground | Выход на динамик, со встроенного усилителя до 3W |
11 | IO2 | Trigger port 2 | Короткое нажатие ►|| (длительное нажатие — увеличение громкости) |
12 | ADKEY1 | AD port 1 | Trigger play first segment |
13 | ADKEY2 | AD port 2 | Trigger play fifth segment |
14 | USB | USB DP | USB Port |
15 | USB- | USB- DM | USB Port |
16 | Busy | Playing Status | Low means playingHigh means no |
Модуль имеет сразу два вида выходного сигнала: первый — со встроенным усилителем, а второй вариант — через внешний усилитель например УНЧ модуль 2*3 Вт класса D PAM8403. В наших примерах будет рассматриваться вариант со встроенным усилителем.
- Подключение к усилителю c помощью выходов DAC_R и DAC_L
- Подключение к динамику напрямую. динамик подключается одним контактом IO1 , а вторым к IO2
Пример 1. Управление с помощью Arduino
Схема подключения:
Данный Mini MP3 Проигрыватель может быть подключен как обычному Serial порту, так и к виртуальному Serial порту. Это дает возможность arduino подключиться к компьютеру и к mp3 проигрывателю.
Подключать удобнее всего с помощью Breadboard mini и проводков папа-папа. Так же не забудьте подключать Mp3 плеер к Serial порту с через резисторы на 1 кОм.
В результате у вас должна получиться примерно следующая картина:
Не забудьте установить библиотеку Mini mp3 Arduino Library V2.0.
Скетч №1:
Данный пример запустит проигрывание треков и каждые 10 секунд будет переключать на следующий трек.
Между двумя командами необходимо делать задержку delay (100); 100 миллисекунд, в противном случае некоторые команды могут работать не стабильно.
Скетч №2:
В этом примере мы запускаем плеер, он начинает проигрывать композиции целиком одна за другой в случайном порядке.
Скетч №3:
Для запуска определенной мелодии нужно обязательно задать правильные именна mp3 файлам, которые находятся на флешке как указано в пункте «Подготавливаем microSD карточку» . Вы так же можете записывать файлы в любые папки и с любыми названиями, но их вы не сможете запустить выборочно по команде.
Полный список функций:
- mp3_play (); // Запуск воспроизведения
- mp3_play (5); // Воспроизвести файл «mp3/0005.mp3»
- mp3_next (); // Следующий трек
- mp3_prev (); // Предыдущий трек
- mp3_set_volume (uint16_t volume); // Уровень громкости 0
30
mp3_set_EQ (); // Эквалайзер 0
5 (0 — Normal, 1 — Pop, 2 — Rock, 3 — Jazz, 4 — Classic, 5 — Bass)
Пример 2. Автономное управление без Arduino, с помощью подключенных кнопок.
Данный модуль может работать как под управлением микроконтроллера Arduino, так и автономно, как самостоятельный проигрыватель mp3.
Но модулем нужно как-то управлять, регулировать громкость, переключать треки и тд. Эти возможности мы можем реализовать очень просто, нам нужно подключить управляющие кнопки, и с помощью них мы сможем полноценно управлять mp3 проигрывателем.
Есть несколько вариантов подключения:
Простой способ (Минимум функций):
Расширенный способ (Максимальный функционал):