Запоминающий музыкальный звонок на PIC16F84. Запоминающий музыкальный звонок на PIC16F84 Скачать схему дверного звонка на pic16f628a

Жаропонижающие средства для детей назначаются педиатром. Но бывают ситуации неотложной помощи при лихорадке, когда ребенку нужно дать лекарство немедленно. Тогда родители берут на себя ответственность и применяют жаропонижающие препараты. Что разрешено давать детям грудного возраста? Чем можно сбить температуру у детей постарше? Какие лекарства самые безопасные?

Очень часто, покупая вещи, мы возлагаем на них определенные надежды, но иногда совершенно неожиданно они становятся поводом для скандала. Именно это произошло с автором, когда ему пришлось каждую неделю приобретать новый дверной звонок китайского производства. На четвертом звонке, наконец, стало ясно, что китайцы народ хороший, но вот их товары... Наша же промышленность, к сожалению, забыла о таких мелких проблемах потребителей. Схем музыкальных звонков очень много, но простых и многофункциональных автор не нашел, поэтому ему пришлось самому разработать простой и надежный звонок для создания уюта в доме. Начинающие микросхемотехники могут легко повторить эту схему и дополнить программу на свой вкус.

Для музыкального звонка был выбран простейший микроконтроллер ATtinyl5 от компании Atmel. Малое количество выводов, небольшой корпус, многофункциональность - все эти характеристики очень привлекательны для микроконтроллерного моделирования. Основная идея заключалась в дублировании китайского звонка с добавлением схемы генерирования музыки, а так же в реализации ее полностью автономной, независимой работы. Кроме того, был организован контроль питающей сети. Как только питание сети исчезает, схема начинает потреблять ток от электролитического конденсатора, а при падении напряжения ниже нормы контроллер прерывает программу и переходит в "спящий" режим.

Схема (рис. 5.1) может работать как отдельное устройство или быть подключенной в точках А и В к схеме домашнего звонка. Питание осуществляется от сети переменного напряжения 220 В. Однополупериод-ный выпрямитель с ограничением по току питает схему мощного стабилитрона и стабилизатора напряжения. Цепь понижения напряжения сети до уровня 9 В (Rl, СЗ) рассчитана на ток потребления 40 мА. Ток стабилизации стабилитрона составляет 20 мА - столько же потребляет стабилизатор напряжения 5 В, питающий микроконтроллер в течение работы устройства.

В момент включения основной ток потребляет конденсатор С2, но этот ток ограничен реактивным сопротивлением С2 и сопротивлением

R1. Конденсатор C2 так же выполняет функцию источника тока в момент отключения питания схемы, при этом D2 запирается, и потребителями остаются R5, R4, LED1, R3, Dl, R2, IC2.


Рис. 5.1. Схема музыкального звонка

При снижении напряжения на С2 до уровня менее 9 В стабилитрон D1 уменьшает потребление тока до минимума и отключается. Конденсатор С 4 сглаживает высокочастотные импульсные помехи, проходящие из сети в схему питания. Конденсаторы R5 и R4 составляют делитель напряжения на стабилитроне D1 (необходим для измерительного канала микроконтроллера). Измерительный канал не содержит схему выборки и хранения, а так же интегратора и фильтра верхних частот, поскольку эти функции выполняют фильтрующие элементы питания С2, С4. Функцию интегратора выполняет ограничительный стабилитрон D1.

Микроконтроллер включается, как только подается напряжение питания. При этом светится светодиод LED1. При падении напряжения на стабилитроне D1 до уровня менее 9 В микроконтроллер переходит в "спящий" режим. Как только на микроконтроллер поступает напряжение питания, он формирует низкочастотные сигналы музыкальных мелодий на пъезоизлучателе (можно выбрать любой пьезоизлучатель ). Для лучшего воспроизведения мелодии можно использовать динамик, но при этом для него необходимо обеспечить усилитель по току (на микросхеме или на транзисторе) и увеличить емкость С2.

Программа

Программа разработана для микроконтроллера с тактовой частотой 4 МГц. Ее выполнение при включении питания начинается с вектора прерывания, по которому она переходит в заданную вектором подпрограмму. При сбросе вектор прерывания переводит программу к метке RESET. Далее программа выполняет проверку питающего напряжения. Эту функцию выполняет АЦП при помощи одиночного преобразования. Программа проверяет напряжение питания схемы, и в случае падения его ниже уровня 0,89 В микроконтроллер переходит в "спящий" режим.

