Плеер для arduino

Модуль 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 скачать можно с этого сайта.
Если вы хотите собрать плейер без Ардуино, то и библиотека не нужна. Просто подключаете модуль по этой схеме и слушаете музыку.
Правда в такой конструкции есть недостатки.

  1. Нельзя включить запись, например 12, можно только пролистывать до нужной записи нажимая кнопку Следующая/Предыдущая. Короче, только по порядку.
  2. Нельзя запустить случайное проигрывание, опять только по порядку
  3. Можно прослушивать только по одной записи. Одна проиграла, плейер выключился. Снова нажали он включился и стала воспроизводиться следующая запись.

Подготовка карты 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)

  • mp3_pause (); // пауза
  • mp3_stop (); // остановить воспроизведение
  • mp3_random_play (); // Воспроизвести в случайном порядке.
  • void mp3_get_state (); //send get state command
  • void mp3_get_volume ();
  • void mp3_get_u_sum ();
  • void mp3_get_tf_sum ();
  • void mp3_get_flash_sum ();
  • void mp3_get_tf_current ();
  • void mp3_get_u_current ();
  • void mp3_get_flash_current ();
  • void mp3_single_loop (boolean state); //set single loop
  • void mp3_DAC (boolean state);
  • Подключение к Ардуино будет описано в следующей статье блога (подписывайтесь что бы не пропустить).

    А сейчас рассмотрим, как собрать без Ардуино.

    Есть два способа, Простой и более сложный.
    Рассмотрим простой.
    Нам понадобится сам модуль плеера, 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 .

    1. Для начала нам необходимо подключить карту через катридер к компьютеру и отформатировать карточку.
    2. Теперь нам нужно создать папку с названием «mp3«.
    3. Записать ваши 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)

  • mp3_pause (); // пауза
  • mp3_stop (); // остановить воспроизведение
  • mp3_random_play (); // Воспроизвести в случайнВоспроизвести в случайном порядке.
  • void mp3_get_state (); //send get state command
  • void mp3_get_volume ();
  • void mp3_get_u_sum ();
  • void mp3_get_tf_sum ();
  • void mp3_get_flash_sum ();
  • void mp3_get_tf_current ();
  • void mp3_get_u_current ();
  • void mp3_get_flash_current ();
  • void mp3_single_loop (boolean state); //set single loop
  • void mp3_DAC (boolean state);
  • Пример 2. Автономное управление без Arduino, с помощью подключенных кнопок.

    Данный модуль может работать как под управлением микроконтроллера Arduino, так и автономно, как самостоятельный проигрыватель mp3.

    Но модулем нужно как-то управлять, регулировать громкость, переключать треки и тд. Эти возможности мы можем реализовать очень просто, нам нужно подключить управляющие кнопки, и с помощью них мы сможем полноценно управлять mp3 проигрывателем.

    Есть несколько вариантов подключения:

    Простой способ (Минимум функций):

    Расширенный способ (Максимальный функционал):

    Источник

    Adblock
    detector