Простые однотональные мелодии на сегодняшний день уже не могут вызвать восторга у благодарных слушателей. За примерами далеко ходить не надо – вспомним звонки для сотовых телефонов. Еще совсем недавно они были простые, а сегодня все MP3, MIDI да WAV. Иными словами – наступила эра полифонии.
Как оказалось – AVR довольно слабенький контроллер и программно воспроизводить MIDI или MP3 ему не по зубам. А вот WAV, точнее разновидность его PCM, да с небольшой частотой дискретизации он довольно неплохо воспроизводит. Вот только размер этих WAV файлов не внушает оптимизма. Памяти никакого AVR не хватит, чтобы хранить в ней аудиоданные. Хорошо, что умные дяденьки придумали флэш-карты, которые позволяют записать на них целую кучу полезной информации. Итак начнем:
Я понимаю, что запускать мегу16 на 16 МГц и 3,3 В – это любительство, но у меня все работает стабильно, чего и Вам желаю.
Описание работы:
Карта должна быть отформатирована под файловую систему FAT16. Мелодии для воспроизведения необходимо сохранить в формате WAV 8 бит 16000 КГц Моно. Сделать это можно любым редактором WAV файлов, например этим. Допускается записать на карту до 10 мелодий под именами «muson01.wav» – «muson10.wav». Файлы другого формата и с другими именами воспроизводиться не будут.
После подачи питания устройство инициализирует MMC/SD карту и готово к работе. Нажатие на кнопку SB1 включает воспроизведение текущей мелодии (сразу после подачи питания это мелодия с именем «muson01.wav»). Нажатие на кнопку SB2 – воспроизводит следующую мелодию. Переключение мелодий осуществляется по кругу. Т.е. после последней найденной мелодии с именем «muson» (максимально – «muson10.wav») будет воспроизводиться мелодия с именем «muson01.wav».
Программа занимает 5200 байт ПЗУ. Исходные коды программы прилагаются, так что никто не мешает добавить поддержку хоть ста мелодий или еще каких либо «нужных» функций.
Схема, прошивка, исходные коды (97 Кб). Загрузок: 460
Автор статьи: Павел Сироткин E-mail: pol_s@list.ru