Музыкальный звонок на микроконтроллере » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки
Опрос

Какой средой программирования вы пользуетесь?


MPLab/MPLabX
MicroC
MicroBasic
MicroPascal
Другой


Последние материалы
  • Тестовая плата для отладки программ на микроконтроллере PIC18F4550
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Музыкальный звонок на микроконтроллере
    Автор публикации: alex Просмотров: 12712 Добавлен: 23-07-2012, 21:12 Комментарии: 8

    Музыкальный звонок на микроконтроллере В предлагаемом звонке для хранения мелодий или речевых сообщений применена карта памяти SD или ММС, отформатированная под файловую систему FAT16. Воспроизводятся звуковые файлы формата WAV. Кроме звонка, устройство можно использовать как проигрыватель таких файлов.
    В режиме "Звонок" после включения микроконтроллер DD1 производит настройку внутренних регистров, после чего переходит в спящий режим. При нажатии на кнопку SB1 ("Звонок/Воспроизведение") микроконтроллер "просыпается", о чём свидетельствует включение светодиода HL1, подаёт питающее напряжение на карту памяти, инициализирует её и ищет звуковой файл. Поиск осуществляется по расширению WAV. Найдя, микроконтроллер воспроизводит файл, отключает питание карты памяти, после чего снова "засыпает", а светодиод HL1 гаснет. При следующем нажатии на кнопку SB1 всё повторится, но будет воспроизведён следующий звуковой файл. На карту памяти можно записать до 512 мелодий или сообщений — это максимальное число записей в корневом каталоге для файловой системы FAT16. После воспроизведения всех мелодий начнётся их повторное воспроизведение. Кнопки SB2, SB3 и SB4 в этом режиме не задействованы.
    Устройство (рис. 1) собрано на широко распространённом микроконтроллере PIC16F628A и имеет два режима работы, которые устанавливают выключателем SA1. Верхнему по схеме положению его контактов соответствует режим "Проигрыватель", а нижнему — режим "Звонок". Микроконтроллер проверяет состояние контактов выключателя только один раз, сразу после включения питания. Поэтому для смены режима необходимо отключить питание, установить выключатель в требуемое положение и затем снова подать питание.
    Схема музыкального звонка на микроконтроллере

    В режиме "Звонок" после включения микроконтроллер DD1 производит настройку внутренних регистров, после чего переходит в спящий режим. При нажатии на кнопку SB1 ("Звонок/Воспроизведение") микроконтроллер "просыпается", о чём свидетельствует включение светодиода HL1, подаёт питающее напряжение на карту памяти, инициализирует её и ищет звуковой файл. Поиск осуществляется по расширению WAV. Найдя, микроконтроллер воспроизводит файл, отключает питание карты памяти, после чего снова "засыпает", а светодиод HL1 гаснет. При следующем нажатии на кнопку SB1 всё повторится, но будет воспроизведён следующий звуковой файл. На карту памяти можно записать до 512 мелодий или сообщений — это максимальное число записей в корневом каталоге для файловой системы FAT16. После воспроизведения всех мелодий начнётся их повторное воспроизведение. Кнопки SB2, SB3 и SB4 в этом режиме не задействованы.
         В режиме "Проигрыватель" после подачи питания микроконтроллер также выполняет настройку внутренних регистров, включает питание карты памяти, проводит процедуру её инициализации, в случае успешного выполнения вспыхивает светодиод HL1. Затем выполняется поиск WAV-файла, и когда он будет найден, микроконтроллер перейдёт к опросу состояния контактов всех кнопок. При нажатии на кнопку SB1 начнётся непрерывное последовательное воспроизведение всех звуковых файлов, имеющихся на карте памяти. Нажатием на кнопку SB2 ("Стоп") можно остановить проигрывание на текущей мелодии, а кнопками SB3 ("Следующий") и SB4 ("Предыдущий") осуществляют переключение файлов, что возможно как при проигрывании, так и после остановки воспроизведения. При неудачной процедуре инициализации карты памяти микроконтроллер предпримет ещё одну попытку, и если она также окажется неудачной, прозвучат два коротких сигнала низкого тона, после чего микроконтроллер перестанет реагировать на команды.
         В режиме "Звонок" при ошибке инициализации также прозвучат два коротких сигнала низкого тона, после чего микроконтроллер отключит питание карты и перейдёт в спящий режим. Если карта памяти перестанет отвечать на команды или просто "зависнет", в режиме "Проигрыватель" микроконтроллер сначала отключит, затем включит питание карты и заново ее проини-циализирует. В режиме "Звонок" после "зависания" карты микроконтроллер просто отключит питание карты и "заснёт". При отсутствии WAV-файлов на карте памяти прозвучат три коротких сигнала низкого тона, после чего в режиме "Проигрыватель" устройство перейдёт к опросу состояния контактов кнопок, при нажатии на которые будет звучать тот же предупреждающий сигнал. В режиме "Звонок" после сигнала об отсутствии WAV-файлов микроконтроллер отключит питание карты памяти и перейдёт в спящий режим. Если параметры WAV-файла не соответствуют требуемым значениям, например, неверная частота дискретизации, разрядность и т. д., прозвучит сигнал низкого тона продолжительностью одна секунда и в обоих режимах произойдёт переход к следующему файлу.
         Для согласования логических уровней сигналов микроконтроллера и карты памяти установлены делители напряжения на резисторах R7, R8, R10, R13—R15. Звуковой сигнал формируется с помощью встроенного в микроконтроллер модуля ШИМ, частота работы которого в данном устройстве равна 78,12 кГц. Сформированный сигнал сглаживается фильтром R12C10 и с регулятора громкости R17 поступает на УЗЧ, собранный на микросхеме DA2 TDA2003.
         Питается устройство от внешнего блока питания напряжением 9... 12 В. Питание микроконтроллера стабилизировано интегральным стабилизатором DA1 с выходным напряжением 5 В. На транзисторе VT1 собран стабилизатор напряжения 3,3 В для питания карты памяти. Управление им осуществляет микроконтроллер по линиям порта RA3. При низком логическом уровне на этой линии транзистор VT1 закрыт, напряжение на его эмиттере равно нулю. При высоком уровне транзистор открыт и питающее напряжение поступает на карту  памяти.   Напряжение  на  базе транзистора стабилизировано стабилитроном VD1.
         Устройство воспроизводит звуковые файлы формата WAV (PCM, 16 кГц, 8 разрядов, моно), файлы с другими параметрами проигрываться не будут. Поэтому, если необходимо, выбранные звуковые файлы перед записью на карту памяти преобразуют с помощью программы-конвертера (имена файлов могут быть любыми). Файловая система FAT16 не пригодна для носителей информации, имеющих объём больше 2 Гбайт, поэтому это максимальный объём для карты памяти, которую можно использовать в устройстве. Были протестированы четыре карты microSD разных фирм и объёмов, это Kingston (1 Гбайт), Kingmax (512 Мбайт), Silicon Power (2 Гбайт), Transcend (1GB). ММС карты также должны работать, но я не смог это проверить из-за их отсутствия.
         В устройстве применены постоянные резисторы МЛТ, переменный — СПЗ-4аМ, СПО, СП4-1, оксидные конденсаторы — импортные, остальные — керамические К10-17. Выключатель — ПД9-2, кнопки — TS-A3PS-130, но подойдут и другие аналогичные. Стабилитрон КС139А можно заменить импортным с напряжением стабилизации 3,9 В, например 1N4730. Взамен транзистора КТ503В можно применить любой из серии КТ3102, а светодиода АЛ307БМ — также любой в пластмассовом корпусе диаметром 5 мм. Микроконтроллер установлен в панель. УЗЧ TDA2003 можно заменить микросхемой TDA2002, TDA2008, К174УН14, её необходимо установить на теплоотвод площадью не менее 60 см2. Динамическая головка —любая широкополосная мощностью 2...4 Вт с сопротивлением катушки 4...8 Ом. Разъём для карты памяти самодельный, поскольку готовый найти не удалось Он изготовлен из односторонне фольгированного стеклотекстолита и медной фольги. Из стеклотекстолита изготовлена печатная плата размерами 35x40 мм, на которой сделано семь контактных площадок. К площадкам припаяны пружинящие контакты от разъёма microSD неисправного сотового телефона. По контуру карты памяти вырезана П-образная направляющая, которая закреплена на плате. Сверху на направляющую припаяна медная фольга, которая прижимает карту к пружинным контактам
         Внешняя кнопка звонка дублирует SB1. При длинном соединительном проводе для устранения влияния помех рекомендуется установить конденсатор С ёмкостью 0,1... 10 мкФ, а сам провод желательно применить экранированный (экран соединяют с общим проводом). Элементы R19 и С13 устанавливают в случае самовозбуждения УЗЧ на высокой частоте. Источник питания — нестабилизированный сетевой блок питания с выходным напряжением 9... 12 В и током до 0,5 А. плата lay
     Рис. 2. Печатная плата

    Внешний вид смонтированной платы с подключённой картой памяти

         Большинство элементов установлены на односторонней печатной плате из фольгированного стеклотекстолита, чертёж которой показан на рис. 2. Внешний вид смонтированной платы с подключённой картой памяти показан на рис. 3.

    Программа для микроконтроллера написана на ассемблере в среде MPLAB. Программирование проводилось с помощью программы IC-Prog 1.05D и JDM программатора, описанного в журнале "Радио", 2004, № 2, с. 51 (А. Долгий. "Программаторы и программирование микроконтроллеров").
         В архиве Печатная плата, Исходник и прошивка

    muzzvonnamkpic.rar [41,88 Kb] (cкачиваний: 918)


    Комментарии
    резак 29 декабря 2012 18:25 Группа: Посетители
    Alex прошу вас подскажите в чем дело собрал схему заработала но скорость воспроизведения маленькая увеличиваю частоту кварца скорость воспроизведения растет не могу понять в чем дело
    прошу вас подскажите с уважением Василий
    alex 29 декабря 2012 19:02 Группа: Администраторы
    Естественно, что если увеличивать частоту кварца, то скорость будет расти. В чем суть вопроса? Какой кварц вы применяете?!
    резак 30 декабря 2012 07:27 Группа: Посетители
    alex доброго дня подскажите чем прошить контроллер у меня есть пони прог иси прог может я неправильно прошиваю контроллер поэтому и скорость воспроизведения получается маленькой
    я так понимаю в программаторе нужно правильно выставить фюзы прошу вас наставте на путь истинный с уважением Василий
    резак 14 января 2013 20:40 Группа: Посетители
    alex,
    Кварц как по схеме и все как положено.Только вот играет не так.Играет как буд то ленту магнитафонную жует.Фаил делаю как положено WAV (PCM, 16 кГц, 8 разрядов, моно)
    вот скриншот:wav
    поэтому и подумал насчет кварца.
    hoenhaym 10 марта 2013 14:24 Группа: Посетители
    Здраствуйте. У меня несколько вопросов по этому утсройству 1. С7 С8 я так понимаю они по 20пФ в магазине сказали таких нету в продаже какими их заменить? 2. Переключатель SA1 искал очень долго в магазинах такой какой нужно по схеме так и не нашел с нужнымы выводами как на схеме.
    alex 10 марта 2013 22:37 Группа: Администраторы
    Конденсаторы можно поставить и 18 и 22 пФ.
    Переключатель SA1 вообще любой.
    hoenhaym 14 марта 2013 19:34 Группа: Посетители
    Еще пара вопросов). В каком порядке подключать карту памяти на обычной microSD 8 контактов а тут 7. И как записывать файлы на флешку в папки какие специальные или без них?
    dubok963 18 сентября 2014 23:14 Группа: Посетители
    Здравствуйте!!! Собрал я Музыкальный звонок: в режиме “проигрывателя” работает отлично (только светодиод не горит-хотя незнаю,
    должен ли он гореть?)….В режиме “звонка” какой-то баг, а именно:
    нажимаю Плей,-музыка заиграла-горит светодиод, музыка закончилась,
    светодиод потух…заного нажимаю на “плей” НО БОЛЬШЕ мелодия не
    воспроизводится, при нажатии на Плей слышен сигнал (бип) , и все…а должна
    ведь заиграть следующая мелодия. Выключаю звонок, включаю, нажимаю на “плей”, играет 1я мелодия, горит светодиод, мелодия закончилась, светодиод потух, нажимаю на “плей” и опять идет короткий сигнал, не следующая мелодия, не первая не играет…. …..Перепрошивал,-не помогло….Подскажите, что это может быть.Заранее благодарен!!!!