DFPlayer mini - отличный модуль для организации любых звуковых сообщений на вашем устройстве, записанных на microSD
Расскажу о том как простейшим образом с любого контроллера управлять этим устройством. Как его подключить. Для этого будут использоваться всего 5 выводов:
- VCC
- GND
- RX
- TX
- DAC_L
Захотите стерео, можете и правый канал подтянуть.
Итак:
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
Тут очень много полезного, можно и громкость поменять и папку указать и многое другое, но я расскажу лишь как самым простым способом сделать воспроизведение, и главное, сделать подсчет контрольной суммы для команды. Увы я не нашел это в даташите.
Итак команду берем отсюда:
Именно с помощью команды такого образца воспроизводим нумерованные файлы из папки MP3.
Разберем эту команду подробнее:
Итак мне кажется всё должно быть понятно, кроме CRC.
CRC считаем легко:
складываем все байты от первого (не нулевого а первого) до начала контрольной суммы:
Вот и всё, это работает, проверено многократно.
Теперь пишем простейшую библиотеку формирования команд и можно создавать любые устройства с звуковым оповещением без особого труда