Программирование BASCOM
Меню сайта
Категории каталога
Мои статьи [113]
Наш опрос
Оцените мой сайт
Всего ответов: 1158
Главная » Статьи » Мои статьи

Анализатор звукового спектра на Atmega8 и 16 или 24-х разрядном, двухстрочном LCD дисплее.
Анализатор собран на доступной элементной базе. Его уникальная особенность - код написан на BASCOM!!! 
Материал публикуется с любезного разрешения его автора - Paweł Kisielewski.
Оригинал статьи находится здесь - http://diy.elektroda.eu/?p=40
 
 
 
 
 
 
 
 

                                          Русское описание (Спасибо Maxis).

Автор программы – пользователь Hunterhouse с форума elektroda.pl (логин – requaired, чтобы отправить ПС). Я сделал схему, печатную плату и фильтр , и дал идею для использования LCD дисплея.
Обратите внимание что входной сигнал должен быть от 0 до 5В (с амплитудой не более 2.5В). Если ваш сигнал превышает данные значения вы должны пропустить его через резистивный делитель напряжения. Проверьте сигнал с помощью осциллографа на входе микроконтроллера не обрезается ли он – это очень важно. Если сигнал обрезается, то анализатор будет ужасно вычислять спектр.
Переменными резисторами R13 и R12 вы можете изменять входной сигнал по напряжению. Далее сигнал делиться на: высокочастотный (900hz – бесконечность) пропускается на микроконтроллер и низкочастотный (0 – 900hz) отсекается фильтром Чебышева.
Если вы используете дисплей 16*2 необходимо прошить микроконтроллер программой "16*2 program”. В программе в первых строчках, есть параметр "CZULOSC” – им вы можете калибровать чувствительность. Впишите туда число от 15 до 40 и проверьте как это работает. Соберите файл в компиляторе BASCOM и прошейте ваш atmega8. PCB’s – файлы EAGLE , необходимо использовать версию 4.11. Вы должны установить fusebits в atmega, как "внешний кварц высокой частоты” (CKOPT=0, все остальные=1). Всё остальное вы можете прочитать из схемы.
Также вы можете экспериментировать с более высокочастотным кварцем. В проекте используется кварц 16MHz, но я однажды поставил 27MHz, и спектр отображался намного быстрее. В этом случае Вы должны изменить строку "$crystal = 16000000 ″, необходимо указать там верную частоту. Но если ваш жидкокристаллический дисплей работает медленно, этим вы ничего не сможете изменить. Я проверял с 16*2 и 24*2 дисплеями. Дисплеи 16*2 были намного медленнее чем 24*2. Это – немного абсурдно, потому что с большим LCD (24*2) программа имеет больше команд для вычисления спектра, но в конфигурации 24*2 спектр отображался намного быстрее чем 16*2.
Дисплей ДОЛЖЕН быть на основе чипа HD44780 – другие могут работать некорректно.

Загрузить все файлы – *.bas (исходный текст программы bascom), *.bin *.hex (отткомпилированные программы), *.png (схема), *.sch *.brd (EAGLE 4.11), *.pdf (печатная плата)

От переводчика:
Данная схема корректно работает с микроконтроллером ATmega8L.
Если у вас работает только 8 первых столбцов на дисплее то проблема решается изменением строк в исходных текстах
Sample_h:
Config Adc = Single , Prescaler = 2 , Reference = Avcc
на строки
Sample_h:
Config Adc = Single , Prescaler = 4 , Reference = Avcc
Номиналы всех резисторов и конденсаторов должны точно соответствовать указанным на схеме, иначе отображаемый спектр не будет соответствовать действительности.
Рекомендуется использовать дисплей с негативным типом подсветки – выглядит намного красивее J.
Если у вас есть вопросы или вы заметили неточности в переводе пожалуйста свяжитесь с автором статьи или со мной. Перевод предоставлен Черкановым Максимом ака maxis (maxis@novline.ru).
 
Печатная плата в Sprint-Layout 5.0.
 
 

 
 
 
 
 
 
 
 

Категория: Мои статьи | Добавил: bascom (10.11.2009)
Просмотров: 22822 | Комментарии: 13
Всего комментариев: 13
12  
дайте лейаутовскую печатку очень надо

13  
Ищите в статье.

10  
дайте лейаутовскую печатку. ссылка БИТАЯ!!!!!!!!

11  
Берите. biggrin

7  
Схемку дорисую, постараюсь сегодня попозже. А подскажите, файлы на файлообменник выкладывать? я тут не вижу как прикреплять их...

8  
Давайте мне на почту. Я сам всё выложу. Адрес отправил в личное сообщение.

5  
На основе исходника сделал светомузыку из светодиодной RGB ленты. Убрал вывод на LCD индикатор, вместо него 7 RGB каналов.
Видео тут http://www.youtube.com/watch?v=0NXuFGuX1zY&feature=plcp правда звук тихий получился.
Аналоговую входную часть оставил как есть, только использовал входа ADC4 и ADC5. Автоматическая регулировка чувствительности программная (меняется множитель на выходе DFT преобразования). Прерывания таймера 1 работают на динамическую развёртку каналов светодиодной ленты (предделитель 8). Частота обработки сигнала получается около 200 гц. Цвета каналов фиксированые, не придумал ещё как их менять в зависимости от музыки...
Если кого заинтересует, выложу свой исходник.

6  
Конечно интересует.
Давайте схемку и исходники, описания немного - организуем статейку. biggrin
Тем более, что видео уже есть.
А по поводу смены цвета - хорошо смотрится скольжение - плавное перемещение цвета в ту или другую сторону. Причём скорость перемещения можно завязать на НЧ составляющую.

4  
Можно ли с кем-то пообщаться по поводу данной схемы?

3  
Никак не могу разобраться. Как сопоставляются амплитуда и частота сигнала. А с комментами у вас исходник есть, оч разобраться охота

2  
Архив битый

1  
Появилась вторая версия - http://diy.elektroda.eu/analizator-widma-akustycznego-v2/. Много новых возможностей. Описание настройки.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 3
Гостей: 3
Пользователей: 0
Copyright Radan Studio © 2017