После успешного прохождения проверки питания значения всех переменных сбрасываются в ноль, а так же настраивается порт ввода-вывода и два таймера: ТО и Т1. Таймер ТО предназначен для установки времени звучания мелодии, а таймер Т1 - для установки частоты выбранной ноты. Таймер Т1 настроен на синхронизацию от тактового генератора микроконтроллера с коэффициентом деления 1/64. Частота ноты задается путем ввода длительности полупериода. При прохождении цикла, состоящего из деления тактовой частоты внутреннего генератора и инвертирования выходного сигнала дважды, формируется период с заданной частотой.

В основе программы заложено использование таймера Т1 совместно с альтернативной функцией OClA-вывода порта РВ1, т.е. как только таймер выполнил заданный программой счет импульсов, на вывод РВ1 выдается единица. В следующий цикл Т1 обнуляется и повторяет счет импульсов до заданного значения, по достижению которого сигнал на выводе РВ1 инвертируется. С каждым последующим счетом значение на РВ1 инвертируется. Разобраться в расчете установленных коэффициентов для нот первой, второй и третьей октавы (диез и бемоль автор не рассматривал из-за ограниченного ресурса микроконтроллера) поможет табл. 5.1. Выходные данные: тактовая частота - 4000000 Гц, коэффициент деления - 2.

Таблица 5.1. Расчет коэффициентов для нот первой, второй и третьей октавы

Реальная

Реальная

Установка таймера ТО определяет длительность ноты. ТО настроен на синхронизацию от тактового генератора микроконтроллера с коэффициентом деления 1/1024. К сожалению, разрядность этого таймера - только 8 разрядов. Даже с максимальным коэффициентом деления тактовой частоты выйти на необходимую длительность ноты (около 0,1-0,5 с) очень сложно. По этой причине дополнительно задается цикл работы ТО до 64 раз. Эта функция повторяется многократно, пока ТО не остановит звучание ноты и не перейдет к следующей ноте.

Установка необходимых коэффициентов выполняется с помощью поочередного опроса памяти программ. В конце программы задается частота ноты и длительность звучания. Во избежание операций с 16-разрядными данными организована отдельная обработка 8-разрядных данных (операции с двухбайтным словом предназначены для дальнейшей модернизации программы). После воспроизведения последней ноты микроконтроллер переходит в "спящий" режим.

Мелодия звонка ограничена гаммой нот от "до" до "си". Можно запрограммировать любую гамму - для этого в конце программы есть много свободного места. Можно изменить порядок чтения нот и получить интересную мелодию.

Код программы на ассемблере представлен в листинге 5.1, а шест-надцатеричный код - в листинге 5.2.


Обратите внимание на то, что таблицу длительности нот и частоту ноты можно прочитать только с помощью команды LPM микроконтроллера. Эта команда в версии ATtinyl5 по сути - единственная, выполняющая функции косвенного чтения данных из памяти в регистр R0. Кроме того, существует ограничение стека по нижнему уровню. Стек поддерживает не более трех вложений. Автор проверил в симуляторе AVR Studio 4 вложение стека на уровне 3, и обнаружил сбой программы, поскольку команды условного перехода тоже используют стек. Программа теряет функциональность и последовательность. Учитывая эти замечания, исходная "прошивка" имеет небольшой объем (для микроконтроллера Tiny 15), но проверена и вполне работоспособна.

По окончанию проигрывания мелодии микроконтроллер переходит в "спящий" режим независимо от питания схемы.

Плата изготавливается из двухстороннего текстолита, или на макетной плате. Монтажная схема представлена на рис. 5.2, а схема разводки - на рис. 5.3.

К разъему SL1 подключается сетевое напряжение 220 В. Кнопку S1 можно установить на плате или вынести на лестничную клетку. Можно использовать готовую кнопку, при этом вместо кнопки на плате устанавливаем перемычку, а питание звонка используем по предыдущей схеме (разрыв питания по сетевому проводу). Возможен вариант подключения к домашнему звонку параллельно соленоиду (при этом вместо кнопки на плате устанавливаем перемычку).


Плату монтируем и закрепляем в корпусе звонка. Конденсатор СЗ встречается в продаже нечасто, поэтому его можно заменить набором конденсаторов, спаянных параллельно (т.е. вместе). Стабилитрон D1 Д815Г - в металлическом корпусе для лучшего охлаждения, поскольку в момент всплесков сети он потребляет и рассеивает в тепло ток значительной силы. Диод D2 - любой на обратное напряжение 300 В и ток не менее 0,2 А. Пьезоизлучатель - любого типа на напряжение 3-5 В. Светодиод LED1 - любой на ток ЮмА или меньше. Резисторы R1 и R2 - мощностью 1 Вт МЛТ-1. Конденсаторы С5 и R6 для большинства микроконтроллеров можно не устанавливать (на монтажной плате эти элементы не введены), однако в случае невозможности запустить программу их необходимо припаять навесным монтажом.

