DFPlayer (одноразовое включение перед циклом)

Тема в разделе "Arduino & Shields", создана пользователем redven, 8 апр 2016.

Метки:
  1. redven

    redven Нерд

    Доброго времени суток!

    С функционированием плеера разобрался прочитав статьи на форуме.

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

    Если разместить задачу (воспроизведение первого трека) во главе цикла - запись воспроизводится при каждом цикле, а так как мне нужно считывать данные с сенсоров (обновлять информацию о них каждые 9600 ) то этот метод не подходит.

    Пробовал и в заданный промежуток времени, но так как идут циклы он тоже не подходит
    Код (C++):
        if (time = 10)
        {
        mp3_play (1);
        delay(70000);
        }
    Подскажите мудрецы)!
     
  2. ostrov

    ostrov Гуру

    Команду в setup()
     
  3. redven

    redven Нерд

    Переносил её в setup , но её просто не видит. Задержку, самое интересное, видит после включения трека, но трек не воспроизводит.
     
  4. ostrov

    ostrov Гуру

    Между объявлением и командой нужно выждать примерно 100мс:
    Код (C++):
    mp3_set_serial(Serial1);
    delay(100);
    mp3_play (1);
    delay(70000);
    И еще: if(time=10) это не команда сравнения, это присвоение переменной time значения 10. Правильно так:
    if(time==10)
     
    Tomasina и redven нравится это.
  5. redven

    redven Нерд

    Спасибо большое за науку! Завтра же все попробую)
     
  6. redven

    redven Нерд

    Всё заработало. Помог Ваш совет, еще раз спасибо!