реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> PIC18 + ШИМ + WAV
torik
сообщение Nov 28 2005, 10:02
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Здорова, люди.

В память программ ПИКа загоняем примерно 1 с звука (типа восклицания в винде). Получается 8 кБайт при частоте дискретизации 8 кГц, глубине звука 8 бит.
Вопрос - как этот звук с помощью ШИМа в контроллере воспроизвести на пьезопищалке хотябы? Я слышал ктото делал такое. Качество особо пофиг. Подскажите кто как воспроизводит мелодии вообще.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
0psv0
сообщение Nov 29 2005, 16:22
Сообщение #2





Группа: Новичок
Сообщений: 4
Регистрация: 29-11-05
Пользователь №: 11 549



Решение проблемы зависит от исходной частоты подаваемой на счетчик которая д.б. >= 8000 (твоя частота дискетизации звука) * 2^8 (256 твоя глубина звука) = 2,048 МГц (чем больше тем лудше). На выходе шима ставится фильтр резюк-кондюк(номиналы подбираются опытным путем в зависимости от той самой исходной частоты), а в регистр скважности шима записываешь по тамеру через каждые 1/8000 сек. свои нарубленые байты. Для точности ответа: остальные более высокие частоты нужно увеличивать в 2^N раз, где N - целое число.

Успехов! smile.gif
Go to the top of the page
 
+Quote Post
Andy_MS
сообщение Nov 30 2005, 07:21
Сообщение #3





Группа: Новичок
Сообщений: 13
Регистрация: 25-05-05
Пользователь №: 5 367



Делал для эксперимента такое на 18F452. За основу брал приложенный пример. Если надо - завтра могу скинуть свой проектик (сорцы дома).
Прикрепленные файлы
Прикрепленный файл  p16f876.zip ( 23.51 килобайт ) Кол-во скачиваний: 129
 
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Dec 7 2005, 14:55
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



В добавок к сказанному 0psv0.
Из WAV файла нужно убрать заголовок, чтобы не воспроизводить то, что не является звуком.
Чтобы не вдаваться в детали можно тупо выкинуть первые 32 (или около того) байта.
Go to the top of the page
 
+Quote Post
torik
сообщение Dec 9 2005, 12:12
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Andy_MS, закинь, пожалуйчта пример проги на мыло (желательно с кратенькими пояснениями и на СИ), а я могу если надо кинуть прогу, которая делает из wav файлов - константу для СИ.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Andy_MS
сообщение Dec 12 2005, 11:25
Сообщение #6





Группа: Новичок
Сообщений: 13
Регистрация: 25-05-05
Пользователь №: 5 367



2torik
Цитата
могу если надо кинуть прогу, которая делает из wav файлов - константу для СИ.

У меня есть утилитка, которая из любого файла делает С-массив
Прикрепленные файлы
Прикрепленный файл  BIN_2_C_arr_conv.rar ( 108.2 килобайт ) Кол-во скачиваний: 68
 
Go to the top of the page
 
+Quote Post
torik
сообщение Dec 12 2005, 11:32
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



мое мыло:

torizin-liteha@yandex.ru


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Andy_MS
сообщение Dec 12 2005, 13:42
Сообщение #8





Группа: Новичок
Сообщений: 13
Регистрация: 25-05-05
Пользователь №: 5 367



2torik
Исходы скинул на мыло. С коментариями, правда, там не густо...
Go to the top of the page
 
+Quote Post
torik
сообщение Dec 12 2005, 14:16
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Спасибо, интересный проект. Разберусь и без коментариев.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 18:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01422 секунд с 7
ELECTRONIX ©2004-2016