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

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

  1. Onkel

    Onkel Гуру

    через пару месяцев вы захотите подключить динамик или наушник, забыв про специфику питания, и мк может поплохеть, в том числе и необратимо.
    а в мониторе порта вы эхо видите?
    На будущее рекомендую обзавестись usb/uart интерфейсом и сделать сниффер. Цена вопроса сотня- другая рублей, но оно того стоит.
     
  2. jaip

    jaip Нуб

    Да, в мониторе вижу значения переменных play и stat, которые посылает ардуинка и эхо всего, что отправляю руками.

    Имеется ввиду для перехвата и вывода в монитор команд от ардуины к плееру и обратно? Буду благодарен за ссыль по теме.
     
  3. Onkel

    Onkel Гуру

    да любой Usb/uart интерфейс и любой шестнадцатиричный терминал.
    например, терминал я люблую HTerm, а интерфейсы гуглите по CP2102 или FT232R или CH341A + usb uart

    а в плейере есть байт, который надо выставить в запросе чтобы плейер отвечал. На память не помню, но где-то полгода назад я тут выкладывал примеры.
     
  4. jaip

    jaip Нуб

    Согласно даташиту 5-й байт (если считать слева). В переменной stat пробовал и с ним и без него (пересчитывая контрольную сумму есс-но), и посылал команды найденные в этой теме выше, безрезультатно
     
  5. jaip

    jaip Нуб

    Есть ли способ достоверно проверить работоспособность ноги tx на плеере?
     
  6. Onkel

    Onkel Гуру

    у меня отвечал этот плейер. А вы можете попробовать без программы ардуины, просто подключите плейер к tx/rx и посылайте и принимайте терминалом, через ардуину как через virtual com port.
     
    jaip нравится это.
  7. Onkel

    Onkel Гуру

    подключить светодиод с резистором 470 Ом.
     
  8. jaip

    jaip Нуб

    Спасибо!
    Использовал во эту инструкцию http://hardwarefun.com/tutorials/using-arduino-as-a-bridge-to-connect-serial-devices-with-pc.При управлении с компьютера - все работает как надо, команды на плеер отправляются, ответ приходит. Ардуинка же по-прежнему не принимает. Теперь есть подозрения на нерабочий пин rx в ардуинке. Можно ли это проверить при отсутствии другого МК и usb-uart интерфейса?
     
  9. Onkel

    Onkel Гуру

    можно. передавайте по тх байт, принимайте по rx и зажигайте светодиод , или другой тест можно сделать по приему - передаче.
    Кстати, в общем-то usart - это point 2 point, т.е. один-к-одному, а у вас оказалось сразу по три в точке, так что может поэтому и не работало. Например если к Uart подключен bluetooth, то вгрузить уже не получится.
     
  10. jaip

    jaip Нуб

    Да, все работает!
    Значит и плеер и ардуинка у меня полностью рабочие, буду копать дальше.
    Огромное спасибо за подсказки!
     
  11. Onkel

    Onkel Гуру

    вам надо софтовый uart сгенерить и его пустить на плейер
     
  12. jaip

    jaip Нуб

    Ура, заработало!
    Проблема разрешилась удалением резистора с ноги tx плеера. Подозреваю, что с резистором не хватало напряжения, чтобы установить значение 1 на пине rx ардуинки.
     
  13. sergio6988

    sergio6988 Нуб

    Подскажите пожалуйста,
    1) как я понял чтоб просто проверить этот плеер можно не грузить скетч а просто подключить его к ардуине через RX/TX и через монитор порта отправить ему команду mp3_play () и он должен заработать?
    2) если питание ардуины от USB а плеера от другого независимого источника нужно ли их минусы соединять между собой?
     
  14. Tomasina

    Tomasina Сушитель лампочек Модератор

    1) просто подать питание и замкнуть на землю пин Play/Next. Arduino для проверки не нужна.
    [​IMG]

    2) обязательно.
     
  15. sergio6988

    sergio6988 Нуб

    это

    Запустить без ардуины я могу, плеер играет и переключает, а вот с ардуины через RX/TX не получается .
     
  16. Tomasina

    Tomasina Сушитель лампочек Модератор

    Код (C++):
    #include <SoftwareSerial.h>
    #include <DFPlayer_Mini_Mp3.h>
    //
    void setup () {
        Serial.begin (9600);
        mp3_set_serial (Serial);      //set Serial for DFPlayer-mini mp3 module
        delay(100);                     // delay 1ms to set volume
        mp3_set_volume (15);          // value 0~30
        delay(100);          
    }
    //
    void loop () {      
        mp3_play (1);
        delay (60000)
    Как называются файлы и как они расположены на карте памяти?
     
  17. sergio6988

    sergio6988 Нуб

    QUOTE="Tomasina, post: 73594, member: 1690"]
    Код (C++):
    #include <SoftwareSerial.h>
    #include <DFPlayer_Mini_Mp3.h>
    //
    void setup () {
        Serial.begin (9600);
        mp3_set_serial (Serial);      //set Serial for DFPlayer-mini mp3 module
        delay(100);                     // delay 1ms to set volume
        mp3_set_volume (15);          // value 0~30
        delay(100);        
    }
    //
    void loop () {  
        mp3_play (1);
        delay (60000)
    Как называются файлы и как они расположены на карте памяти?[/QUOTE]


    Файлы обзывал 0001, 0002, 0003.... все свойства этих файлов стерты, расположены в корне и эти же файлы в папке MP3. данный скетч есть в тестовых, в ручную при замыкании контактов всё запускается и работает а при отправке с ардуины никак, пробовал и с резисторами и без, никакого результата, поэтому и возникла мысль как проверить RX/TX плеера. может быть не те команды посылаю отправлял. должен ли заработать если послать команду mp3_play () с монитора ком порта?
     
  18. ostrov

    ostrov Гуру

    Не понял как это? Вы отправляете прямо вот такую команду текстом в плеер?
     
  19. sergio6988

    sergio6988 Нуб

    А какую команду нужно отправлять? Подскажите пожалуйста...
     
  20. ostrov

    ostrov Гуру

    Вы вызываете функцию, а библиотека отправляет команду. Можно и без библиотеки, но тогда читать даташит от плеера и отправлять непосредственно команды в hex виде. Но лучше все же через библиотеку.