Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
12.05.2014, 04:46
|
|
Прохожий
Регистрация: 04.05.2014
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Графический анализатор спектра на Arduino
Доброго всем времени - доработал свою схему, теперь собственно вопрос!
при такой настройке:
Код:
|
ADCSRA = (1‹‹ADEN)|(1‹‹ADPS0)|(0‹‹ADPS1)|(1‹‹ADPS2); |
получается что в data[0] хранится уровень для частот до порядка 200, data[1] = 200 - 500, data[2] = 500 - 700 и тд. тоесть я не могу в первый столбик вывести частоту 63 Mhz а во второй допустим 150...
а вот если поставить так
Код:
|
ADCSRA = (1‹‹ADEN)|(1‹‹ADPS0)|(0‹‹ADPS1)|(1‹‹ADPS2); |
то шаг становится меньше
до 90 в первом, второй 100 - 150. третий 250... пятый 500 и тд.
НО начиная с 7300 mHz данные повторяются... короче эффект как из этой темы... как можно сделать чтоб шаг был меньше... или не было повтора частот?
|
|
|
|
12.05.2014, 22:57
|
|
Прохожий
Регистрация: 04.05.2014
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Графический анализатор спектра на Arduino
... в общем немного разобрался с частотами. теперь возвращаюсь к другой проблеме. Либа TimerOne конфликтует с моим сдвиговым регистром подключенным по SPI.
Настриаваю таймер как в примере этой темЫ:
Код:
|
...
Timer1.initialize(10000); // Инициализируем прерывания по таймеру для вывода данных на дисплей
Timer1.attachInterrupt(Timer1_action);
... |
далее пишу:
после этого конечно же таймер не срабатывает!
если написать перед определение таймера, то не работает передача в сдвиговый регистр.
Из описания либы TimerOne - "После инициализации пины 9 и 10 на Arduino (11 и 12 на Arduino Mega) смогут использоваться библиотекой для ШИМ, но остановится analogWrite()’овская ШИМ на этих пинах, если таковая была задействована до вызова initialize(). Пока работаете с библиотекой TimerOne, для перечисленных выше пинов analogWrite() не вызывайте, и наоборот." Но я их не использую - хотя вроде 10 пин используется для SPI. Но у меня Регистр подключен на 13, 11 и 8 пины. (по схеме которую ранее выкладывал)
Как поступить в данной ситуации? Что предпринять? как запустить таймер в которм надо отрисовать столбики с частотами.
Потому что щас это делаю очень тупо... в самом конце loop() просто беру и в цикле отрисовываю 10 столбиков сo значениями v[i]. Понятное дело - пока все посчитается до следующего отрисовывания - короче мерцает сильно матрица.
...попоже попробую другую реализацию управления регистром, может поможет.
|
|
|
|
13.05.2014, 20:42
|
|
Прохожий
Регистрация: 04.05.2014
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Графический анализатор спектра на Arduino
... реализовал другое управление регистром - Таймер заработал! Вынес функцию отрисовки столбцов в функцию вызываемую по таймеру... если время поставить как в примере кода данной темы в 10000, то основной код программы практически не выполняется, помогает увеличение времени до 15000 - 20000, но тогда сильно мерцает матрица... короче коряво как-то выходит на сдвиговых регистрах (медленно)...
|
|
|
|
03.08.2014, 20:53
|
|
Прохожий
Регистрация: 03.08.2014
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Графический анализатор спектра на Arduino
Сообщение от mikesmith
|
А ваще собирайте на MAX7219 - одна микросхемка+один резистор, хватит на матрицу 8х8 + можно каскадировать/наращивать. И не нужно будет думать про развертку, она все сделает сама. На ибее стоят 5 баксов за 10 штук. Примеров для работы с ней ардуины в сети - навалом.
|
Приветвствую)) я уже месяц читаю как гость данную тему, но вот у меня по ходу создания появились вопросы ) Вообщем управляющая схема табло собрана на MАX7221 по его схеме включения и там же на одной плате с общей землей и ВСС собрана схема на операционике LM386m, если получиться вложить иголовский файл с печатной платой и принципиалкой то круто будет. Программу я пытался изменить ту что вы кидали, но там у меня получается драйвер работает в тестовом режиме на постой. Тупо горят все диоды. После того как полахил по форумам ардуино и инструкциям, я переписал инициализацию микрухи и всеравно лажа ( Вот скидываю скетч и схемы. Прошу помочь советом или указанием на ошибку ) Ибо проект мне очень нравится и душу в него вкладывал ) и вкладываю ) Ниже зип файл с схемами и скетчем) Или скиньте рабочий скетчь =))))))
Последний раз редактировалось Boichonok; 03.08.2014 в 21:00.
|
|
|
|
03.08.2014, 22:00
|
|
Прохожий
Регистрация: 03.08.2014
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Графический анализатор спектра на Arduino
Да и при подключении сигналов дата клок и латч подаю землю диоды горят хотя питания +5 нету ))) как так хз ) схемы перепроверил в доль и поперек ) может ардуино галимый попался. А то я его устанавливал через жопу как китайский ) Он та у меня Уно но устанавливается как совершенно другой Ардуино )Так, что если у кого то есть идеи по поводу решения данных проблем и скетча пишити очень жду )
|
|
|
|
30.05.2015, 11:32
|
|
Прохожий
Регистрация: 30.05.2015
Адрес: Bamberg
Сообщений: 4
Сказал спасибо: 34
Сказали Спасибо 2 раз(а) в 1 сообщении
|
Re: Графический анализатор спектра на Arduino
Уважаемый mikesmith ! Ваша схема допускает расширение до 64 полос. Давно ищу такой приборчик, готов принять живейшее участие в изготовлении такого девайса. Но МК - для меня что то новое.Главный вопрос - какое время отклика у Вашей схемы? Занимаюсь написанием музыки дома и это очень важно для мастеринга. В свою очередь готов помочь с аналоговой частью проекта ( в том числе на, например, лампах.
|
|
|
|
19.04.2016, 02:28
|
|
Прохожий
Регистрация: 16.07.2008
Сообщений: 2
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Графический анализатор спектра на Arduino
здравствуйте, хочу себе сделать анализатор спектра,в программирование новичок, только я хочу использовать две матрицы 8х8 подключенных к MAX7219, тоесть будит 16 столбиков по 8 уровней, вы не могли бы подсказать где что нужно изменить в вашем коде первого поста и как выводить столбики на MAX7219, заранее спасибо большое за помощь)
|
|
|
|
26.04.2016, 01:17
|
|
Прохожий
Регистрация: 16.07.2008
Сообщений: 2
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Графический анализатор спектра на Arduino
Доброго времени суток, а вы не могли бы мне помочь перевести вывод спектра на 2 матрицы 8х8 под управлением MAX7219.а то пока с программированием у меня туго. заранее большое спасибо
|
|
|
|
27.06.2017, 20:55
|
|
Прохожий
Регистрация: 27.06.2017
Сообщений: 2
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Графический анализатор спектра на Arduino
Уважаемые знатоки что бы это значило?Пытался повторить проект mikesmith.
Arduino: 1.6.0 (Windows 7), Плата"Arduino Nano, ATmega328"
C:\Users\Documents\Arduino\libraries\FFT\fix_fft.c pp:50:7: error: 'prog_int8_t' does not name a type
const prog_int8_t Sinewave[N_WAVE-N_WAVE/4] PROGMEM = {
^
In file included from C:\Users\Documents\Arduino\libraries\FFT\fix_fft.c pp:1:0:
C:\Users\Documents\Arduino\libraries\FFT\fix_fft.c pp: In function 'int fix_fft(char*, char*, int, int)':
C:\Users\Documents\Arduino\libraries\FFT\fix_fft.c pp:199:38: error: 'Sinewave' was not declared in this scope
wr = pgm_read_word_near(Sinewave + j+N_WAVE/4);
^
C:\Users\Documents\Arduino\libraries\FFT\fix_fft.c pp:209:38: error: 'Sinewave' was not declared in this scope
wi = -pgm_read_word_near(Sinewave + j);
^
Ошибка компиляции.
This report would have more information with
"Отображать вывод во время компиляции"
enabled in File › Preferences.
|
|
|
|
22.07.2017, 17:36
|
|
Прописка
Регистрация: 02.03.2010
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 49 раз(а) в 26 сообщении(ях)
|
Re: Графический анализатор спектра на Arduino
Если еще не нашли
In version 1.6.0, the "prog_int8_t" is no longer used. Replace it with "const int8_t".
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:46.
|
|