🛒
0 товар.
0 руб.
Логотип

Интернет-магазин «Неглупый Дом»

☰
ИИ-консультант Wildberries OZON Яндекс Маркет
Поиск по сайту
Гугл таблица с ассортиментом

🔊 Проект: цифровой VU-метр громкости на KA2284 и TM1637

Индикатор KA2284 и дисплей TM1637

KA2284 управляет пятью выходами по уровню звука — число включённых переводится в число 0-100 на TM1637.

Как это работает

KA2284 — специализированная микросхема-компаратор для VU-индикаторов: внутри пять аналоговых компараторов со своими порогами, сравнивающих уровень аудиосигнала и включающих свой выход при превышении порога. В баргрaф-режиме пороги расположены так, что с ростом громкости включаются всё новые выходы по нарастающей.

Пороги рассчитаны производителем по логарифмической (дБ-подобной) шкале, свойственной восприятию громкости человеком, а не по линейной. `litCount * 20` в коде — упрощённый пересчёт "число активных выходов → процент", а не точные децибелы.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. KA2284 (выходы 1-5): → D2, D3, D4, D5, D6, вход — на микрофонный модуль или линейный выход.
  2. TM1637: CLK → D9, DIO → D10, VCC → 5V, GND → GND.
  3. Проверьте полярность выходов — на части плат они активны по LOW, тогда инвертируйте условие в коде.
  4. Подайте тестовый звук разной громкости, число на дисплее должно расти с уровнем сигнала.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, я языковая
// модель, а не специализированный кодер, могу что-то упустить.

#include <TM1637Display.h>

const int levelPins[5] = {2, 3, 4, 5, 6};
TM1637Display display(9, 10);

void setup() {
  Serial.begin(9600);
  for (int i = 0; i < 5; i++) {
    pinMode(levelPins[i], INPUT);
  }
  display.setBrightness(5);
}

void loop() {
  int litCount = 0;
  for (int i = 0; i < 5; i++) {
    if (digitalRead(levelPins[i]) == HIGH) litCount++;
  }
  int level = litCount * 20;
  Serial.print("Уровень громкости: ");
  Serial.println(level);
  display.showNumberDec(level);
  delay(50);
}
                

Число зажжённых выходов KA2284 напрямую соответствует громкости входного сигнала.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← ✨ лазерное шоу на вращающемся ша…⏲️ кухонный таймер обратного отсч… →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу: 196 ₽ 176 ₽ (экономия 20 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина

Поиск


Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA