Очередной девайс на микроконтроллере. Вот схема:
Сложного вообще ничего. К выходу этой схемы можно подключать любой динамик сопротивлением от 4-х Ом до бесконечности. В принципе, можно просто включить между 15 ногой микросхемы и землей высокоомный динамик (больше 1 кОм) — и спокойно слушать.
А вот и исходник программы контроллера. patriot.asm
Смотрим в текст программы. Ищем в ней большой массив, который называется HymnUSSR. В этом массиве содержится музычка Гимна СССР ака России. После прошивки он сразу же начнет радовать ваш слух.
Как? Он вас не радует??? Ну пожалуйста — вы можете запросто написать свою мелодию. Это сделать очень просто.
Сразу после массива перечислены ноты и соответствующие им числа. Первая строчка соответствует средней октаве, 2-я — большой, 3-я — первой.
Кроме того, числами в массиве обозначаются длительности. То есть, на запись каждой ноты идет два числа. Первое — код ноты, второе — длительность (в условных единицах). Поэкспериментируйте с этим.
Ещё существуют паузы. Пауза имеет код 254. Она также пишется в паре с длительностью.
В конце мелодии обязательно должно стоять число 255, иначе программа продолжит читать память за пределами массива и в результате — счастливо заглючит
Также, помним, что каждая строка массива должна содержать четное количество значений, иначе тоже будет глюк-с.
Перспективы
Как можно это все апгрейдить?
Можно дописать модуль выбора мелодии (если их несколько).
Выбирать мелодии можно либо последовательным перебором, либо вводом номера с клавиатуры, либо ещё как-нибудь.
Кроме того, если делать из этого дверной звонок — можно написать модуль распознавания «стиля» нажатия на кнопку (типа азбуки Морзе), и в соответствии с этим включать определенную мелодию.
Да вообще — много чего можно… Была бы фантазия.
Напоследок хочу попросить: если вы напишете музычку для этого девайса или как-то апгрейдите его — пожалуйста, поделитесь с нами. Не жадничайте. Я ведь не жадничаю? 🙂
Update
Наш коллега с ником masya13 прислал нам парочку мелодий, которые можно скачать тут и ещё тут.
Источник: www.radiokot.ru