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

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

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

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

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

Понятно, что простые однотональные мелодии на сегодняшний день уже не могут вызвать восторга у благодарных слушателей. За примерами далеко ходить не надо – вспомним звонки для сотовых телефонов. Еще совсем недавно они были простые, а сегодня все 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 байт ПЗУ. Исходные коды программы прилагаются, так что никто не мешает добавить поддержку хоть ста мелодий или еще каких либо «нужных» функций.

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

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

    © Павел Сироткин, 2005-2008
    © 2025