Это не интересно. Намного интереснее познать: как это работает. Попробовать сделать самому. Это называется хобби. То есть использовать свободное время для развития своего ума и практических навыков. Ну вот например: Мелодический сигнализатор: Радио 1992 год 8, стр. 12. авторы: Череватенко подробно описывают, как поделить несущую частоту на звуки в 2,5 октавы.с помощью пары счетчиков с предустановкой (программируемый счетчик 155ИЕ7). Как из микросхемы памяти считать программу для управления этими счетчиками для создания простенькой мелодии. Почитайте, интересно. А готовое устройство всего на 7 корпусах микросхем (обычная логика). А прочитать с клавы номер нажатой клавиши достаточно одного мультиплексора и одного регистра. (но нужна стандартная обвязка: генератор тактовых импульсов и три счетчика импульсов, для создания "поля" адресов". ).
Микроконтроллер способен и сам опросить клаву (номер нажатой клавиши) и сам разделить опорную частоту генератора на запрограммированный коэффициент (таймер в МК имеется) деления. Остается только научится программировать. Насколько я знаю, у МК (а у какого конкретно???) имеется свой ЦАП (цифро-аналоговый преобразователь). Но Вам лучше проконсультироваться с понимающим в этих делах человеком.
Бригадиръ ЦАПа в Атмеловских чипах нету зато есть ШИМ. Что даже лутче поскольку ненадо заморачиватся с усилителем. Его роль элементарно может выполнить комплиментарная пара мошных МОСфетов и LC фильтр.Получиться усь класса D.
_________________ Не стесняйтесь благодарить тех кто вам помогает.
а если все же использовать порт В но не трогать вывод с таймера. получится или код нужно будет серьезно переделывать?
один фиг не не получится у меня. трудно мне дается программирование
В МЯУУУ я открыл тему про МК - там есть ссылка на программу для программирования Ардуино (та же МК с поддержкой) которая не требует глубокого изучения сложных языком Ассемблер или Си. Программа для чайника. Советую глянуть. http://flprog.ru/index/o_programme_flprog/0-7
_________________ А поболтать?
Последний раз редактировалось Brigadir Пт мар 04, 2016 19:42:49, всего редактировалось 1 раз.
Есть. Я лично копался по многим маркам Атмел и видел: 53 порта с АЦП и 53 порта с ЦАП. Но Вам такое количество ни к чему, Вы просто поищите по списку (придется в каждую заглядывать...) Ожидаемая цена - примерно 500 -700 рублей. А в дешевых...конечно же нет ни ЦАП ни памяти. Зато и цена в 76 рублей...Ищите среди: АТ89 или АТ90. Для синтезатора нужно как минимум 8х4 портов. Порты А и В = опрос клавы и управляющих кнопок, порты С - для дисплея и порты D - управление ЦАП , если нет внутреннего ЦАП. Обьем внутренней памяти от 128 и выше.
я тут знаете что подумал. да допустим сделать одноголосную полифонию на мк. один таймер как полагается задает нужную частоту а другой (см. рисунок) задает нужный тембр. (пианино). но знаете что. при нажатии нужной клавиши мы включаем таймер. но когда отпустим клавишу мк не будет отключать таймер. модуляция нужной частоты будет продолжатся. но звука не будет слышно так как другой таймер закончит шим модуляцию. вот так. надеюсь вы поняли о чем я. о том что послеголосие останется при отпускании кнопки
И не надейтесь. Как это, таймером тембр задавать? И вообще, о каком синтезе речь? ФМ-синтез, с двумя осцилляторами? Тогда о тембре пианино можно даже не мечтать. ВэйфТэйбл, тогда при чём тут второй таймер?
_________________ ICQ нет, и, в ближайшее время, не будет.
вот простейшая схема для пояснения принципа работы. но как я и говорил раньше мы не отключаем таймер №1. мы только меняем его частоту и заново воспроизводим шим модуляцию. определенной длинны. я так понимаю чем короче было нажатие на кнопку тем короче будет шим сигнал
Не совсем так всё... Сверху подавать огибающую, а ШИМом управлять ключом. Ибо обычный транзистор так как у тебя на схеме огибающую не скушает -- просто откроется, скорее всего.
Ну и пурга же тут понеслась! По таймеру считываються значения вэйвтэйбла и огибающей.Сначала атака .Затем сустэйн. Полученные выборки сустэйна умножаються на значение огибающей.Итого получаеться три таблицы : атака , сустэйн и огибающая (она же экспонента). Если клавиатура активная , то всё это умножаеться ещё и на коэфицыент скорости нажатия клавиши. Так для каждой ноты мы получаем мгновенное значение напряжения выраженное в коэфициенте ШИМ.Далие коэфициенты мгновенных значений всех одновременно звучащих нот сумируються по определённому правилу с учётом знаков полуволн и результат записываеться в управляющий регистр ШИМ генератора.Для следующей выборки всё расчитываеться заново. В итоге мы получаем один единственный выход ШИМ интеграл которого равен звучанию всех одновременно воспроизводимых звуков.Можно вывести и инверсию данного ШИМа чтобы управлять мостовым усем класса D.Ну а количество одновременно воспроизводимых нот зависит исключительно от вычислительной мощи ядра и никоим образом от количества таймеров , которых в идеале потребуеться два - для отсчёта отрезков квантования и для генерацыи ШИМ.Хотя если похитрому извернуться то можно всё это сделать и на одном.
_________________ Не стесняйтесь благодарить тех кто вам помогает.
Я вот не пойму, а чего это Вы в ШИМ уперлись? (широтно импульсная модуляция). Когда на одном ЦАП можно сформировать звук любой частоты и амплитуды, в том числе и сумму частот (любой тембр). А впрочем: я Вам мешать не буду = изобретайте. ШИМ - значит ШИМ.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения