DF Player mini подключение к Ардуино

СОДЕРЖАНИЕ ►
Довольно часто в проектах требуется сделать проигрывание музыки на Ардуино с SD карты. Для этого используется звуковой модуль dfplayer mini, который позволяет воспроизводить звуки в формате mp3 с флэшки или карты памяти. Рассмотрим, как подключить dfplayer mini к Arduino UNO, дадим описание и распиновку данного модуля, а также команды с библиотекой DFPlayer_Mini_Mp3.h для управления.
Характеристики DF Player mini
Распиновка модуля приведена на изображении, он представляет собой недорогой MP3-модуль со встроенным усилителем и выходами к динамикам. DFPlayer поддерживает такие аудио форматы, как MP3, WAV и WMA, которые можно считывать с флэшки или TF-карты до 32 Гб. С помощью данного модуля можно озвучивать проекты на Ардуино, один из них мы представляли ранее — это световой меч своими руками для детей.

Кроме того, данный модуль можно использовать без платы Arduino Nano, подключив к модулю питание, динамик и кнопки напрямую. Схема данного подключения (datasheet dfplayer mini) размещена далее на схеме выше. Питание модуля должно быть в пределах 3,3 — 5 Вольт. Все звуковые файлы должны лежать в папке «mp3» на флэшке или TF карты в следующем формате: «0001.mp3», «0002.mp3», «0003.mp3» и т.д.
Подключение DF Player mini к Arduino
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- модуль DF Player mini;
- SD карта или флэшка;
- динамик;
- провода «папа-мама».
На приведенной ниже схеме представлено подключение DFplayer mini Arduino Nano. Также на приведенной схеме проиллюстрировано, как подключить к звуковому модулю USB порт, чтобы проигрывать звуки флэшки. После сборки схемы, сохраните на Flash-карте несколько звуковых файлов в формате: «0001.mp3», «0002.mp3», «0003.mp3» в папке «mp3». Все файлы и скетч можно скачать одним архивом ниже.

