Мелодия на attiny13. Возможно ли?

Обсуждаем контроллеры компании Atmel.
Ответить
Потрогал лапой паяльник
Сообщения: 364
Зарегистрирован: Сб май 25, 2013 11:52:14

Сообщение Viper115 »

У ШИМ есть побочный эффект при подключении моторов. Они начинают "петь". А можно ли заставить петь мотор какую-то несложную мелодию?
Реклама
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Сообщение blackx »

Можно, но мотор - это не динамик, некоторые частоты могут звучать очень тихо.
Изображение only pure true norwegian blackx Изображение
Реклама
Потрогал лапой паяльник
Сообщения: 364
Зарегистрирован: Сб май 25, 2013 11:52:14

Сообщение Viper115 »

А в какую сторону хоть копать? Может пример кода на ассемблере?
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

В сторону генерации частоты.
Docendo discimus
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Потрогал лапой паяльник
Сообщения: 364
Зарегистрирован: Сб май 25, 2013 11:52:14

Сообщение Viper115 »

А как ее генерировать? Я так понимаю не шимом?
Реклама
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Сообщение blackx »

Можно и шимом, в режиме таймера "Clear Timer On Compare", например :)

Поищите готовые примеры создания звуков на AVR, я не раз натыкался в интернете на что-то такое.
Изображение only pure true norwegian blackx Изображение
Реклама
Потрогал лапой паяльник
Сообщения: 364
Зарегистрирован: Сб май 25, 2013 11:52:14

Сообщение Viper115 »

Пока только один пример нашел. Но там трехголосая полифония. Я там не разобрался
Грызет канифоль
Аватара пользователя
Сообщения: 258
Зарегистрирован: Пт сен 23, 2011 06:44:41
Откуда: ЮФО

Сообщение Panda_Y2K »

Музыка на флоппи дисководах
http://www.youtube.com/watch?v=lo93usctWYU
Музыка формул chip tune
http://hackaday.com/2011/10/03/avr-chip ... nto-music/
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

Сообщение ANALOG »

У меня на другом компе есть имперский марш и тема из mortal kombat специально для воспроизведения с помощью AVR по нотам в таблицах вида
частота - длительность
пауза - длительность
частота - длительность
пауза - длительность
и т.д.
А так же прошивка на asm для меги48 которая это играет на флопи дисководе, правда код очень запутанный и плохо коментированный.
Впринципе, можно вместо флопа повесить и моторчик и динамик (но тогда получится что код избыточен, т.к. он на каждой ноте считает в какую сторону лучше начать двигать каретку дисковода чтобы не стукнуться в край и осталось побольше места для следующих нот). Прошивка весит 824 байта, так что для музыки места останется немного, если пихать все в тиньку. Но можно сильно урезать имперский марш, думаю поместится.
Если интересует могу выложить файлы позже.
Потрогал лапой паяльник
Сообщения: 364
Зарегистрирован: Сб май 25, 2013 11:52:14

Сообщение Viper115 »

Буду очень благодарен :)
Мучитель микросхем
Аватара пользователя
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

Сообщение ANALOG »

Ну вот собственно файлы проекта, если будете пытаться разобраться в исходнике - обращайтесь.
Если переделывать под тини, то нужно будет вместо PortD использовать PortB, тогда моторчик подключается к PB1, а на PB2 можно повесить светодиод - он будет мигать под музыку :idea: .
Но будет проблема с таймером, т.к. используется 16-битный таймер, а в даташите на тини13 сказано что там есть только 8-битный. Ну тут можно в принципе выкрутиться - завести какой-нибудь 16-битный счетчик в памяти и щелкать его по таймеру, а в программе вместо таймера обращаться к этому счетчику. Как-то так. :)
Вложения
Mortal_Kombat.asm
Тема из Mortal Kombat
(9.06 КБ) 388 скачиваний
Imperial_March.asm
Имперский марш (в ммелодии очень много кусков, которые повторяются, так что думаю, если подредактировать то можно впихнуть будет даже в тиньку)
(6.76 КБ) 725 скачиваний
math.asm
Это будущая библиотека мат. функций на асме, пока здесь только деление :). Оно же и используется в проекте
(959 байт) 481 скачивание
stdmacro.asm
Файл с макросами, которые я часто использую. Из них здесь используются stack, outi и incram
(1.13 КБ) 581 скачивание
Floppy.asm
Главный исходник (файлы с мелодиями подключаются комментированием строк в самом конце файла)
(5.8 КБ) 594 скачивания
Прорезались зубы
Сообщения: 238
Зарегистрирован: Сб янв 29, 2011 20:26:48

Сообщение king-live »

Мелодию на Attiny13 можно записать любую в пределах его ёмкости Flash. Я недавно скопировал музыку с настоящей автосигнализации "Мейджи кар". Посмотрел какая мелодия (нота) на какой частоте звучит. Ну и такой же выход частоты с контроллера, добился с помощью обычного генератора (применил макросы_delay_ms/us) которую часто используем чтобы светодиод поморгал на ножке микроконтроллера. Только ( _delay_ms/us) выбираем по минимому подбираем под нужную частоту ноты. Всё это запихивается в цикл for(...) кстати это получается длительность определённой "ноты" частоты. Шим не применял, хотя на нём легче сделать наверное. Времени не было. И потом звук получается не так как мы привыкли слушать не синусоидальный, а "электронный" это все го лишь импульсы! Но для автосигнализации это годится.
Ответить

Вернуться в «AVR»