Серийные команды от ПК к DF-Player [закрыто]

Вопрос или проблема

Мой клон DFPlayer mini воспроизводит файлы 0001.mp3 и 0002.mp3 из корневого каталога с кнопками, подключенными к IO1 и IO2.

Теперь я подключил его к своему ПК с помощью USB Serial адаптера, использую программу Hercules при 9600 бps. Когда я подключаю 3.3В к DFPlayer, он мигает своим светодиодом и всегда отвечает 7E FF 06 3F 00 00 02 FE BA EF, но не реагирует на любые команды, которые я ему отправляю.

Пожалуйста, может кто-то дать мне правильную байтовую последовательность для отправки и ожидания ответа от DFPlayer?

Ответ или решение

Ответ на вопрос о последовательных командах для DFPlayer Mini

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

Как работает DFPlayer Mini

DFPlayer Mini — это модуль для воспроизведения аудиофайлов, который может управляться через последовательный интерфейс. Он использует стандартный протокол для отправки команд, который может включать такие действия, как воспроизведение, пауза, остановка и переход между треками.

Основные команды DFPlayer Mini

  1. Команда для воспроизведения трека:

    • Формат: 0x7E 0xFF 0x06 0x03 0x00 <номер трека> 0xFE 0xBA 0xEF
    • Пример для воспроизведения трека 1 (0001.mp3):
      7E FF 06 03 00 01 FE BA EF
  2. Команда для остановки воспроизведения:

    • Формат: 0x7E 0xFF 0x06 0x16 0x00 0x00 0x00 FE BA EF
    • Команда для остановки воспроизведения:
      7E FF 06 16 00 00 00 FE BA EF
  3. Команда для следующего трека:

    • Формат: 0x7E 0xFF 0x06 0x04 0x00 0x00 0x00 FE BA EF
    • Пример для следующего трека:
      7E FF 06 04 00 00 00 FE BA EF
  4. Команда для предыдущего трека:

    • Формат: 0x7E 0xFF 0x06 0x05 0x00 0x00 0x00 FE BA EF
    • Пример для предыдущего трека:
      7E FF 06 05 00 00 00 FE BA EF

Рекомендации по отправке команд

  1. Проверка подключения:
    Убедитесь, что ваш USB-Serial адаптер правильно подключен к DFPlayer и что вы используете уровень логики 3.3V, чтобы избежать повреждения устройства.

  2. Скорость передачи:
    Убедитесь, что скорость передачи, установленная в программном обеспечении Hercules, соответствует 9600 боды. Проверьте параметры порта (например, 8 бит данных, 1 стоп-бит, без четности).

  3. Формат данных:
    Убедитесь, что вы отправляете команды в формате байт, без каких-либо добавлений или изменений, таких как пробелы или символы перевода строки.

  4. Ожидание ответов:
    После отправки команды DFPlayer Mini отправляет ответ, который начинается с 0x7E. Это означает, что система готова к следующей команде.

Пример кода на Arduino

Если у вас есть возможность использовать Arduino, вот пример кода для отправки команды через последовательный интерфейс:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  mySerial.begin(9600);
  Serial.begin(9600);
  delay(1000);

  // Команда для воспроизведения трека 1
  byte command[] = {0x7E, 0xFF, 0x06, 0x03, 0x00, 0x01, 0xFE, 0xBA, 0xEF};
  sendCommand(command, sizeof(command));
}

void loop() {
  // Здесь может быть ваш код
}

void sendCommand(byte *cmd, int len) {
  for (int i = 0; i < len; i++) {
    mySerial.write(cmd[i]);
  }
}

Заключение

Проверьте указанные команды и рекомендации, и вы должны быть в состоянии отправлять команды от компьютера к DFPlayer Mini успешно. Если проблемы сохраняются, попробуйте протестировать соединение с помощью другого программного обеспечения или другого USB-Serial адаптера. Удачи!

Оцените материал
Добавить комментарий

Капча загружается...