Настройка схемы

Для проверки схемы питание +9 В ("плюс" - к катоду D1, "минус" - на "землю") можно подать от независимого источника к стабилитрону D1. Мелодия начинает воспроизводиться сразу же при подключении питания.

Проверить схему при питании от сети можно без микроконтроллера. Для этого необходимо подключить нагрузку к выходу IC2. В качестве нагрузки можно использовать резистор номиналом 300 Ом и мощностью 1 Вт. При отключении схемы раньше, чем набирается напряжение питания, можно увеличить номинал резистора R5 в два раза или установить дополнительно конденсатор 1000 пФ (10 В) параллельно R5 (подбирается экспериментально).

Если мелодия имеет низкочастотную тональность, то используемый микроконтроллер настроен на внутреннюю тактовую частоту 1 МГц. Можно увеличить тональность, добавив к выводам 2 и 3 микроконтроллера (РВ2, РВЗ) кварцевый резонатор 4 МГц и корректирующие конденсаторы по 100 пФ. При нестабильном запуске программы необходимо установить конденсаторы С5, R6.

В перспективе, схему можно дополнить фотодатчиком для регулировки уровня звука в ночное время, а так же сенсором открытия двери для выключения мелодии при открытии двери или при включении света в прихожей (S2). Оставшиеся выводы микроконтроллера можно задействовать для реализации многоголосного музыкального сопровождения, подключив еще два пьезоизлучателя. В программе эти функции не реализованы.

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



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

Особенно детей интересует, чем же там занимается папа или мама? Наблюдая, как родители работают за компьютером, дети тоже хотят поучаствовать в нажимании клавиш. Чтобы не только занять ребенка, но и помочь ему развиваться, предлагаю собрать музыкальную клавиатуру на PIC16F628A.

Схема музыкальной клавиатуры

Исключён фрагмент. Наш журнал существует на пожертвования читателей. Полный вариант этой статьи доступен только


Сердцем устройства является микроконтроллер PIC16F628A, он считывает код нажатой клавиши и согласно программе выдает звуки или наборы звуков.
При нажатии на буквы формируются одиночные звуки различной тональности, при нажатии на цифры – сигналы тонального набора телефона, при нажатии F1-F12 наборы тональных звуков. А при нажатии на ESC проигрывается короткая мелодия.

К устройству можно подключить любую клавиатуру персонального компьютера (не USB), как старую 5-штырьковую (DIN), так и 6-штырьковую (PS/2).

На схеме указано подключение 5-штырьковой клавиатуры (DIN).

Было замечено, что клавиатура начинает работать при напряжении питания не менее 4,5 В. Поэтому устройство лучше всего питать от батареи типа «Крона» и снижать напряжение стабилизатором 78L05.

Для повышения громкости можно на динамик подать не +5 В, а +9 В с вывода 3 IC2.
А возможно, напротив, потребуется ввести регулятор громкости. Это зависит от примененного излучателя.

В качестве излучателя можно использовать пьезоизлучатель типа ЗП-22, так же, попробовать различные схемы подключения динамиков, через конденсатор или используя простой фильтр. Можно выбрать, какое звучание будет лучше.


Протестировал схему при питании от 6 Вольт, и хотя по даташиту максимальное напряжение питания МК 5,5 Вольт, проблем не обнаружил. Так, что можно запитать игрушку от 4 батареек типа АА, но на ваш страх и риск. В этом случае стабилизатор можно убрать.

--
Спасибо за внимание!
Игорь Котов, главный редактор журнала «Датагор»


🕗 22/03/09 ⚖️ 53,37 Kb ⇣ 181 Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.

Хорош! Халява кончилась. Хочешь файлы и полезные статьи - помоги мне!

Запоминающий музыкальный звонок на PIC16F84

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

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

В описываемом варианте устройство воспроизводит 16 мелодий, которые выбираются случайным образом. Изменив коды управляющей программы, можно замени ib мелодии любыми другими, а также изменить их число и время звучания.

Принципиальная схема звонка изображена на рис. 1. Его основа - микроконтроллер DD1 (PIC16F84-04I/P фирмы Microchip). Тактовую частоту задает кварцевый резонатор ZQ1. Сигнал 34 снимается с вывода 7 (RB1) микроконтроллера, усиливается транзистором VT1 и воспроизводится динамической головкой ВА1.

