Музыкальный Звонок. Part II.

(полифония наносит ответный удар)

 

Давным-давно в далёкой галактике,

когда с ума сошли роботы…

 

Собирая предыдущий вариант «Музыкального Звонка», даже не мог подумать насколько популярной окажется эта незамысловатая затея поиграть музыку при помощи микроконтроллера. Ну что ж, раз «пипл хавает», - продолжим внедрять культуру в массы J.

Понятно, что простые однотональные мелодии на сегодняшний день уже не могут вызвать восторга у благодарных слушателей. За примерами далеко ходить не надо – вспомним звонки для сотовых телефонов. Еще совсем недавно они были простые, а сегодня все MP3, MIDI да WAV. Иными словами – наступила эра полифонии.

Как оказалось – AVR довольно слабенький контроллер и программно воспроизводить MIDI или MP3 ему не по зубам. А вот WAV, точнее разновидность его PCM, да с небольшой частотой дискретизации он довольно неплохо воспроизводит. Вот только размер этих WAV файлов не внушает оптимизма. Памяти никакого AVR не хватит, чтобы хранить в ней аудиоданные. Хорошо, что  умные дяденьки придумали флэш-карты, которые позволяют записать на них целую кучу полезной информации. Итак начнем:

 


Схема:

 

 

 

·        На резисторах R1-R16 собран простейший R-2R ЦАП.

·        Вместо транзистора можно подключить усилитель, например на TDA2003.

·        Можно использовать как MMC так и SD карту.

·        На схеме не показаны стабилизаторы напряжения на 12 В и 3,3 В.

 

Отмазки:  Я понимаю, что запускать мегу16 на 16 МГц и 3,3 В – это любительство, но у меня все работает стабильно, чего и Вам желаю J.

 


Описание работы:

 

Карта должна быть отформатирована под файловую систему FAT16. Мелодии для воспроизведения необходимо сохранить в формате WAV 8 бит 16000 КГц Моно. Сделать это можно любым редактором WAV файлов, например этим. Допускается записать на карту до 10 мелодий под именами «muson01.wav» – «muson10.wav». Файлы другого формата и с другими именами воспроизводиться не будут.

После подачи питания устройство инициализирует MMC/SD карту и готово к работе. Нажатие на кнопку SB1 включает воспроизведение текущей мелодии (сразу после подачи питания это мелодия с именем «muson01.wav»). Нажатие на кнопку SB2 – воспроизводит следующую мелодию. Переключение мелодий осуществляется по кругу. Т.е. после последней найденной мелодии с именем «muson» (максимально – «muson10.wav») будет воспроизводиться мелодия с именем «muson01.wav».

 

Программа занимает 5200 байт ПЗУ. Исходные коды программы прилагаются, так что никто не мешает добавить поддержку хоть ста мелодий или еще каких либо «нужных» функций.

 


Прилагаемые файлы:

 

Схема,прошивка,исходные коды.

 

Да пребудет с вами Сила !

J

Hosted by uCoz