Аудиопроцессор PT2315 для Arduino: создание регулятора громкости и тембра

Микросхема PT2315 (аналог TDA7315) — это доступный стереофонический аудиопроцессор, предназначенный для управления звуковыми параметрами. Он позволяет гибко настраивать громкость и тембр (низкие и высокие частоты) в аудиосистемах, что делает его отличным решением для DIY-проектов на базе Arduino.

Технические характеристики PT2315

Процессор обладает следующими ключевыми параметрами:

  • Диапазон питающего напряжения: от 6 до 10 В.

  • Потребляемый ток: от 30 мА.

  • Максимальное входное напряжение: 2,5 Vrms.

  • Коэффициент гармонических искажений: всего 0,07%.

  • Разделение каналов: 85 дБ, что обеспечивает хорошую стереоизоляцию.

  • Высокое отношение сигнал/шум: 95 дБ.

  • Регулировка громкости в широком диапазоне: от -70 до 0 дБ с мелким шагом в 1,25 дБ.

  • Регулировка тембра (BASS и TREBLE): в пределах ±14 дБ с шагом 2 дБ.

  • Аттенюаторы для каждого канала (CHL, CHR): регулировка от 0 до -30 дБ с шагом 1,25 дБ.

  • Удобное цифровое управление по интерфейсу I²C.

Программная реализация на Arduino

Для работы с микросхемой существует специальная библиотека: https://github.com/liman324/PT2315.git.

Пример базового тестового скетча для настройки всех параметров:

#include <Wire.h>
#include <PT2315.h>

PT2315 pt;

void setup() {
  Serial.begin(9600);
  delay(600);
  audio(); // Вызов функции настройки звука
}

void loop() {
  // Основной цикл может оставаться пустым или использоваться для опроса элементов управления
}

void audio() {
  pt.set_volume(0);    // Установка громкости (0...56 соответствует 0...-70 дБ)
  pt.set_att_l(0);     // Аттенюатор левого канала (0...24 соответствует 0...-30 дБ)
  pt.set_att_r(0);     // Аттенюатор правого канала
  pt.set_loudness(1);  // Включение функции компенсации громкости (LOUDNESS)
  pt.setBass(0);       // Регулировка низких частот (-7...+7 соответствует -14...+14 дБ)
  pt.setTreble(7);     // Регулировка высоких частот
}

Сборка полноценного регулятора на Arduino Nano

Используя плату Arduino Nano и PT2315, можно собрать компактный, но функциональный регулятор. Такое устройство позволит управлять громкостью, балансом, тембром НЧ и ВЧ, а также имеет функцию отключения звука (MUTE).

Готовое устройство предоставляет интуитивное управление всеми основными аудиопараметрами.

Добавление управления с ИК-пульта

Функционал регулятора можно расширить, добавив поддержку инфракрасного пульта. Он может дублировать действия энкодера и кнопки MUTE. Для работы с вашим пультом необходимо определить и прописать в скетч коды его кнопок, например:

#define IR2 0x2FDB24D // Кнопка энкодера
#define IR3 0x2FDF00F // MUTE
#define IR4 0x2FD906F // Действие "Вперед" (>>>)
#define IR5 0x2FDF20D // Действие "Назад" (<<<)

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

Полный скетч проекта с поддержкой энкодера и ИК-пульта доступен по ссылке: http://rcl-radio.ru/?p=128899.

Больше интересных статей здесь: Гаджеты.

Источник статьи: Аудиопроцессор PT2315 (Arduino).