Страница 1 из 1
Мелодия на attiny13. Возможно ли?
Добавлено: Вс июл 14, 2013 15:15:56
Viper115
У ШИМ есть побочный эффект при подключении моторов. Они начинают "петь". А можно ли заставить петь мотор какую-то несложную мелодию?
Re: Мелодия на attiny13. Возможно ли?
Добавлено: Вс июл 14, 2013 16:25:43
blackx
Можно, но мотор - это не динамик, некоторые частоты могут звучать очень тихо.
Re: Мелодия на attiny13. Возможно ли?
Добавлено: Вс июл 14, 2013 16:54:57
Viper115
А в какую сторону хоть копать? Может пример кода на ассемблере?
Re: Мелодия на attiny13. Возможно ли?
Добавлено: Вс июл 14, 2013 17:00:30
pyzhman
В сторону генерации частоты.
Re: Мелодия на attiny13. Возможно ли?
Добавлено: Вс июл 14, 2013 21:03:15
Viper115
А как ее генерировать? Я так понимаю не шимом?
Re: Мелодия на attiny13. Возможно ли?
Добавлено: Вс июл 14, 2013 21:07:10
blackx
Можно и шимом, в режиме таймера "Clear Timer On Compare", например
Поищите готовые примеры создания звуков на AVR, я не раз натыкался в интернете на что-то такое.
Re: Мелодия на attiny13. Возможно ли?
Добавлено: Вс июл 14, 2013 21:20:43
Viper115
Пока только один пример нашел. Но там трехголосая полифония. Я там не разобрался
Re: Мелодия на attiny13. Возможно ли?
Добавлено: Вс июл 14, 2013 22:25:01
Panda_Y2K
Re: Мелодия на attiny13. Возможно ли?
Добавлено: Сб июл 20, 2013 01:24:05
ANALOG
У меня на другом компе есть имперский марш и тема из mortal kombat специально для воспроизведения с помощью AVR по нотам в таблицах вида
частота - длительность
пауза - длительность
частота - длительность
пауза - длительность
и т.д.
А так же прошивка на asm для меги48 которая это играет на флопи дисководе, правда код очень запутанный и плохо коментированный.
Впринципе, можно вместо флопа повесить и моторчик и динамик (но тогда получится что код избыточен, т.к. он на каждой ноте считает в какую сторону лучше начать двигать каретку дисковода чтобы не стукнуться в край и осталось побольше места для следующих нот). Прошивка весит 824 байта, так что для музыки места останется немного, если пихать все в тиньку. Но можно сильно урезать имперский марш, думаю поместится.
Если интересует могу выложить файлы позже.
Re: Мелодия на attiny13. Возможно ли?
Добавлено: Сб июл 20, 2013 21:36:14
Viper115
Буду очень благодарен

Re: Мелодия на attiny13. Возможно ли?
Добавлено: Пн июл 22, 2013 01:51:55
ANALOG
Ну вот собственно файлы проекта, если будете пытаться разобраться в исходнике - обращайтесь.
Если переделывать под тини, то нужно будет вместо PortD использовать PortB, тогда моторчик подключается к PB1, а на PB2 можно повесить светодиод - он будет мигать под музыку

.
Но будет проблема с таймером, т.к. используется 16-битный таймер, а в даташите на тини13 сказано что там есть только 8-битный. Ну тут можно в принципе выкрутиться - завести какой-нибудь 16-битный счетчик в памяти и щелкать его по таймеру, а в программе вместо таймера обращаться к этому счетчику. Как-то так.

Re: Мелодия на attiny13. Возможно ли?
Добавлено: Пн июл 22, 2013 18:05:55
king-live
Мелодию на Attiny13 можно записать любую в пределах его ёмкости Flash. Я недавно скопировал музыку с настоящей автосигнализации "Мейджи кар". Посмотрел какая мелодия (нота) на какой частоте звучит. Ну и такой же выход частоты с контроллера, добился с помощью обычного генератора (применил макросы_delay_ms/us) которую часто используем чтобы светодиод поморгал на ножке микроконтроллера. Только ( _delay_ms/us) выбираем по минимому подбираем под нужную частоту ноты. Всё это запихивается в цикл for(...) кстати это получается длительность определённой "ноты" частоты. Шим не применял, хотя на нём легче сделать наверное. Времени не было. И потом звук получается не так как мы привыкли слушать не синусоидальный, а "электронный" это все го лишь импульсы! Но для автосигнализации это годится.