Помогите разобраться с UART DFPlayer Mini 2.0

Тема в разделе "Arduino & Shields", создана пользователем Unruly, 27 ноя 2014.

  1. geher

    geher Гуру

    Похоже, что моему второму плэйеру тоже конец пришел. А все после того, как случайно неправильно подключил. Похоже, +5 попали не туда.
    Некоторое время работает, потом начинает хрипеть и спустя некоторое время совсем затыкается.
    Если отключить питание и включить снова, некоторое время опять работает.
    Но новую библиотеку (mp3TF.zip) все же протестировал. Пока плэйер недолгое время работает, команды принимаются, громкость регулируется.
     
  2. Weim

    Weim Нуб

    пока очевидно одно, что модуль этот оказался не так прост как хотелось бы)
     
  3. Unruly

    Unruly Нерд

    Макетку уже разобрал, собирать не охота. Библиотека v0.1 та что поправлена, работает но требует доработок, так как при частых командах плеер требует рессет, и еще для ускорения воспроизведения после реесета ему нужно указывать какой тип памяти использовать. Что касается кнопок смотри пункт 4.4 с сервис мануала, с кнопками по макетке бывают наводки так как у меня на резисторах были очень тонкие провода, но если нажимать не резко а с задержкой, то все работает.
    http://www.dfrobot.com/image/data/DFR0299/DFPlayer Mini Manul.pdf
    Плеер прекрасно работает как на 3.5v так и на 5v... рабочий диапазон 4.2v.
    Если есть мнение что спалил плеер, то попробуй закоротить на массу контакт BUSY ... если диод горит значит питание есть и чип жив. Я подключал простой USB порт и воспроизводил с флешки, все работает, все типы памти присутствуют, на компе распознается как USB накопитель, возможен формат и изменение файлов на TF.
    Если IO1 или IO2 резко закоротить на массу то должен проигрываться трек.
    При подключении к UART не зависимо от напряжения требуется резистор 1К, при конекте без резистора велика вероятность убить шилд.
     
  4. Unruly

    Unruly Нерд

    Убедительная просьба, если кто в сети найдет DFPlayer как элимент для Fritzing, дайте ссылку)))
     
    padre нравится это.
  5. Weim

    Weim Нуб

    так, чудеса вроде закончились) дело было в перемычке...
    По серийному порту плеер завелся - урааааа! с кнопок все так же нет.
    Если запускать плеер по серийному порту - есть какая-то команда которая будет запускать случайный трек, а не по очереди?
     
  6. Unruly

    Unruly Нерд

    Ребята, у кого плеер тупит при частой отправке команды по UART - добавляем задержку на 100мс-150мс перед каждой отправкой.

    Weim - с кнопками он должен работать как автономное устройство (проверенно).
    • PS - купил 3 штуки, 1 не работает так как должен. (воспроизводит треки и матает в перед, назад не переключает, но зато это единственный плеер который хранит в себе настройки громкости. Закоротил IO1 на GRND - воспроизводит только 1 трек без повтора. Благо и в таком исполнении пригодился:D)
    • Команда рандом поддерживается в библиотеке 2.0, но библиотека не стабильна. Будет очень хорошо если ее доведут до ума)))
     
  7. acos

    acos Официальный гик Администратор

  8. Unruly

    Unruly Нерд

    Ура я разобрался с библиотекой и плеером.
    Значит по очереди:
    1. Библиотека 2.0 работает на все 99%, она корректна но только на mp3 формат (WAWE пока не проверял)
    2. Что бы все заработало правильно, делаем следующее:
    • Флешка отформатирована в формате FAT32
    • В корне флешки создаётся папка "mp3"
    • В свойствах файлов которые будем загружать на флешку. нужно удалить информацию о треке "Описание - отсутствует" "Номер - отсутствует"
    • Переименовываем наши треки так "0001.mp3-9999.mp3"
    • В папку на флешке, заливаем все свои файлы имена которых "0001-9999"
    • В скетче который будет заливаться в Arduino добавляем в void setup задержку примерно от 5 до 15 секунд delay (15000); (задержку подберите индивидуально, все зависит от напряжения подаваемого на плеер, и кол-во файлов на флешке. Пока плеер не запустится, отправлять команду не стоит так как он тут же уходит в resset)
    Желаю всем удачи.)))
     
    Последнее редактирование: 5 дек 2014
    Tomasina, acos и Daniil нравится это.
  9. Unruly

    Unruly Нерд

    Ну раз уж прошли этап настройки, то можно перейти и к другим задачам)))

    Надеюсь что верхний пост помог вам разобраться с подключением плеера отправкой команд на него.
    Вопрос такой - у кого получилось получить команду о состоянии плеера по запросу, и как вообще это сделать?

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

    Просто единственный вариант который пока работает, это сигнал с ножки BUSY. Но: это еще один занятой порт и абсолютно свободный RX.
     
  10. lerik2703

    lerik2703 Гик

    запросите состояние плеера 0х42 адрес или функцией mp3_get_state () ,посмотрите что ответит и вместе с даташитом разберите ответ :)
     
    Последнее редактирование: 6 дек 2014
  11. Unruly

    Unruly Нерд

    пробовал, ответ почему то не приходит... опять походу нужно брать в руки бубен и шаманить.. если бы китайцы к даташиту приложили и алгоритм действий с этой игрушкой то было бы проще..
     
  12. lerik2703

    lerik2703 Гик

    ответы приходят нормально !(7E FF 06 42 00 00 FE B9 EF) плеер молчит, (7E FF 06 42 00 01 FE B8 EF) плеер занят! при том не зависимо к какому порту подключен (аппаратному или программному ) да и ещё после каждого трека,модуль сообщает о том что тот закончился (7E FF 06 3D 00 02 FE BC EF трек номер 0002) так что нужно следить за буфером последовательного порта!
     
    Последнее редактирование: 7 дек 2014
    Unruly нравится это.
  13. Ragga

    Ragga Нуб

    Не пойму, как пользоваться функциями типа mp3_get_volume ();
    Я так понимаю, что плеер должен сообщить текущее значение громкости, а как его посмотреть?
     
  14. SerhioRamos

    SerhioRamos Нуб

    Ребята, помогите, скачал библиотеку, сделал импорт библиотеки в прогу, при компиляции пишет следующее:

    mp3Test.ino:7:19: fatal error: mp3TF.h: No such file or directory
    compilation terminated.
    Ошибка компиляции.

    В чем может быть дело? Насколько понимаю проблема возникает при объявлении библиотеки в коде, то ли не может ее найти то ли что...??
     
  15. Unruly

    Unruly Нерд

    могу залить библиотеку на почту
     
  16. SerhioRamos

    SerhioRamos Нуб

    Работает крайне нестабильно, запуситься на 10 сек и выключается (гаснет синий диод и прекращается звук), уходит в ожидание сек на 30 и снова запускается... ТХ и RХ подключены через 220 кОм, питание 3.3В... В чем может быть дело??
     
  17. SerhioRamos

    SerhioRamos Нуб

    Так... вроде заработало, колонка на 5Вт, 8Ом, при полной громкости была видимо слишком большая нагрузка и он уходил в перезагруз?.. поставил громкость на 15 и работает норм..
     
    Последнее редактирование: 1 июл 2015
  18. Уважаемые! Позволяет ли этот плеер читать файлы с флешки?
     
  19. geher

    geher Гуру

    Только музыкальные, и только в процессе воспроизведения оных самим плэйером, причем только уже декодированными, в аналоговом виде.
     
  20. Onkel

    Onkel Гуру

    Да , точно непрост.
    как они контрольные суммы считают? Голову же сломал, вот из примера

    7E FF 06 03 00 00 01 FF E6 EF

    хоть тресни, не могу никакой комбинацией получить к.с. FF E6

    пытался библиотеку вкурить, не вышло.
    сам я им не с ардуинки управляю, поэтому напрямую библиотеку заюзать не могу.


    кстати, на посылку этой строки у меня плейер ругается ругательством 40 04.