PT2258 — 6-и канальный регулятор громкости (2) (Arduino)

Ранее в http://rcl-radio.ru/?p=80541 рассматривался пример создания регулятора громкости на аудиопроцессоре PT2258 с использованием четырех разрядного семисегментного индикатора. На этой странице аналогичный проект, но в нем будет использован индикатор LCD2004 c модулем I2C.

ИМС PT2258 — шести канальный регулятор громкости с микроконтроллерным управлением. Управление PT2258 осуществляется при помощи шины I2C. Регулятор громкости обладает низким уровнем шума и малым коэффициентом нелинейных искажений. Регулировка громкости может быть как независимая для каждого канала, так и общая для всех каналов.

Основные характеристики PT2258:

  • Напряжение питания от 5 до 10 В, 9 В — рекомендуемое

  • Ток потребления 8 мА

  • Входное сопротивление 30 кОм

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

  • Разделение каналов 100 дБ

  • Коэффициент нелинейных искажений 0,005%

  • Диапазон регулировки громкости от -79 до 0 дБ

  • Шаг регулировки громкости 1 дБ

  • Режим MUTE

  • Отношение сигнал/шум 105 дБ

PT2258 — 6-и канальный регулятор громкости (2) (Arduino) Arduino, Электроника, Программирование, Самоделки, Аудиотехника, Длиннопост

Схема регулятора громкости достаточно проста, выводы 4 и 17 (CODE2 и CODE1) в зависимости от подключения к GND или VCC позволяют изменять адрес микросхемы при работе с I2C шиной, что дает возможность подключения других утс-в на шину I2С, у которых нет возможности изменить адрес:

  • CODE1 = GND, CODE2 = GND 80H

  • CODE1 = GND, CODE2 = VCC 84H

  • CODE1 = VCC, CODE2 = GND 88H

  • CODE1 = VCC, CODE2 = VCC 8CH

Библиотека PT2258  поддерживает адрес 0х88, если возникнет необходимость изменить адрес шины I2C, то потребуется корректировка адреса в библиотеке:

Файл — PT2258.h

PT2258 — 6-и канальный регулятор громкости (2) (Arduino) Arduino, Электроника, Программирование, Самоделки, Аудиотехника, Длиннопост

В платформе Arduino адрес I2C 7 бит, поэтому вместо 0х88 (0B10001000), указывается 0х44 (0B1000100).

Регулятор громкости на PT2258 содержит следующие компоненты:

  • Плата Arduino Nano

  • Дисплей LCD2004 с модулем I2C

  • Часы реального времени DS3231

  • Энкодер KY-040

  • Три тактовые кнопки

  • ИК-датчик VS1838B

Схема регулятора громкости

PT2258 — 6-и канальный регулятор громкости (2) (Arduino) Arduino, Электроника, Программирование, Самоделки, Аудиотехника, Длиннопост

Основные функциональные возможности регулятора громкости:

  • Основное меню:

    • Регулировка громкости 64 уровня (64 дБ), осуществляется при помощи энкодера и ИК пульта

    • Вывод даты и времени

PT2258 — 6-и канальный регулятор громкости (2) (Arduino) Arduino, Электроника, Программирование, Самоделки, Аудиотехника, Длиннопост
  • Второе меню (для перехода в меню нажать кнопку SET, нажимая на кнопку энкодера можно перебирать пункты меню)

    • По канальная регулировка аттенюаторов выходов в диапазоне от 0 до 15 дБ

    • Регулировка яркости подсветки дисплея в обычном режиме и в режиме STANDBY

PT2258 — 6-и канальный регулятор громкости (2) (Arduino) Arduino, Электроника, Программирование, Самоделки, Аудиотехника, Длиннопост
  • Меню коррекции времени

    • Режим установки-корректировки времени:
      Нажать и удерживать кнопку энкодера, далее нажать кнопку SET, после появится меню корректировки времени, параметры перебираются кнопкой энкодера, ручка энкодера меняет выбранный параметр.

PT2258 — 6-и канальный регулятор громкости (2) (Arduino) Arduino, Электроника, Программирование, Самоделки, Аудиотехника, Длиннопост
  • Режим MUTE, активируется при помощи кнопки MUTE или ИК пульта

PT2258 — 6-и канальный регулятор громкости (2) (Arduino) Arduino, Электроника, Программирование, Самоделки, Аудиотехника, Длиннопост
  • Режим STANDBY, активируется при помощи кнопки или ИК пульта

PT2258 — 6-и канальный регулятор громкости (2) (Arduino) Arduino, Электроника, Программирование, Самоделки, Аудиотехника, Длиннопост

Так как предусмотрена управляемая яркость подсветки дисплея, то можно установить яркость подсветки в основном  режиме и в режиме STANDBY (как правило с пониженной яркостью подсветки), регулировка яркости подсветки осуществляется в меню №2.

Подсветка — убрать перемычку с модуля I2C PCF8574 и подключить вывод модуля к цифровому выходу Arduino D6. Перед подключением замерить ток подсветки который не должен превышать 20 мА (у моего модуля ток не более 15 мА, замер производить между контактами перемычки).

PT2258 — 6-и канальный регулятор громкости (2) (Arduino) Arduino, Электроника, Программирование, Самоделки, Аудиотехника, Длиннопост

Максимальный выходной ток одного выхода Arduino Nano не должен превышать 40 мА.

ИК пульт дублирует работу энкодера и кнопок. Для управления регулятором подойдет практически любой пульт ИК, для поддержки Вашего пульта необходимо прописать коды кнопок в скетч:

#define POWER 0x33B800FF

#define VOLUME_UP 0x33B8E01F

#define VOLUME_DW 0x33B810EF

#define MUT 0x33B8946B

Для получения кодов кнопок Вашего пульта загрузите скетч и откройте монитор порта, при нажатии кнопки пульта его код будет отображен в мониторе порта.

PT2258 — 6-и канальный регулятор громкости (2) (Arduino) Arduino, Электроника, Программирование, Самоделки, Аудиотехника, Длиннопост

Скетч - http://rcl-radio.ru/?p=128120

TECHNO BROTHER

1.7K поста12.5K подписчик

Добавить пост

Правила сообщества

1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.

3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины