Главная » Световые эффекты
Призовой фонд
на июль 2019 г.
1. 1000 руб
Паяльник
2. Регулируемый паяльник 60 Вт
Паяльник
3. 100 руб.
От пользователей

Простой анализатор спектра на микросхеме MSGEQ7

Компания Mixed Signal Integration выпускает интересную микросхему MSGEQ7, которая представляет собой 7-ми полосный фильтр для графического эквалайзера. Данный 8-ми выводной чип способен из входного аудиосигнала выделить частотные полосы 63Гц, 160Гц, 400Гц, 1кГц, 2.5кГц, 6.25кГц и 16кГц:

Частотное распределение

В данном материале я хотел бы рассказать о практическом применении данной микросхемы. Для этого мы соберем простейший 5-ти полосный аудио анализатор спектра с применением Arduino. Т.к. ставилась цель показать практическое применение MSGEQ7, то я не стал делать светодиодную матрицы (многоуровневые бары), и в качестве уровня аудиосигнала для каждого бара задействовал ШИМ. Т.е. чем больше уровень определенной частоты, тем ярче будет светить отвечающий за эту частоту светодиод.

Блок схема MSGEQ7:

Блок схема MSGEQ7

Даташит на MSGEQ7 (см. прикрепленные файлы внизу статьи) предлагает нам следующую схему включения:

Схема включения MSGEQ7

Для подключения к контроллеру нам потребуются выводы Reset, Strobe и Out. Логику взаимодействия с MSGEQ7 лучше всего иллюстрирует диаграмма из даташита:

Диаграмма работы MSGEQ7

К контроллеру ардуино я подключил следующим образом:
- RESET к 11 выводу Arduino;
- STROBE к 12 выводу Arduino;
- OUT к 0 выводу Arduino (аналоговый вход);

Код программы:

#define msg7RESET 11
#define msg7Strobe 12
#define msg7DCout 0
const int LEDpins[7] = {3,5,5,6,9,9,10};  // массив выводов для светодиодов. Т.к. используется только 5, то некоторые частоты повторяются

void setup() {                
  for (int x=0; x<7; x++) {
	  pinMode(LEDpins[x], OUTPUT);    // инициализация выходов для LED
  }
  pinMode(msg7RESET, OUTPUT);
  pinMode(msg7Strobe, OUTPUT);
}

void loop() {
	digitalWrite(msg7RESET, HIGH);	 // осуществляем сброс MSGEQ7
	delay(5);
	digitalWrite(msg7RESET, LOW);

	for (int x = 0; x < 7; x++){             // семь частот - семь стробирующих импульсов
		digitalWrite(msg7Strobe, LOW);
		delayMicroseconds(35);           // ждем установления значения 35 мкс
		int spectrumRead = analogRead(msg7DCout);      // считываем значение с аналогового входа

		int PWMvalue = map(spectrumRead, 0, 1024, 0, 255);  // преобразовываем диапазон 0-1024 к диапазону 0-255 для ШИМ
		if (PWMvalue < 50)		// небольшой программный фильтр шума
			PWMvalue = PWMvalue / 2;

		analogWrite(LEDpins[x], PWMvalue);
		digitalWrite(msg7Strobe, HIGH);
	}
}

 

Микросхему MSGEQ7 можно легко найти в продаже на Ali или eBay, да и в некоторых отечественных магазинах была замечена.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
МикросхемаMSGEQ71 Поиск в Utsource В блокнот
Плата Arduino
Arduino Uno
1 Поиск в Utsource В блокнот
C2, C3, C6 Конденсатор0.1 мкФ3 Поиск в Utsource В блокнот
C7 Конденсатор33 пФ1 Поиск в Utsource В блокнот
R1, R3 Резистор
22 кОм
2 Поиск в Utsource В блокнот
R2 Резистор
200 кОм
1 Поиск в Utsource В блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (4) | Я собрал (0) | Подписаться

0
lazertok #
В силу того, что динамический диапазон света всего 25 дб - индикация в частотных полосах выглядит не информативно.
Ответить
0
Владислав #
Возникла проблема, есть две MSGEQ7, подключал к ARDUINO, одна выдает вообще полную ерунду(разный уровень сигнала на всех частотах, который постоянно меняется). Вторая выдает низкий сигнал на всех частотах, чтобы я не делал.
Может кто сталкивался с подобным, ответьте мне, в чем проблема?
Ответить
0
Стас #
Владислав, привет. Удалось решить эту проблему? Если да - поделитесь, пожалуйста.
Ответить
0
RomanS #
Господа проблема только в качестве китайских микросхем. Поверьте мне. Покупал несколько раз на Ebay. В итоге из 7 чипов только один оказалось полностью рабочим. Остальные чем только не болели. И путанные данные по частотам, и по некоторым частотам всегда максимум, и часть по некоторым частотам не выдается ничего. Жуть!
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Набор для сборки - LED лампа
Набор для сборки - LED лампа
FM-модуль RDA5807M Мини гравер 125 Ватт
вверх