РадиоКот :: Музыкальный дверной звонок
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: Добавить тег

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

Автор: kostya13
Опубликовано 19.03.2014
Создано при помощи КотоРед.

Введение

Когда возникла необходимость установить дверной звонок было два варианта: купить готовый или сделать самому.

У готовых звонков был ряд недостатков:
- встроеные мелодии не отличаются качеством и разнообразием;
- нет регулятора громкости.

Но есть готовый корпус и в некоторых моделях радиокнопка.

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

В качестве мелодии можно загрузить большинство midi файлов.
Найти популярную мелодию в формате midi не представляет большой сложности.

Чтобы сконвертировать midi в формат, пригодный для прошивки, в архиве проекта есть программа Continy45 (автор Dmitry Dubrovenko https://www.dubrovenko.ru)

Несколько мелодий включено в архив прошивки.

За основу звукогенератора взята музыкальная шкатулка
https://elm-chan.org/works/mxb/report.html

Образец ее звучания:
https://elm-chan.org/works/mxb/mg.mpg

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

Особенности звонка

- Очень простая схема.
- Большое количество доступных мелодий.
- Гибкая настройка режимов работы

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

В качестве корпуса был использован радиозвонок с питанием от батареек, поэтому батарейный отсек послужил отличным местом для установки новой платы.

Я установил контроллер в переходник на SOIC-DIP потомучто так удобнее перепрошивать
во время отладки программы.

В качесте источника питания был применен слегка модернизированый б/п для зарядки сотового
телефона. В принципе, подойдет любой источник питания от 3 до 5В.

Из оригинального звонка микросхема звукогенератора была выпаяна, а сигнал от кнопки заводится на новую плату.

Для индикации работы применяются два светодиода: зеленый - индикатор питания, красный - блокировка звонка.

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

Принципиальная схема

Схема достаточно простая.

Если не нужна вся функциональность, то схему можно еще упростить.

Если не нужно автоматическое прерывание мелодии при откртой двери, то геркон SF1 можно не ставить, но тогда лучше использовать более короткую мелодию.

Переключатель SA1 - полной блокировки звонка можно тоже не ставить, но все-таки иногда удобно полностью отключить звук звонка.

Если нет радиокнопки, то выход XS3 тоже не нужен. Т.к. это выход для питания радиомодуля

Усилитель звука сделан очень примитивным, на одном транзисторе, но для звонка этого достаточно. Транзистор подойдет любой маломощный стуктуры n-p-n.

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

Если не нужна регулировка громкости, то R2 вообще можно не ставить, соединив выход PB1 контроллера с резистором R1.

Резистор R1 регулирует максимальную громкость, поэтому его номинал можно варировать примерно от 1 до 5кОм.

Громкость сильно зависит от самого динамика. Я проверял на двух похожих динамиках 0,25Вт, 8Ом. Если на одном мелодию было еле слышно, то второй играл достаточно громко.

Печатная плата

Сделана под размер батарейного отсека.

Прошивка

Было внесено немного изменений в оригинальную прошивку музыкальной шкатулки, мои изменения прокомментироаны на русском языке.

Воспроизведение начинается, когда появляется высокий уровень на входе PB0.

Если появляется высокий уровень на входе PB2, но воспроизведение прекращается и блокируется до тех пор, пока на входе PB2 не появится низкий уровень.

Уровень входа PB2 копируется на выход PB3, которому подключен сигнальный светодиод.

Для правильной работы прошивки необходимо установить фьюзы:

галочка означает запрограммированый фьюз (значение 0).

Параметры для команды avrdude:
-U lfuse:w:0xd1:m -U hfuse:w:0xdd:m -U efuse:w:0xff:m

Онлайн калькулятор фьюзов:
https://www.engbedded.com/fusecalc

Для удобной сборки и загрузки прошивки в проекте есть Makefile.

Чтобы использовать другую мелодию, надо подключить в исходном файле asm-файл мелодии и пересобрать прошивку.
Прошивка подключается в метке "score:"

Формат файлов

Схема и печатная плата разработана с помощью программы Kicad.
https://www.kicad-pcb.org/display/KICAD/Download

Прошивка собиралась с помощью ассемблера avra.
Этот ассемблер совместим с оригинальным ассемблером AVR, поэтому прошивка будет собираться в AVR Studio.
Так же ассемблер есть в комплекте Proteus7: папка ToolsAVRASM.

В архиве есть готовая прошивка и схемы в формате png.

Редактирование мелодии

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

Можно предварительно отредактировать мелодию в midi, редакторе. Но это не так просто если не знаком с таким родом программ. Зачастую проще сковертировать мелодию в формат прошивки, а в файле с мелодией удалить часть мелодии. Этот метод не очень удобный но самый простой, если надо сократить длину мелодии.

Если сокращаете мелодию вручную, то надо смотреть, чтобы пара чисел перед EoS|en были близки по значению к предыдущей ноте.
Например мелодия должна заканчиваться так:
119, 24, E4, H4|en, 0, 25, EoS|en
Т.е. в данном случае у ноты идет числа 24, затем 25 у метки конца мелодии.

И необходимо следить, чтобы не было такого предупреждения:
Warning : A .DB segment with an odd number of bytes is detected. A zero byte is added.
Если оно появилось, значит мелодия отредатирована не верно, где-то появился лишний байт.

Примечания по количеству мелодий

Данная прошивка подразумевает воспроизведение одной мелодии.
Мне этого достаточно, поэтому я не стал усложнять прошивку.

Но несложно доработать прошивку таким образом, чтобы она воспроизводила несколько мелодий.
В Attiny45 можно записать 2-3 короткие мелодии. Если надо больше мелодий, можно применить Attiny85 с 8кб флеш памяти.

Ссылки

Скачать проект

Архив проекта

Можно клонировать репозиторий Mercurial:
hg clone https://bitbucket.org/kostya13/doorbell



Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

23 16 3