Свежие обсуждения
Микроконтроллеры

Музыкальная шкатулка с таймером

1 3

Вот решил на 8е марта сделать подарочек. Но хочется электроники
Я вот решил сделать музыкальный сигнализатор. Я вечером прячу подарок и ложу в коробку плату с МК, включаю питание. Примерно через 10 часов (утром) МК начинает проигрывать мелодию и мигать светодиодом (для облегчения локализации источника шума). На всякий пожарный, там должна быть цепь, при замыкании которой МК начнет проигрывать мелодию через 10 минут.
Теперь ближе к железу. Так как это будет использовано 1 раз, то я решил просто приделать к макетной плате (8 светодиодов на port B, кварц на 4МГц) пищалку от китайских часов и светодиод на «гибкой тяге».
Теперь «софт». Здесь у меня две проблемки: 1. таймер на 10 час / 10 мин; 2. собственно генератор мелодии.
Первую проблему я решил выполнить следующим образом: 10 часов – это примерно 255х255х255х2 мкс, т.е. нужно 4 регистра. В голове появилась следующая программа:
VAL1=255
VAL2=255
VAL3=255
VAL4=2

decfsz VAL1
goto $-1
decfsz VAL2
goto $-3
decfsz VAL3
goto $-5
decfsz VAL4
goto $-7

но, если вдуматься, то с полученным кодом я получу заметно большую задержку, т.к. в первом цикле, цикл будет длится 3мкс, второй 5мкс, третий 7мкс и четвертый – 9мкс. Вот тут у меня и появился стопор, как это откорректировать так, чтобы получить в сумме задержку на ~10 час. Прошу Вашей помощи

Проблемка №2. С музыкой тоже небольшие трудности. У меня есть готовая программа генерирования сигналов безинтервального пакета (двухчастотка), я его немного модифицирую и получу программу, в которой нужно будет указывать частоту и длительность тона. Но с меня такой музыкант…. Т.е. мне нужна мелодия (советских времен, веселая) в виде «до ре ми ми си до ми…» (т.е. частота и длительность). Пока ничего найти не могу

МК=PIC16F628A

 

По поводу мелодий - www.midi.ru . Там что-нить найдете. Открыть каким-нить редактором мидях. Ноты - частоты http://ingibitor.nm.ru/info/nummus/nm-noty.html . Если есть хоть какие-то муз. знания то миди можно "вскрыть" Guitar pro и посмотреть в виде нот, табов и т.д.

 

Еще лучше нашел http://cetronika.narod.ru/Tuning/NM_FAQ.htm . А вообще поиск рулит.

А на 555 нельзя собрать таймер на такой временной интервал?

 

Dron_Gus: А на 555 нельзя собрать таймер на такой временной интервал?
Проще на CD4541 или на CD4536 Дешево и сердито. На последней до месяца. Резистор + конденсатор Всё!

 

Программа проигрывания мелодий от "поющей елки" не годится? Туда можно любые мелодии на свой вкус запрограммировать. Я открывал midi файл редактором CakeWalk - все ноты и длительности как на ладони. Перегнать в асм - дело нескольких минут.

 

Dron_Gus: Открыть каким-нить редактором мидях
Вот их то и нету

Skit: Проще на CD4541 или на CD4536
Есть ПИК и готовая плата к нему, мне достаточно припаять туда пищалку. А вот если делать с нуля...

picmaniac: Я открывал midi файл редактором CakeWalk
Да мне бы простенькую мелодию в нотах...
Я помню, когда осваивал Васика, на нашел дома книжку с песнями и там было разобрано по нотам. Я тогда написал на Васике пограмму (длительность ноты фиксированая) и каждой ноте присвоил частоту. Получилось неплохо (на то время). Вот сейчас и хочу повторить, но как всега, времени в обрез
Нет ли сайтика, где песня в нотах (простеньких) расписанна?

Dron_Gus: Если есть хоть какие-то муз. знания
Музыкальные знания закончились еще в школе

 

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

 

Вот пример для мелодии "Город золотой". Midi-файл, открытая в Cakewalk мелодия, ассемблерный код для этой мелодии, проект "поющая елка" для Протеуса (там 12 мелодий).

38923.zip

 

Спасибо, посмотрю. Только что запустил программу-генерилку тона для АОНа. Пищит, но тихо.
Правда планы немного изменились. Из-за отсуствия (сейчас) 628го, я программирую 84й.

 

picmaniac: Вот пример для мелодии
Пробую... визуальный эффект есть, а вот звука почему то нет?
И там написанно, что звук появляеться после 5 циклов... а как сделать, чтобы он звучал сразу и по кругу?

P.S. И времени (как всегда) в обрез, осталось только пол дня завтра (Пн), т.к. во вторник 5 пар