SD WAV плеер с управлением по UART

Давно я хотел заиметь модуль который мог бы воспроизводить WAV файлы с SD или microSD карты и имел управление по UART. И вот свершилось! В результате я собрал небольшой модуль на макетной плате, основой является микроконтроллер Atmega32. Устройство может воспроизводить WAV файлы с частотой дискретизации 11025 Гц, 8 бит, моно. Управление устройством осуществляется посредством UART на скорости 9600 бод. Плеер поддерживает SD, miniSD и microSD карты с файловой системой FAT, FAT16 и размером не более 2 ГБ. Внешний кварц можно использовать с частотой только 8 МГц. Питание: 3.0 — 3.7 вольт.

Принципиальная схема:

Схема плеера

Вот что получилось в итоге:

mc219_photo.jpg

При включении устройства оно пошлет по UART сообщение «Starting device», после чего попытается инициализировать SD карту. Если инициализация проидёт успешно, то придёт сообщение «SD card detect», если нет то «SD card not detect». Когда устройство пришлёт «WAV file name:», вводите полное имя WAV файла (с расширением) на SD карте. Во время воспроизведения устройство пришлёт «Play » и имя файла. Пару слов о качестве звука: я бы не рекомендовал устройство в качестве домашнего проигрывателя музыки но для дверного звонка, речи робота и т.п. оно вполне сойдёт.

После прошивки незабудте установить следующие фьюз-биты:

fuse(12).png

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
U1 МК AVR 8-бит ATmega32 1
C1, C2 Конденсатор 22 пФ 2
C3, С5 Электролитический конденсатор 100 мкФ 2
С4 Конденсатор 100 нФ 1
Х1 Кварцевый резонатор 8 МГц 1
R1 Резистор 10 кОм 1