Главная » Звук » Цифровой регулятор громкости (контроллер) — PT2257. Описание, характеристики, библиотека

Цифровой регулятор громкости (контроллер) — PT2257. Описание, характеристики, библиотека

Микросхема PT2257 представляет собой электронный регулятор громкости (стерео), управляемый по шине I2C. Вы также можете рассматривать его как цифровой потенциометр. Эта функция может пригодиться, когда нам нужен цифровой регулятор громкости без использования традиционного аналогового потенциометра.

Стоимость PT2257 менее 1 доллара. Купил с намерением регулировать громкость на выходе радиомодуля TEA5767, у которого такого регулятора нет (только есть возможность приглушить выходной аудиосигнал).

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

  • Напряжение питания 3 — 9 В.
  • Диапазон затухания: от 0 до -79 дБ при 1 дБ/шаг
  • Двухканальный выход
  • Раздельная регулировка громкости для каждого канала
  • Режим MUTE
  • Низкий уровень шума, отношение сигнал/шум > 100
  • Управление через I2C (адрес по умолчанию 0x88)

Распиновка PT2257

Распиновка PT2257

Схема подключения PT2257

Схема очень проста. Дополнительные элементы, необходимые для работы микросхемы, включают конденсаторы и, конечно же, управляющий микроконтроллер (Ардуино).

подключение PT2257

Пример практического использования контроллера PT2257, подключенного к конкретной системе, можно найти в статье, посвященной модулю FM-радио TEA5767.

Код

Для управления микросхемой PT2257 я использовал библиотеку Evc_pt2257 , доступную на github. Библиотека предоставляет API, который позволяет вам управлять системой.

Здесь мы имеем такие функции, как:

  • инициализация чипа, запускается из setup(): void evc_init ();
  • установка громкости обоих каналов: void evc_setVolume (uint8_t dB);
  • настройка громкости правого канала: void evc_setVolumeRight (uint8_t dB);
  • настройка громкости левого канала: void evc_setVolumeLeft (uint8_t dB);
  • отключение звука системы: void evc_mute (переключение типа bool);
  • отключение схемы: void evc_off ();

Параметр дБ принимает значения от 0 до 79 и определяет громкость сигнала.

Чего мне не хватает в PT2257, так это отсутствия запоминания последнего выбранного значения уровня громкости для обоих каналов. Это означает, что в функции setup(), помимо инициализации, вы также должны установить значение уровня громкости по умолчанию.

Однако гораздо удобнее сохранить ранее установленное значение (для обоих каналов или два отдельных значения для каждого канала) в памяти EEPROM и установить (восстановить) его при загрузке.

Оставить комментарий

Ваш email нигде не будет показан. Обязательные для заполнения поля помечены *

*