В предлагаемом звонке для хранения мелодий или речевых сообщений применена карта памяти SD или ММС, отформатированная под файловую систему FAT16. Воспроизводятся звуковые файлы формата WAV. Кроме звонка, устройство можно использовать как проигрыватель таких файлов.

Устройство (рис. 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 неисправного сотового телефона. По контуру карты памяти вырезана П-образная направляющая, которая закреплена на плате. Сверху на направляющую припаяна медная фольга, которая прижимает карту к пружинным контактам

Рис. 2. Печатная плата

Внешняя кнопка звонка дублирует SB1. При длинном соединительном проводе для устранения влияния помех рекомендуется установить конденсатор С ёмкостью 0,1... 10 мкФ, а сам провод желательно применить экранированный (экран соединяют с общим проводом). Элементы R19 и С13 устанавливают в случае самовозбуждения УЗЧ на высокой частоте. Источник питания — нестабилизированный сетевой блок питания с выходным напряжением 9... 12 В и током до 0,5 А.

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

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

Таймерами называют довольно широкий диапазон различных технических устройств а также внутренних узлов микроконтроллеров. В данном случае таймер - это цифровое устройство, предназначенное для включения и отключения внешнего устройства по заданной программе. Это может быть, например, устройство автоматического полива растений или устройство автоматического кормления аквариумных рыбок.. Все зависит от вашей фантазии. К примеру, я когда-то долгое время использовал подобное устройство для периодического включения / выключения холодильника, у которого сломалось механическое термореле.

Таймер собран на очень распространенном и дешевом микроконтроллере от Microchip , 8-разрядный PIC F628A . Пользователь может запрограммировать интервал между включениями внешнего устройства и продолжительность его работы. максимальное время паузы и включения составляет 9 9 часов 59 минут, то есть, фактически 100 часов.

Для управления таймером используются четыре кнопки, а для отображения информации применен стандартный ЖК индикатор на 2 строки из 16 символов , работающий на основе контроллера HD44780U от фирмы Hitachi .


Для управления внешним устройством использовано электромагнитное реле . Обмотка реле должна быть рассчитана на напрядение 5 V . Микроконтроллер управляет реле через ключ на транзисторе PN2222 . Контакты реле должны быть рассчитаны на ток, потребляемый управляемым устройством. Кнопки управления подключены к портам микроконтроллера RB0, RA2, RA3 и RA4 .

Дисплей работает в четырехбитном режиме и для его управления требуется 6 портов микроконтроллера. Для звуковой сигнализации включения и отключения нагрузки использован пьезокерамический звонок. Звуковой сигнал также подается и при включении питания таймера.

Блок питания таймера содержит стабилизатор напряжения +5 V на микросхеме - регуляторе LM7805 . Для питания таймера от сети 220 вольт можно использовать любой нестабилизированный сетевой адаптер, купленный на китайском рынке. Выходное напряжение адаптера может быть в переделах 9 - 14 вольт.


Если мы внимательно посмотрим на схему устройства, то заметим, что выводы индикатора с номерами 15 и 16 не используются. они подключаются только в индикаторах с фоновой подсветкой. если вы хотите использовать индикатор с подсветкой, то подключите ее к +5 B через резистор сопротивлением 39 Ом.



Сломался у меня в квартире звонок. Покупать новый звонок особо не хотелось. Поэтому я решил сделать свой – музыкальный звонок. Для звонка я применил восьми битный AVR микроконтроллер Attiny13 и несколько дискретных компонентов.

Для сборки звонка понадобится:

  1. Микроконтроллер Attiny13 (с любыми индексами) 1шт.
  2. Резистор 4,7кОм 2шт.
  3. Резистор 100ом 1шт.
  4. Транзистор КТ315 (с любыми индексами) или аналогичный 1шт.
  5. Панелька DIP8 1шт.
  6. Пьезоизлучатель или динамик 1шт.
  7. Тактовая кнопка 1шт.

Для питания звонка необходимо напряжение от 3 до 5 вольт.

Транзистор необходим для усиления звука.

Всё время звонок находится в спящем режиме и потребляет очень низкий ток. По нажатию кнопки происходит прерывание на 6 (PB1) ножке микроконтроллера, звонок “просыпается” и играет мелодию, после чего он снова засыпает.

Для музыкального звонка я написал (в среде BASCOM-AVR) две прошивки:

  1. M1T13BELL.HEX – прошивка с мелодией 1
  2. M2T13BELL.HEX – прошивка с мелодией 2

Принципиальная схема звонка:

Звонок можно собирать как на печатной плате, так и на макетной. Изначально я собрал звонок на макетной плате (для тестов), а позже сделал печатную плату (проект печатной платы Sprint Layout 4.0 есть в архиве с файлами). Также есть проект звонка в Proteus (в архиве с файлами):

Тестовая версия звонка (на макетной плате):

Позже, я сделал звонок на плате:

Корпус для звонка я решил сделать из древесины, взял брусок 50мм на 35мм и вырезал в нём углубление. В качестве крышки для корпуса я применил небольшой кусочек фанеры. Далее в корпус я поместил плату звонка и разъем 3,5 “мама”.

В данной статье мы рассмотрим каким образом можно проигрывать музыкальные ноты при помощи PIC-микроконтроллера. Музыкальные ноты представляют из себя обычные звуковые частоты. И если мы точно знаем частоту определенной ноты, то мы можем запрограммировать микроконтроллер для проигрывания этой ноты через один пин ввода/вывода и звукоизлучатель.
В данном проекте мы рассмотрим проигрывание популярной композиции Happy Birthday To You при помощи микроконтроллера PIC16F628A и пьезоизлучателя.

Немного теории

Итак, как мы выяснили выше, для того, чтобы воспроизвести какую-либо мелодию, необходимо знать звуковые частоты нот. Каждая нота проигрывается с определенной длительностью и между двумя нотами также должна быть определенная длительность паузы. В таблице ниже, приведены частоты нот, начиная с ноты До.

Ноты других октав могут быть получены путем умножения или деления данных частот на 2. Например нота До следующей октавы будет иметь частоту 524 Гц.

Частоты всех нот можно найти в данной таблице:

Звуки нот могут быть сгенерированы прямоугольным сигналом нужной частоты. Т.о. для того, чтобы воспроизвести ноту при помощи микроконтроллера, нам необходимо знать частоту и длительность. Прямоугольный сигнал может быть сгенерирован на выводе МК при помощи переключения вывода с высокого уровня на низкий и наоборот. Также, можно задействовать ШИМ (широтно-импульсную модуляцию). В данном проекте мы выберем первый способ.

Схемотехника

Схема устройства очень проста. Вывод RB0 микроконтроллера PIC16F628A используется для генерирования прямоугольный импульсов заданной частоты. Т.к. выводы микроконтроллера не могут выдерживать ток более чем 25 мА, то пьезоизлучатель нельзя напрямую подсоединять к выводу МК. Поэтому используется npn транзистор BC547. Желательно, еще использовать RC-фильтр, но здесь, для упрощения схемы он не показан.

Программное обеспечение

Генерирование аудио-частот реализовать на mikroC Pro очень просто. В нем уже есть встроенная библиотека для работы со звуком. Библиотека содержит две основные функции:

Sound_Init(char *snd_port, char snd_pin) : задает соответствующий вывод микроконтроллера для генерации звука, например:
Sound_Init(&PORTB,0) задаст пин RB0 для вывода звука.

Sound_Play(unsigned freq_in_hz, unsigned duration_ms) : Генерирует прямоугольный сигнал

/* Hap py Birth Day to you, Hap py birth day to
C4 C4 D4 C4 F4 E4 C4 C4 D4 C4 G4 */
unsigned int notes = { 262, 262, 294, 262, 349, 330, 262, 262, 294, 262, 392,

/* you, Hap py Birth Day dear xxxx Hap py birth
F4 C4 C4 C5 A4 F4 E4 D4 B4b B4b A4 */
349, 262, 262, 523, 440, 349, 330, 294, 466, 466, 440,

/* day to you
F4 G4 F4 */
349, 392, 349
};

Ниже представлено видео воспроизведения:

Исходный код проекта и прошивка: (cкачиваний: 437)

В настоящее время в продаже можно найти разнообразные звонки, на любой вкус, как музыкальные, предоставляющие на выбор до двух десятков мелодий, так и обычные, без наворотов, которые только выполняют главную функцию, сигнализируют о том, что кто-то пришел. Можно ли собрать музыкальный звонок самому? Разумеется можно, и в этой статье мы рассмотрим, как собрать такой звонок. Схема звонка довольно простая, и содержит всего 6 деталей, не считая кнопок включения воспроизведения мелодии и кнопки смены мелодии. Выпускается микросхема с девяностых годов прошлого века и наверняка знакома многим радиолюбителям.

На схеме указана микросхема УМС-7, но по этой схеме можно смело собирать звонок с применением микросхемы УМС-8, цоколевка у них одинаковая, но есть небольшие различия в величине питающего напряжении. На следующем рисунке можно увидеть внешний вид микросхемы, в стандартном Dip корпусе, 14 ножек:

Собранное мною устройство имеет 2 кнопки - Play и Выбор . Выглядит оно следующим образом:

Музыкальный звонок самодельный

Кнопку Play (SA1), в случае если решите собрать, с целью использовать, как квартирный звонок, нужно продублировать (подключить параллельно две кнопки) и вывести вторую с наружной стороны входной двери. Во время звучания мелодии, нажатием на кнопку Выбор (SA2), можно сменить звучащую мелодию. Схема звонка довольно экономичная и позволяет питать устройство от двух батареек АА или ААА. Для легкой замены батареек использовал стандартный заводской отсек под 2 батарейки.

Громкости звучания при этом хватает, чтоб просигнализировать о приходе к вам. В схеме используется кварц на 32768 Гц. Помнится встречал подобные, на старинных материнках. Привожу также свой вариант печатной платы звонка:

Если кто-то захочет использовать мой вариант печатной платы для программы sprint layout, в конце статьи можно будет скачать по ссылке . При выводе платы на принтер, используем прямую печать. В микросхемах зашиты обычно 2-3 мелодии, в некоторых дополнительно есть звуковой сигнал, подобный сигналу электронного будильника. Исключение составляет микросхема УМС-8-08, в ней зашиты 8 мелодий. Ознакомиться со списком мелодий можно на следующем рисунке:

Также приведу вариант схемы с кнопкой остановки звучания мелодии:

КТ315 можно заменить на другой маломощный транзистор структуры n-p-n, например, на КТ3102. Динамик, в качестве эксперимента подключал мощностью 2 ватта, звучало нормально. Остановился, в первую очередь из-за габаритов устройства на динамике 0.5 Ватт, 8 Ом, который и установил в звонок. Громкость звонка, при применении динамика с сопротивлением 4 Ом, будет несколько выше. Приведу еще один вариант рисунка подключения микросхемы:

В этой схеме также предусмотрена кнопка остановки звучания. Начинающим, у кого маловато опыта в пайке, чтобы не перегреть микросхему при впаивании, порекомендую впаять в плату панельку, а микросхему вставлять уже в эту панельку. Здесь есть дополнительный плюс: если мелодии надоедят, микросхему можно легко заменить на другую, с другим номером, набор мелодий соответственно тоже поменяется. Автор статьи - AKV.