DFPlayer + Арудино

Вопросы и ответы связанные с цифровым управлением, аналоговой автоматикой и их элементами
Сообщение
Автор
Аватара пользователя
Василий
Модератор
Сообщения: 9393
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 329 раз
Поблагодарили: 422 раза
Контактная информация:

DFPlayer + Арудино

#1 Непрочитанное сообщение Василий »

Коллеги, не дает мне покоя звук :)

Для тестов приобрел второй из двух доступных и главное маленьких mp3 модулей - DFPlayer mini (первым был wtv020-sd-16p, но тот совсем убогий).

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

Может быть кто-нибудь знает как от паузы избавиться?
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

shalex
Сообщения: 285
Зарегистрирован: Сб июн 06, 2015 3:26 pm
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Re: DFPlayer + Арудино

#2 Непрочитанное сообщение shalex »

Хорошо бы на скетч посмотреть. Мельком посмотрел примеры с wtv020 - надо статус опрашивать постоянно, сам модуль не сообщает о своем состоянии, если правильно понял.

Аватара пользователя
Василий
Модератор
Сообщения: 9393
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 329 раз
Поблагодарили: 422 раза
Контактная информация:

Re: DFPlayer + Арудино

#3 Непрочитанное сообщение Василий »

Да пожалуйста :) Прицепил.

Только дело в том, что похоже плеер реально не умеет играть без пауз.
Я уже даже самый свежий китайский даташит на чип перевел :)

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

В принципе можно сократить время между концом трека и подачей команды на проигрывание следующего прицепившись на gpio ногу. На чипе есть такая, которая показывает идет воспроизведение или нет. Соответственно если завязать на эту ногу начало проигрывания можно исключить ровно половину обмена по последовательному порту (10 байт ответа). Но что-то мне подсказывает, что фига там пауза уберется окончательно.

В качестве плеера для озвучки станционных и прочих эффектов DFPlayer идеален, он сильно лучше использованного мной wtv020-sd-16p. Видит все карточки подряд, меньше проводов, так как используется всего 2, и протокол управления понятнее.

Для звукового декодера - не подходит из-за пауз... Все таки смотрю в сторону чипа vs1053b. Ну либо идти другим путем и использовать вывод звука прямо через ардуину с библой типа TMRpcm.
Вложения
dfplayerv2.ino
(5.56 КБ) 896 скачиваний
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

shalex
Сообщения: 285
Зарегистрирован: Сб июн 06, 2015 3:26 pm
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Re: DFPlayer + Арудино

#4 Непрочитанное сообщение shalex »

Спасибо!

Судя по коду, сейчас режим синхронный. Если будете пробовать с ногой в качестве ОС, то напишите итог, пожалуйста?
Скорость обмена всего 9600, вдруг получится )))

Аватара пользователя
Василий
Модератор
Сообщения: 9393
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 329 раз
Поблагодарили: 422 раза
Контактная информация:

Re: DFPlayer + Арудино

#5 Непрочитанное сообщение Василий »

shalex писал(а):Спасибо!

Судя по коду, сейчас режим синхронный. Если будете пробовать с ногой в качестве ОС, то напишите итог, пожалуйста?
Скорость обмена всего 9600, вдруг получится )))
Там есть корявость в описаниях, почему-то перепутан флаг синхронный\асинхронный то есть если передаешь в функцию play 0 фидбек приходит после проигрывания файла, а если 1 то нет :) Вернее сразу возвращается статус.

На моем китайском модуле, потребная нога gpio не распаяна с чипа. А та что в описании означено как BUSY - не работает. Я конечно постараюсь выпаять модуль и попробовать с ногой, но быстро не обещаю. А то мне сейчас интересные запчасти приехали, цифровые потенциометры, для модификации РУ пульта. Скорее всего буду с ними возиться в ближайшее время.
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

Аватара пользователя
Василий
Модератор
Сообщения: 9393
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 329 раз
Поблагодарили: 422 раза
Контактная информация:

Re: DFPlayer + Арудино

#6 Непрочитанное сообщение Василий »

Был не прав, нога BUSY на модуле работает. Как и ожидалось - пауза стала меньше в 2 раза. Но совсем не исчезла. Причем по замерам, приблизительным конечно, время тратится именно на передачу команды по последовательному интерфейсу. Если выдавать команду проигрывания, когда предыдущий трек еще не закончен, паузы нет.

В качестве костыля - можно посчитать время всех треков и хардкодом забить значения, для старта нового трека с небольшим упреждением. Работать будет, но некрасиво :)
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

shalex
Сообщения: 285
Зарегистрирован: Сб июн 06, 2015 3:26 pm
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Re: DFPlayer + Арудино

#7 Непрочитанное сообщение shalex »

Василий писал(а):В качестве костыля - можно посчитать время всех треков и хардкодом забить значения, для старта нового трека с небольшим упреждением. Работать будет, но некрасиво :)
Класс! Может тогда другой костыль - постоянно опрашивать на предмет "сколько осталось" и вовремя засылать команду запуска другого трека?

Аватара пользователя
Василий
Модератор
Сообщения: 9393
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 329 раз
Поблагодарили: 422 раза
Контактная информация:

Re: DFPlayer + Арудино

#8 Непрочитанное сообщение Василий »

А вот нету там команды "сколько осталось" :) Есть идея попробовать заслать неполную команду пока трек играется и последний байт по ноге. Может быть так получится еще сократить.
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

shalex
Сообщения: 285
Зарегистрирован: Сб июн 06, 2015 3:26 pm
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Re: DFPlayer + Арудино

#9 Непрочитанное сообщение shalex »

Василий писал(а):А вот нету там команды "сколько осталось" :) Есть идея попробовать заслать неполную команду пока трек играется и последний байт по ноге. Может быть так получится еще сократить.
Отличная мысль - загнать команду заранее! Как еще один вариант костыля - в названии файла передавать длительность трека, но это уже борщ ))

Аватара пользователя
Василий
Модератор
Сообщения: 9393
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 329 раз
Поблагодарили: 422 раза
Контактная информация:

Re: DFPlayer + Арудино

#10 Непрочитанное сообщение Василий »

С предзасылом команды - не помогло. Пауза вроде как стала еще меньше, но не исчезла.

С названием не выйдет, эта шняга не умеет получать названия :(
Да я в принципе смирился.. Заказал пару vs1053b правда там писанины много, но все таки есть простор для творчества.

А этот плеер вполне пригоден для озвучки всяких эффектов.
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

Ответить

Вернуться в «Цифровое управление, Аналоговая автоматика и их элементы»