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

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

  1. variator

    variator Нуб

    Понятно.
    Значит неверно понял пост.
     
  2. ostrov

    ostrov Гуру

    На своих плеерах такого не замечал. Да и если бы было сами посудите что проще: контролировать один пин Hi/Lo или отслеживать сериал порт с анализом сообщений?
     
    Последнее редактирование: 29 янв 2018
    DIYMan нравится это.
  3. variator

    variator Нуб

    Подключил плеер через USB COM UART TTL CH340G и плеер заработал! Отправляются команды, приходят ответы.
    А при подключении к ардуино (UNO R3 CH340) команды через монитор к плееру не идут.
     
    Последнее редактирование: 13 фев 2018
  4. IURIJ

    IURIJ Нуб

    Помогите разобраться при компиляции скетча выдаёт ошибку в строке mp3_set_serial (serial); пишет "serial" was not declared in this scope
     
  5. DIYMan

    DIYMan Гуру

    А разве существует serial? Есть Serial, с большой буквы ;)
     
  6. IURIJ

    IURIJ Нуб

    А хоть с большой хоть с маленькой всё равно ошибка.
     
  7. DIYMan

    DIYMan Гуру

    А тогда код выкладывайте, а то у меня в подвале стук странный раздаётся - не подскажете, что это?
     
  8. IURIJ

    IURIJ Нуб

    Смотрите
     

    Вложения:

    • Скетч.txt
      Размер файла:
      24,7 КБ
      Просмотров:
      112
  9. DIYMan

    DIYMan Гуру

    Не буду. Вставьте скетч по правилам форума.
     
  10. IURIJ

    IURIJ Нуб

    В общем разбор полетов производите сами
     
  11. IURIJ

    IURIJ Нуб

    Держи


    #include <SoftwareSerial.h>
    #include <DFPlayer_Mini_Mp3.h>
    SoftwareSerial mySerial(10, 11); // RX, TX
    //////
    unsigned long currentTime;
    unsigned long loopTime1;
    unsigned long loopTime2;
    //////
    boolean v=0; /// счетчик блокировки
    boolean m=0; // переменная сброс таймера
    boolean s=0; // переменная вкл нагревателя
    boolean a=0; // переменная двери 1 нет готовности 0 готовность
    boolean b=0; // переменная балкона 1 нет готовности 0 готовность
    boolean c=0; // переменная истории двери 0 небыло сработ 1 была сработка
    boolean d=0; //переменная истории балкона 0 небыло сработ 1 была сработка

    #define ZVONOKNANOMER "ATD+7123456667;" /// КУДА БУДЕМ ЗВОНИТЬ ПРИ СРАБОТКЕ пишите свой номер
    #define TELEFONNACH "7123456667" //// 1 НАШ НОМЕР ПОСТАНОВКИ СНЯТИЯ И УПРАВЛЕНИЯ
    //#define TELEFONNACH2 "79023559118" //// 2 НАШ НОМЕР ПОСТАНОВКИ СНЯТИЯ И УПРАВЛЕНИЯ

    void setup()
    { Serial.begin(9600);
    mySerial.begin(9600);
    ///////////////////////////
    Serial.begin (9600);
    mp3_set_serial (Serial);
    mp3_set_volume (29);/// громкость то 0 до 30
     
  12. DIYMan

    DIYMan Гуру

    Вставьте код по правилам форума. Для вставки кода есть кнопочка "<>" на тулбаре.
     
  13. variator

    variator Нуб

    DIYMan, зачем Вам код? Вы же все равно по делу ничего не подсказываете, в крайнем случае выкладываете псевдоскетч, который не будет работать.
    Была бы репутация, такие пользователи как Вы исчезли как класс.
     
  14. DIYMan

    DIYMan Гуру

    Ну вам, конечно, виднее - помогаю я или нет. Вам вот - точно теперь не буду помогать, желания помогать выкобенивающимся - нет.

    И да, мне очень приятно, что у у меня появился персональный хейтер (только-только вылупившийся 25 января сего года, чтобы потявкать на меня) - это значит, что я всё делаю правильно ;)
     
  15. ostrov

    ostrov Гуру

    Даю подсказку:
    [​IMG]
     
  16. IURIJ

    IURIJ Нуб

    Скетч полностью не входит
     
  17. DIYMan

    DIYMan Гуру

    Приведите тогда минимальный код на другом скетче, который воспроизводит проблему ;)
     
  18. variator

    variator Нуб

    Здравствуйте! Разбираюсь с отправкой команд плееру. Обнаружил следующую особенность. Если в массиве есть цифра ноль, то она не отправляется в порт, а также и все последующие за ней символы. А если массив начинается с нуля, то, соответственно, вообще команда не идет.
    С чего бы это?
    Код (C++):

    char play [3] = {0x00, 0xfe, 0xa2};
    void setup() {
    Serial.begin(9600);
    }

    void loop() {
    Serial.print (play);
    delay (1000);
    }
     
     
  19. DIYMan

    DIYMan Гуру

    С того, что не читаем документацию. Вопрос на засыпку: чем отличается Serial.print от Serial.write? И второй вопрос - что надо юзать в вашем случае? Ответите на эти вопросы - и будет щастье.
     
  20. variator

    variator Нуб

    О, дайте же мне модератора! Смотрите, какой я прилежный, как я отваживаю разных неучей с форума. Я ж уже ГУРУ, совсем немножко осталось.
    Дайте мне это звание. МОЛЮ ВАС!
    P.S. При смене на Serial.write ситуация аналогична.
     
    Последнее редактирование: 4 апр 2018