DFPlayer Mini со своей стандартной библиотекой не инициализируется

У меня есть мини-плеер DFPlayer, купленный на AliExpress. Плеер корректно работает в автономном режиме, но у меня возникают проблемы при его использовании со следующими компонентами:

  • Seeduino v4.0;
  • Карта microSD Smartbuy емкостью 2 ГБ.

Когда я пытаюсь использовать этот стандартный скетч для Arduino для подключения моего Seeeduino V4 к плееру:

  • если я установлю Serial, как mySoftwareSerial(11, 10), крошечный светодиод проигрывателя включится на 2 секунды, затем выключится, и после этого плата сообщит мне сообщение об ошибке ниже (видео здесь);
  • если я установлю серийный, как mySoftwareSerial(10, 11), крошечный светодиод проигрывателя включится и останется включенным, в то время как плата сообщит мне сообщение об ошибке ниже (видео здесь):
DFRobot DFPlayer Mini Demo
Initializing DFPlayer ... (May take 3~5 seconds)
Unable to begin:
1.Please recheck the connection!
2.Please insert the SD card!

Изображение этого модуля: Image

Принципиальная схема:

schematic

Я перепробовал почти все, что мог. Я изменил имена файлов на своей SD-карте, пытался использовать разные контакты, пытался использовать разные провода..! Я даже пытался отключить динамик от плеера!

Я также видел это сообщение на форуме производителя:

Я обнаружил, что паяное соединение на выводе TX было соединено с держателем SD-карты, эффективно соединяя вывод с землей. Попробуйте проверить непрерывность между TX и землей. Если они соединены, у вас плохой сустав. Мне удалось удалить лишний припой, и после этого он работал нормально. Это задача пайки средней сложности.

Может быть, это мое дело?

, 👍2

Обсуждение

Модуль функционирует как автономный проигрыватель. Если вы найдете учебник, в котором кто-то управляет им с помощью кнопок, и вам это удастся, вы можете устранить любые проблемы, которые могут возникнуть у вас по поводу SD-карты, ее форматирования, звуковых файлов и их форматирования. Затем вы можете отредактировать свой вопрос, чтобы устранить эти проблемы, указать фактический код, который вы используете, и очистить изображения фактической проводки., @timemage

Вы не показали, как вы подключили плеер к Arduino, @chrisl

@chrisl, отредактировал вопрос., @Starter

@timemage, исправил все, что мог, @Starter

В комментарии, который я оставил, предлагалось попробовать без Arduino, используя только сигналы кнопок в качестве диагностического теста, чтобы убедиться, что форматы и имена ваших файлов и карт верны. Вы действительно проводили этот тест?, @timemage

Плеер корректно работает в автономном режиме, @timemage., @Starter

Вы можете отредактировать этот факт в своем вопросе на ранней стадии, так как он сразу же ответит на кучу вопросов., @timemage

Вы, кажется, запутались в том, что такое правильная проводка контактов TX/RX. Если вы не в замешательстве, то вам следует убрать это из своего вопроса. Если вы все еще в замешательстве, я бы рекомендовал убедить себя, проверив соответствующие контакты TX и RX. Если к ним больше ничего не прикреплено, вы можете измерить их с помощью счетчика. Посмотрите, какой номер вы получите. Затем подключите резистор 1k (или около того) от контакта к 5 В, посмотрите, значительно ли изменится число. Попробуйте 1K для GND, посмотрите, изменится ли это снова. Если это существенно не изменится, вы смотрите на ведомый вывод, предположительно TX; если это так, предположительно RX., @timemage

Похоже ли, что инструкции производителя по подключению неверны? Вы думаете, что контакты RX и TX перепутались на моем DFPlayer или на моем Seeeduino?, @Starter

У меня нет особых причин так думать. Я просто отмечаю, что вы, похоже, не уверены. И если бы я не был уверен, какой pin какой, я бы выполнил такой тест, чтобы исключить эту переменную, о которой идет речь., @timemage

После простого переключения проводов RX и TX на моем Seeeduino я подключил плеер онлайн! Этот вопрос решен., @Starter


2 ответа


Лучший ответ:

1

Пожалуйста, проверьте, не перепутались ли контакты RX/TX. В моем случае простое переключение "мест" проводов RX и TX действительно помогло!

,

1

Я просто удалил тест на возвращаемое значение конструктора и предположил, что он инициализирован правильно. Затем он работал правильно каждый раз, когда я его запускал. У меня нет объяснения этому, но это сработало.

,