После сборки схемы загрузите следующий скетч. Внимание! Перед загрузкой отключите последовательный порт UART (порты RX и TX) на Ардуино. Иначе компьютер не определит микроконтроллер и программа не загрузится. Скачать скетч, библиотеку DFPlayer_Mini_Mp3.h и звуковые файлы можно одним архивом здесь.
Скетч для mp3 модуля к Ардуино
#include <SoftwareSerial.h> // библиотека для для обмена данными #include <DFPlayer_Mini_Mp3.h> // подключаем библиотеку для DFPlayer Mini void setup() { Serial.begin(9600); mp3_set_serial(Serial); // включаем передачу данных с DFPlayer mini mp3 delay(1); // задержка в 1ms для установки громкости mp3_set_volume(15); // устанавливаем громкость от 0 до 30 mp3_set_EQ(0); // устанавливаем эквалайзер от 0 до 5 } void loop() { mp3_play(1); // проигрываем файл mp3/0001.mp3 delay(5000); // задержка 5 секунд mp3_next(); // проигрываем следующий файл delay(5000); // задержка 5 секунд mp3_play(4); // проигрываем файл mp3/0004.mp3 delay(5000); // задержка 5 секунд mp3_prev(); // проигрываем предыдущий файл delay(5000); // задержка 5 секунд }
Пояснения к коду:
- звуковой модуль, кроме усилителя, имеет эквалайзер. С помощью команды
mp3_set_EQ ();
задается разная частота звучания музыки. Можно выставлять следующие значения: 0 — Normal, 1 — Pop, 2 — Rock, 3 — Jazz, 4 — Classic, 5 — Bass.
Описание команд библиотеки DFPlayer_Mini_Mp3.h:
mp3_set_volume();
// установка громкости от 0 до 30mp3_set_EQ();
// эквалайзер от 0 до 5mp3_play();
// запуск воспроизведенияmp3_next();
// следующий трекmp3_prev();
// предыдущий трекmp3_pause();
// паузаmp3_stop();
// стоп
Подборка на тему: DF Player mini подключение к Ардуино
27 комментариев для “DF Player mini подключение к Ардуино”
Добавить комментарий
Записи похожие на: Arduino. Подключение DFPlayer mini mp3
- Счетчик входящих людей на Ардуино
- Подключение датчика тока к Ардуино
- Лазерная игрушка для кошки своими руками
- Ардуино задержка: delay и millis (без delay)
Проекты похожие на: Arduino. Подключение DFPlayer mini mp3
Здравствуйте. Не получается выставить максимальную громкость. После уровня 20 плеер отказывается работать. В динамике получаю трещотку. Выход с встроенного усилка, питание 3.3 вольт, динамик 0,5 Вт на 8 Ом. Не думаю, что дело в питании. Может наводки от усилка идут на контролер? (Управление ардуинкой по UARTу)
Вижу такие варианты: подключите DF Player к 5 Вольтам, замените динамик, уменьшите громкость. После какого порога динамик начинает трещать?
Рома, такая же проблема с таким же, вероятно, динамиком на 0,5 Вт и 8 Ом. При том от уровня питания 3,3 В или 5 В ничего не зависит. Также продолжает трещать и на 5 В. Но я управлял с помощью кнопок без контроллера. Я так понимаю для решения этой задачки необходимо действительно менять динамик.
Необходимо поменять питание модуля DF Плеера = 5 вольт 1 Ампер хотя бы. или питать от акум. 18650
Что бы не было трещетки, динамик необходимо подключать к GND и AUX1 или AUX2
Доброго суток дня всем.
Я хочу иметь несколько папок на карте с разными аудио файлами, как должен выглядеть код, чтобы переключать папки через кнопки на Ардуино. Спасибо всем за помощь
К сожалению, все аудио файлы должны лежать в одной папке «mp3»
код крайне странно работает
функция mp3_play(1); delay(5000); не работает ( mp3_play(2);mp3_play(3);) так же не работают. А вот mp3_play(); mp3_next(); mp3_prev(); работают исправно.
Папка должна назваться mp3 и только так. Когда вы пишите mp3_play(1) это значит плеер ищет папку mp3 песню 0001. Файлы обязательно должны называться 0001хххх.mp3 Функция mp3_next, если файлы не пронумерованы, берёт наугад и хаотично
Спасибо! Все работает на dfplayer от кнопок, без Ардуино. Громкость регулируется долгим нажатием, треки переключаются быстрым нажатием на кнопку. Ещё не со всеми функциями разобрался, но штука полезная и интересная.
Стоп-стоп, не путайте людей. Эти сведения только для работы с этой БИБЛИОТЕКОЙ, но не с этим модулем. Папок может быть всего до 255 и в каждой папке может быть до 255 файлов. Вот мануал: files.amperka.ru/datasheets/DFPlayer_Mini.pdf
Vadim прав,- работают еще папки 01-99, правда нумерация файлов в них уже не 3 , а 4 знака: 001.mp3; 002.mp3; 003.mp3; …….и т.д.. (или 001_наименование.mp3; 002_наименование.mp3, 003_наименование.mp3……..и т.д.. )
Я попробовал — получилось, как в инструкции.
При воспроизведении звуков в Мониторе порта появляются рандомные символы, в основном квадратики, я так понимаю что то с кодировкой. То же самое было даже при отключенном RX. Скетч из примера.
Вопрос: Что за символы и как их корректно отобразить?
Порты TX и RX (аппаратный последовательный порт UART) в скетче работают для обмена информацией с модулем DF Player mp3, поэтому их нельзя использовать для вывода информации на Мониторе порта. Если есть такая необходимость, то следует добавить библиотеку SoftwareSerial для создания программного последовательного порта (для этого можно использовать любые цифровые порты) и уже к ним подключить DF Player.
Привет. Как сделать, чтобы воспроизведение было один раз по условию, например, когда на аналоговом входе будет 500. Надо чтоб при достижении этого значения запустился один трек и больше не повторялся.
После
mp3_play();
поставьте задержку с нужным количеством миллисекундВСЕМ здравствуйте.
При работе указанного скетча и содержимого папки МР3 ,музыкальные файлы воспроизводятся с обрезанием окончания. Воспроизведение длится 5 с, как указано в delay(5000).
А нельзя ли доработать библиотеку так, чтобы функция mp3_play () ожидала окончания проигрывания предыдущего файла..(TF card finish playback 1st track —> 7E FF 06 3D 00 00 01 xx xx EF )
А то приходится между функциями mp3_play () вставлять бесконечный цикл с выходом по сигналу с 16 контакта Busy
while ( !digitalRead(PIN_INPUT)){}
а мне вообще нужно кучу процессов совместить и там delay() точно ни к месту!!!!!
Не встречались более толковые библиотеки?
1) чтоб не было треска, на Rx модуля припаяйте резистор 1к
2) чтоб ардуино определяла конец файла, выход модуля BUSY подайте на любой вход Ардуины и в цикле после PLAY проверяйте BUSY и будет Вам счастье)
**чтоб не было треска, на Rx модуля припаяйте резистор 1к**
какая связь? усилителю не хватает питание, причем здесь передача команд UART
Здравствуйте, столкнулся с проблемой что Arduino IDE не видит эту библиотеку (не выделяет красным), качал с нескольких сайтов одно и тоже, видит в графе «подключить библиотеку» , но опять же не видит в программе. В чем может быть проблема?
Если программа не выводит ошибку, то никаких проблем нет в том, что не выделяется красным цветом библиотека
В Вашем примере библиотека SoftwareSerial совершенно ни при чем, она никакой функции не выполняет. Модуль подключен к аппаратному Serial — выводы 0 и 1, плюс к этому строка mp3_set_serial(Serial); поэтому и приходится отсоединять RX, TX.
В разрыв цепей Rx и Tx обязательно нужно включать резисторы 1 кОм. Так как логические уровни для того модуля 3.3В, а у Ардуинки 5В. По питанию нужно поставить электролит большой емкости, так как модуль при максимальной громкости жрет очень прилично. И вообще питать модуль лучше непосредственно от источника (тока стабилизатора Ардуинки может не хватить). Кстати, включение резисторов в цепи Rx и Tx помогают загружать скрипт в Ардуино без отключения DFPlayer.
Спасибо за ваши советы
Всё работает хорошо. От ардуино питается одновременно и 5 управляемых светодиодов плюс один подсветки.MP3 не греется.. Запитал от постороннего источника через LM317. 12 — 8B Греется LM. Ток 0,5А. Громкость 30. Динамик 4OM- 3w.
Необходимо отдельное питание 5 вольт.