Четверг, 27.07.2017, 21:54
RC - Мастерская
Главная | Каталог статей | Регистрация | Вход
Меню
Статистика
Главная » Статьи » Инструкции » Микроконтроллеры

Модуль записи и воспроизведения звука

Модуль записи и воспроизведения звука

 

Купить на Паркфлаере

На Паркфлаере был куплен и успешно доставлен сей агрегат

Некоторое время он пылился у меня без дела. Был забыт и заброшен... И вот как-то так получилось, что встал вопрос об "озвучке" модели. Модель танка должна рычать мотором, лязгать гусеницами и естественно громко стрелять... Все эти звуки по идее должны быть записаны в виде файлов на карту памяти и воспроизводиться оттуда по мере необходимости. Тут то я про него и вспомнил...

 

Итак... плата модуля имеет размер 45х45мм. На ней распаяна микросхема MP3-кодека VS1003. Так же на плате есть микрофон, 2 пина аудио входа и mini-jack аудио выхода. Для подключения к микроконтроллеру служит еще один разъем 2х5 контактов (собственно SPI интерфейс). Качество сборки оказалось вполне терпимым - пришлось только слегка помыть платку от флюса. 

После некоторого изучения интернета была найдена схема этого модуля, даташит на кодек и вот такая статейка. Кстати, в ней приводится очень много полезных ссылок. В том числе есть ссылки на библиотеки для работы с данным модулем. Но в мои планы пока не входит использование полного функционала этого модуля. А вот экономия ресурсов - в моем случае вопрос актуальный. Поэтому я решил сделать некий тест, который бы при минимальном задействовании ресурсов микроконтроллера воспроизвел бы mp3-файл с SD-карты. Для подключения последней был использован слот, так же купленный на Паркфлаере.

Подключение такое:

 Arduino Nano (atmega 328)  VS1003 module  SD Card module
D6 XDCS  
D7 DREQ  
D8 XRST  
D9 XCS  
D10   CS
D11 MOSI MOSI
D12 MISO MISO
D13 SCK SCK

Естественно, с первого раза ничего не заработало - карта памяти отказалась инициализироваться. Правда секрет тут прост и мне давно известен. На модуле слота SD все контакты парные. И все они равнозначны за исключением MISO (к МК идет контакт с крайнего ряда). Естественно я их перепутал при подключении. Поменять 2 проводка местами и все работает на ура.

 

Теперь пара слов о самом кодеке... Воспроизводит он кучу разных форматов - все можно посмотреть в даташите. Ни один имеющийся MP3-файл проблемы у него не вызвал. Микросхема имеет на борту 5.5Кб памяти. В нее просто грузим файл с карты памяти. Тут главное не загрузить больше чем надо. Да и вообще, загрузка занимает время... поэтому лучше грузить по чуть-чуть, но постоянно... потоком. Для этого кодек возвращает нам сигнал DREQ (запрос данных). Выставленный в HIGH этот сигнал говорит о том, что в память кодека можно запихнуть следующую порцию данных. Под порциями чип понимает массивы до 32-х байт. Таким образом процедуру paly() в тестовом скетче легко разделить на две - стартовая загрузка данных и подгрузка по запросу кодека.

 

Ниже привожу ссылки для скачивания:

Мой тестовый скетч (RAR).

VS1003 Datasheet (PDF).

Схема модуля (PDF).

Выстрел из пушки (MP3).

Категория: Микроконтроллеры | Добавил: Mactep (23.08.2014)
Просмотров: 2619 | Теги: MP3, Arduino | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск