Найти тему
Ilya Engineer

Звуковый сообщения в электронном устройстве. Подключение DFPlayer. Управление по UART. Формирование команд.

DFPlayer mini - отличный модуль для организации любых звуковых сообщений на вашем устройстве, записанных на microSD

Расскажу о том как простейшим образом с любого контроллера управлять этим устройством. Как его подключить. Для этого будут использоваться всего 5 выводов:

  • VCC
  • GND
  • RX
  • TX
  • DAC_L

Захотите стерео, можете и правый канал подтянуть.

-2

Итак:

1. к VCC подсоединяем +5V (можно 3,3В, если в Вас например STM). На плате стоит стабилизатор, который всё равно обеспечит питание платы от 3,3В и все логические уровни тоже будут 3,3. Но RX-TX отлично относится к логическим уровням 5В.

2. GND - это общий минус питания, он же общий для выхода аудиоканала и общий для UART.

3. RX и TX на микроконтроллер (не забываем что и GND у платы DF Player и контроллера должны быть общие)

4. DAC_l подключаем к входу вашей некой внешней колонки, которая будет делать оповещения. (Тоже естественно с общим GND)

Что по программе:

по сути всё что нам необходимо и достаточно это записать mp3 файлы на любую флешку до 32 Гб (проверял, 32 Гб точно работает). Флешку форматируем в FAT32. На флешке создаем папку MP3 и в эту папку помещаем файлы с названием 0001.mp3 - 1999.mp3 (и папка может быть другая и названия файлов могут быть другие и папок может быть несколько, но об этом есть всё в китайской документации).

КСТАТИ!!! Китайская документация на микросхему тут:

https://www.laskakit.cz/user/related_files/mh2024k(gd3200ab)v1-2.pdf

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

Итак команду берем отсюда:

-3

Именно с помощью команды такого образца воспроизводим нумерованные файлы из папки MP3.

Разберем эту команду подробнее:

-4

Итак мне кажется всё должно быть понятно, кроме CRC.

CRC считаем легко:

складываем все байты от первого (не нулевого а первого) до начала контрольной суммы:

-5

Вот и всё, это работает, проверено многократно.

Теперь пишем простейшую библиотеку формирования команд и можно создавать любые устройства с звуковым оповещением без особого труда