Дверний дзвінок "Патріот"

Наступний девайс на мікроконтролері. Ось схема:

Схема дверного дзвінка

Складного взагалі нічого. До виходу цієї схеми можна підключати будь-який динамік опором від 4-х Ом до безкінечності. В принципі, можна просто включити між 15 ногою мікросхеми і землею високовольтний динамік (більше 1 кОм) - і спокійно слухати.

 

А ось і вихідник програми контролера. patriot.asm

Дивимось у текст програми. Шукаємо в ній великий масив, який називається HymnUSSR. У цьому масиві міститься музичка Гімну СРСР aka Росії. Після прошивки він відразу ж почне радувати ваше слух.
Як? Він вас не радує??? Ну будь ласка - ви можете запросто написати свою мелодію. Це зробити дуже просто.

Одразу після масиву перераховані ноти і відповідні їм числа. Перша стрічка відповідає середній октаві, 2-я - великій, 3-я - першій.

Крім того, числами в масиві позначаються тривалості. Тобто, на запис кожної ноти йде два числа. Перше - код ноти, друге - тривалість (в умовних одиницях). Поекспериментуйте з цим.

Ще існують паузи. Пауза має код 254. Вона також пишеться в парі з тривалістю.

В кінці мелодії обов'язково повинно стояти число 255, інакше програма продовжить читати пам'ять за межами масиву і в результаті - щасливо заглючить

Також, пам'ятаємо, що кожен рядок масиву повинен містити парну кількість значень, інакше також буде глюк-с.

Перспективи

Як можна це все апгрейдити?

Можна дописати модуль вибору мелодії (якщо їх кілька).
Вибирати мелодії можна або послідовним перебором, або введенням номера з клавіатури, або ще якось.
Крім того, якщо робити з цього дверний дзвінок - можна написати модуль розпізнавання "стилю" натискання на кнопку (типу азбуки Морзе), і відповідно до цього включати певну мелодію.
Так взагалі - багато чого можна… Була б фантазія.

Наприкінці хочу попросити: якщо ви напишете музичку для цього девайса або якось апгрейдите його - будь ласка, поділіться з нами. Не жадничайте. Я ж не жадную? :)

Update
Наш колега з ніком masya13 надіслав нам парочку мелодій, які можна скачати тут і ще тут.

Джерело: www.radiokot.ru

Top