Встречается много задач в которых необходимо использовать не зуммер для отклика нажатия, а полноценные аудиофайлы информирующие о работе устройства, будь то сигналы тревоги или информация о начале какого-либо процесса. Для реализации данного функционала в дисплеях DWIN присутствуют встроенные динамики, либо выходы на динамик. Если в панели динамик отсутствует, то можно связаться с производителем для проведения кастомизации панели и добавления выхода для подключения динамика. Прошлые статьи:
DWIN. Подготовка дисплея к работе и загрузка демо-проекта
DWIN. Знакомство с программным обеспечением DWIN Graphic Utilized Software. Hello World
DWIN. Связываем STM32 Nucleo и дисплей.
DWIN. Элемент Real-Time Curves, чертим графики.
DWIN DGUS. Элемент Artistic Variables. Отображаем цифры иконками.
DWIN DGUS. Страница защищённая паролем. Пакетное считывание и запись. Интерфейс RS485
Дисплей
Для реализации проекта будет использован промышленный дисплей DMG80480T050_A5WTC. Рассмотрим характеристики дисплея:
Диапазон рабочих напряжений: 6В - 36В.
Потребляемый ток: 60-130мА.
Разрешение: 800х480.
Тип матрицы: IPS 16.7M цветов.
Тип сенсорной панели: Емкостная.
Яркость подсветки: 250нит.
Flash память: 16 Мб.
Встроенный RTC.
Ресурс подсветки - 30000 часов.
Стандарт защиты от воздействия окружающей среды: IP65 на лицевой панели.
Интерфейсы: UART2 (RS232),UART4 (RS232), UART5(RS485)
Проект
В проекте будут использованы аудиофайлы московского метро из свободного доступа. Будет показана реализация включения аудиофайлов как командами с внешнего устройства, так и с помощью нажатия на стандартные элементы DGUS.
Воспользуемся инструкцией по воспроизведению аудиофайлов из документации.
1. Формируем WAE файл.
2. Включаем в CFG файле бит проигрывания аудиофайлов.
3. Добавляем WAE файл в папку DWIN_SET а также в файле CFG устанавливаем местоположение файла WAE и следим за тем, чтобы файл не пересекался с другими файлами в памяти.
DRAW.IO
За основу проекта взята Калининская линия метро города Москва. Формируем фоновые изображения для каждой станции метро.
Каждая стрелка будет включать аудиофайл сообщающий о следующей станции метро, в одну сторону о станции будет сообщать мужской голос, в обратную сторону женский голос.
Подготовка аудиофайлов
Используем аудиодорожку из открытых источников и нарезаем файлы по фразам. Для нарезки использовалась программа mp3directcut.
Получилось 29 файлов. Файлы будут размещены на GitHub вместе с проектом.
CFG файл
Согласно документации устанавливаем в байт 0x07 номер по которому будет находиться аудиофайл WAE.
Пропишем в адрес 0x07 40 ячейку памяти т.е. значение в шестнадцатеричной системе 0x28.
При формировании CFG файла важно чтобы вторая и третья строки были стерты.
DGUS
WAE Generator
Формируем аудиофайлы с помощью WAE Generator.
Добавляем 29 аудиофайлов которые были получены ранее.
Нажимаем на кнопку Generator WAE и формируем файл с номером согласно ранее настроенному в CFG файле, в нашем случае это 40.wae. Сохраняем файл в папку DWIN_SET.
Работа с проектом
Формируем *.ICL файл, и добавляем 8 изображений.
Добавляем элемент "Return Key code" и настаиваем его на включение необходимого аудиофайла при нажатии.
Для этого указываем в Key Value (0x) номер аудиодорожки в формате 0xYY01 - где YY номер аудиодорожки в HEX формате. VP указываем 00A0 - адрес воспроизведения аудиодорожки. Также для каждой кнопки указываем Page Switching параметр - номер страницы для перехода при нажатии.
Сохраняем проект, генерируем выходные файлы, загружаем на дисплей.
Docklight - формируем команды для взаимодействия с дисплеем
Используем руководство из документации
Отправляем команды 5A A5 07 82 00 A0 XX 01 YY 00
Где:
5A A5 - стартовые байты.
07 - длина отправляемого пакета.
82 - команда на запись.
00 A0 - адрес управления аудиофайлами.
XX - номер аудиофайла в HEX формате.
01 - фиксированное значение.
YY - громкость аудио сигнала.
00 - прогресс проигрывания аудиофайла, только для чтения.
Видео
В видео заметно, что дисплей способен выдавать мощность больше чем способен воспроизвести динамик, однако это позволяет подключать внешние динамики больше мощности.
Заключение
В данной статье был создан демо-проект с возможностью проигрывания аудиофайлов как с помощью встроенных инструментов DGUS как и внешних команд.
Ссылка на GitHub: https://github.com/VB-Radchenko/DWIN-Lesson-9-Audio-file
По вопросам оптовых закупок, персональных скидок, технической поддержки и общим вопросам обращайтесь:
Email: Info_dwin@mail.ru
VK: https://vk.com/radchenko_vb
Telegram: https://t.me/Radchenko_VB
Сообщество VK https://vk.com/public208909284
Скидочный купон на 5$ для официального магазина AliExpress - DWVLPRO