Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Световые эффекты » Цифровые фильтры для ЦМУ


Цифровые фильтры для ЦМУ

Сообщений 31 страница 38 из 38

31

Есть идея - амплитуду вообще не анализировать. А вот ШИМ организовать так - после того, как определилась частота - включаем соответствующий светодиод на максимум яркости, каждый последующий шаг в главном цикле для него - уменьшение значения ШИМа на определённую величину (от этого зависит плавность затухания). Если есть опять эта частота - опять включение максимальной яркости. При таком подходе ЦМУ будет работать при большом разбросе входных параметров звука и при этом оставаться с одной стороны - динамичной, т.к. сразу реагируем на определение частоты, так и достаточно плавной, а не дёрганой - за счёт постепенного затухания в каналах.
Далее, насчёт алгоритма самой работы всей программы.
По моему мнению, использовать 2 таймера нельзя. Мы будем ломать ШИМ!
В главном цикле анализируем флаг - срабатывание компаратора. Расчёт частоты здесь же, в главном цикле, при срабатывании этого флага. Для опознанного канала выставляем максимальную яркость, для остальных - уменьшаем значения на определённую величину - для плавного затухания. При срабатывании таймера Pulse увеличиваем 2 переменные - К для расчёта частоты и переменную для ШИМа. Если переменная для ШИМа стала 255 - сброс в 0. При совпадении значений яркости каналов с переменной ШИМа - соответственное манипулирование светодиодами. Также желательно ввести таблицу логарифмической зависимости яркости для более плавного затухания.
Надеюсь, описал более-менее понятно. Незнаю, смогу ли в ближайшие дни попробовать, но буду пробовать обязательно :D

0

32

очень интересная задумка!

0

33

Круто! Я еще когда делал недоумевал, зачем он так усложнил конструкцию аналоговыми фильтрами.
Не думаете сделать версии для индикаторов 20х2 и 16х4? И, возможно, имеет смысл сделать версию с разгоном - типичный М8 вполне стабильно на 25 Мгц работает.

0

34

И вдогонку мысль - хватит ли ресурсов контроллера для формирования аппаратного ШИМа на 4 (для М8) или 6 (для М88) каналов для ЦМУ? Многим пользователям этого вполне достаточно, а вот конструкция насколько бы упростилась!

0

35

Mrshilov написал(а):

Для аппаратного ШИМа есть препятствие - таймер1 занят и без него никак. Можно сделать программный ШИМ, хотя это немного замедлит цикл, но зато он будет на все 8 или 16 каналов.

Какой, по вашему мнению, должен быть алгоритм программного ШИМа? Если его повесить на другой таймер, он будет пересекаться с таймером1, и ничего хорошего из этого не будет. Или то не будет работать, или другое. А попробовать хочется на одном камне и анализ, и ШИМ реализовать.

0

36

Mrshilov написал(а):

Mrshilov

Какой уровень аудио сигнала наиболее оптимален для http://ifolder.ru/24265228 ?
Можно сразу с линейного выхода брать (250-750 мВ), или всё же нужен предварительный усилитель?
Хочу плату развести, потому и спрашиваю, на что закладываться.

0

37

Mrshilov написал(а):

Пока в раздумьях: нужен ли фоновый канал? Если да, то он должен быть девятым? Или всего 7 цветовых плюс восьмой - фоновый?

Логично 7 каналов (Каждый Охотник Желает Знать Где Сидит Фазан) + 1 фон. И весь спектр радуги охватим, и 8 каналов - число удобное - 1 байт или 1 ULN2803.
А ещё лучше всё-таки 8 каналов задействовать и в режиме фона - в виде разных бегущих огней.
Или эти режимы - опционально.
А для совершенного минимализма можно использовать микрофонный усилитель отсюда - http://www.rlocman.ru/shem/schematics.html?di=65755 - рисунок 3.

0

38

The "Beat/Music Detection" code you have always wanted
Код на Ардуине, но вполне понятен. Человек выделяет НЧ и ВЧ, код простейший. На входе 2 фильтра.
http://arduino.cc/forum/index.php?topic=50021.0
Для какой нибудь ЦМУ начального уровня можно взять за основу.

0

Похожие темы


Вы здесь » Программирование ATMEL в BASCOM. » Световые эффекты » Цифровые фильтры для ЦМУ