Кнопка звонка SB1 и датчик открывания двери SF1 подключены к выводам микроконтроллера через токоограничивающие резисторы R3, R5. Конденсаторы С5 и С6 исключают самопроизвольное срабатывание звонка от помех, создаваемых электроприборами.

Устройство питается от сети переменного тока через понижающий трансформатор Т1. Напряжение вторичной обмотки выпрямляется диодным мостом VD1. постоянное напряжение стабилизируется интегральным стабилизатором DA 1.

Чертеж печатной платы и расположение деталей на ней показаны на рис. 2. Плата рассчитана на установку резисторов МЛТ. конденсаторов К50-35 (С1, С2) и КМ (остальные).

Диодный мост VD1 - КЦ405 с любым буквенным индексом. Кварцевый резонатор ZQ1 - на частоту 4 МГц. Конденсаторы C3, С4 - любые керамические емкостью 15...33 пФ. Транзистор VT1 - любой из серии КТ815. Сопротивление резистора R1 должно быть не более 40 кОм.

В качестве Т1 подойдет любой трансформатор, обеспечивающий на вторичной обмотке напряжение 9... 10 В при токе 0.3 А. В авторском варианте применен трансформатор ТС-Ш-ЗМ1. у которого число витков вторичной обмотки уменьшено на 90.

Кнопка SB1 - обычная для дверного звонка, датчик открывания двери SF1 - геркон. закрепленный на дверном косяке. На самой двери устанавливают магнит. При закрывании двери геркон под действием магнита замыкается, при открывании -размыкается. Датчик может быть любой конструкции.

Листинг программы:

(нажмите для увеличения)

Для замены мелодий ознакомимся с принципом размещения их в памяти микроконтроллера. Они располагаются в памяти программ в интервале адресов с 200Н по 3FFH. Одна нота занимает в памяти одно машинное слово. Каждая мелодия должна заканчиваться кодом 07Н. Маска M_RAND. расположенная по адресам 0079Н и 0085Н. определяет число мелодий и. соответственно, максимальное число нот в мелодии (табл. 2).

Так, если маска равна F8H (32 мелодии по 15 нот), то первая мелодия займет адреса 200H-20FH. вторая -210H-21FH.....32-я - 3F0H-3FFH. Очевидно, что каждая из них занимает 16 машинных слов, а максимальное число нот в мелодии - 15 (одно машинное слово отведено под код 07Н).

Следует отметить: если в конце мелодии нет кода 07Н. то будет воспроизводиться без остановки следующая и т. д. до тех пор. пока не встретится этот код. В данном случае (16 мелодий по 31 ноте) первая мелодия занимает адреса 200H-21FH. вторая -220H-23FH и т. д. Реальное число нот (от 1 до 31) зависит от того, в каком месте будет поставлен код 07Н. Коды нот в зависимости от их длительности и принадлежности к той или иной октаве представлены в табл. 3.

(нажмите для увеличения)

Для предварительного прослушивания мелодий можно использовать программу music.exe.

По адресу 008ВН располагается константа Wait_D. определяющая время ожидания открывания двери. Это время (в секундах) примерно равно Wait_D-2. В нашем случае константа равна 5АН (в десятичной системе - 90) и время ожидания составляет 90 · 2 = 180 с = 3 мин.

Для изменения программы необходимо загрузить файл ring.hex в шестнадцатиричный редактор (обычно он встроен в программное обеспечение программатора) и отредактировать, приняв во внимание то, что машинное слово микроконтроллера PIC16F84 имеет длину 14 бит и представлено четырехразрядным шестнадцатиричным числом. Заменять необходимо только два младших разряда, так как старшие представляют собой код инструкции. Например, в памяти по адресу 208Н находится число 3483Н, а необходимо записать код 07Н. Изменив только младшие разряды, получим число 3407Н.

Допустимо также внести изменения непосредственно в исходный текст программы (файл nng.asm). Для этого необходимо создать папку Ring в корневом каталоге любого диска, поместить туда файлы nng.asm, ring.pjt и ring.lkr. Затем в среде MPLAB v4.12 открыть проект ring.pjt и файл ring.asm. который и необходимо отредактировать. Далее запускают построение проекта и получают новый файл ring.hex.

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

Таймер собран на очень распространенном и дешевом микроконтроллере от 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 Ом.

Поддержите проект — поделитесь ссылкой, спасибо!
Читайте также
Как перераспределить размер локальных дисков Как перераспределить размер локальных дисков SymMover Переместить программу SymMover Переместить программу Скачать бесплатно программу для создания документов Word Скачать бесплатно программу для создания документов Word