Давно я хотел заиметь модуль который мог бы воспроизводить WAV файлы с SD или microSD карты и имел управление по UART. И вот свершилось! В результате я собрал небольшой модуль на макетной плате, основой является микроконтроллер Atmega32. Устройство может воспроизводить WAV файлы с частотой дискретизации 11025 Гц, 8 бит, моно. Управление устройством осуществляется посредством UART на скорости 9600 бод. Плеер поддерживает SD, miniSD и microSD карты с файловой системой FAT, FAT16 и размером не более 2 ГБ. Внешний кварц можно использовать с частотой только 8 МГц. Питание: 3.0 - 3.7 вольт.
Принципиальная схема:
Вот что получилось в итоге:
При включении устройства оно пошлет по UART сообщение "Starting device", после чего попытается инициализировать SD карту. Если инициализация проидёт успешно, то придёт сообщение "SD card detect", если нет то "SD card not detect". Когда устройство пришлёт "WAV file name:", вводите полное имя WAV файла (с расширением) на SD карте. Во время воспроизведения устройство пришлёт "Play " и имя файла. Пару слов о качестве звука: я бы не рекомендовал устройство в качестве домашнего проигрывателя музыки но для дверного звонка, речи робота и т.п. оно вполне сойдёт.
После прошивки незабудте установить следующие фьюз-биты:
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
U1 | МК AVR 8-бит | ATmega32 | 1 | Поиск в магазине Отрон | ||
C1, C2 | Конденсатор | 22 пФ | 2 | Поиск в магазине Отрон | ||
C3, С5 | Электролитический конденсатор | 100 мкФ | 2 | Поиск в магазине Отрон | ||
С4 | Конденсатор | 100 нФ | 1 | Поиск в магазине Отрон | ||
Х1 | Кварцевый резонатор | 8 МГц | 1 | Поиск в магазине Отрон | ||
R1 | Резистор | 10 кОм | 1 | Поиск в магазине Отрон | ||
Скачать список элементов (PDF)
Прикрепленные файлы:
- m32WAVSD.rar (207 Кб)
Комментарии (23) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
"Config_MMC.bas"
"Config_AVR-DOS.BAS"
Без него не скомпилируется, если вдруг захочется переделать.
[Автор]
[Автор]
Строка:
Хочется в своей конструкции использовать.
Const Cfilehandles = 1 ' [default = 2]
Const Csepfathandle = 0 ' [default = 1]
Далее в библиотеке Config_MMC.bas в строках:
Config Pinb.4 = Output ' define here Pin for CS of MMC/SD Card
Mmc_cs Alias Portb.4
Set Mmc_cs
' Define here SS Pin of HW-SPI of the CPU (f.e. Pinb.0 on M128)
Config Pinb.4 = Output ' define here Pin of SPI SS
Spi_ss Alias Portb.4
Set Spi_ss ' Set SPI-SS to Output and High por Proper work of
' SPI as Master
нужно указать вывод SS микроконтроллера (в меге32 это pinb.4)
У меня после всех этих коррекций всё заработало.
Будет не только WAV, но и MP3
Надо дешевле, и помучаться - здесь
они высылают даташит...
там посылки 4-6 байт
вкратце -
старт( 1 байт ),
длина( 1 байт ),
команда( 1-3 байт),
стоп( 1 байт ).
Думал, может у Вас пример какой-нибудь есть. Готовый.
Маленькие нюансы: звук лучше подключить к отдельному усилку, на своём сбивается при первом же резком(громком) звуке, и обратить внимание на подвод питания, если что то не так сразу сбрасывает.
На громкость свои команды
"громкость 1- 65521, 2-65522 и т.д." до 7
На днях получу модули, испытаю.
Отпишусь.