TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino)

Ранее в http://rcl-radio.ru/?p=62993 описывался пример использования аудиопроцессора TDA7719 под управлением Arduino Nano с дисплеем LCD1602, на этой странице будет рассмотрен аналогичный пример но с использованием дисплея LCD2004 c I2C модулем на базе микросхем PCF8574, что позволяет подключать символьный дисплей LCD2004 к плате Arduino всего по двум проводам SDA и SCL (А4 и А5).

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

ИМС TDA7719 представляет собой Hi-Fi аудиопроцессор с программируемой матрицей входов, имеет 6 аудио выходов, независимый аттенюатор для каждого выхода и входа, три полосы регулировки тембра с изменяемой центральной частотой и добротностью, полосовой фильтр для сабвуферов (два выхода) с фазоинвертором, тонкомпенсация. При подачи на вход стерео сигнала аудиопроцессор после обработки преобразует его в квадро и дополнительные два канала для сабвуферов.

Аудиопроцессор имеет следующие технические характеристики:

  • Напряжение питания от 7,5 до 10 В

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

  • Сопротивление по входу 100 кОм

  • Коэффициент гармоник не более 0,01%

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

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

  • Регулировка тембра:

    • ВЧ ± 15 дБ, шаг регулировки 1 дБ, центральные частоты  10.0 12.5 15.0 17.5 кГц

    • СЧ ± 15 дБ, шаг регулировки 1 дБ, центральные частоты 500 1000 1500 и 2500 Гц, добротность  0.5 0.75 1 и 1.25

    • НЧ ± 15 дБ, шаг регулировки 1 дБ, центральные частоты 60 80 100 и 200 Гц, добротность 1.0 1.25 1.5 и 2.0

  • Тонкомпенсация:

    • Аттенюатор от -15 до 0 дБ

    • Полосы частот — FLAT (линейная) 400 800 и 2400 Гц

  • Сабвуфер:

    • Два канала (R и L)

    • Частоты полосового фильтра — FLAT 80 120 и 160 Гц

    • Фазовый сдвиг дискретно от 0 до 180 °

  • Регулировка громкости от -63 до 0 дБ

  • Раздельная регулировка каждого выхода от -16 до 0 дБ

  • Раздельная регулировка входов от -15 до + 15 дБ

  • Кол-во стерео входов 6 (программно может быть изменена)

  • Выходы:

    • ПК фронт

    • ЛК фронт

    • ПК тыл

    • ЛК тыл

    • ПК сабвуфера

    • ЛК сабвуфера

Ниже показан пример использования TDA7719 совместно с Arduino Nano. Управление аудиопроцессором происходит при помощи энкодера KY-040 и четырех кнопок, информация выводится на LCD дисплея LCD2004_I2C.

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Управление аудиопроцессором разбито на три меню:

  • Меню 1

    • Регулировка громкости от -63 до 0 дБ с индикатором активного входа

    • Регулировка BASS (НЧ) от -15 до 15 дБ

    • Регулировка MIDDLE (СЧ) от -15 до 15 дБ

    • Регулировка TREBLE (ВЧ) от -15 до 15 дБ

  • Меню 2

    • Аттенюатор выхода ЛК тыл от -16 до 0 дБ

    • Аттенюатор выхода ПК тыл от -16 до 0 дБ

    • Аттенюатор выхода ЛК фронт от -16 до 0 дБ

    • Аттенюатор выхода ПК фронт от -16 до 0 дБ

    • Аттенюатор выхода сабвуфера ПК от -16 до 0 дБ

    • Аттенюатор выхода сабвуфера ЛК от -16 до 0 дБ

    • Тонкомпенсация (loudness) аттенюатор от -15 до 0 дБ

    • Полоса частот — FLAT (линейная), 400, 800 и 2400 Гц

  • Меню 3

    • Выбор центральной частоты для BASS 60, 80, 100 и 200 Гц

    • Выбор центральной частоты для MIDDLE 500 ,1000, 1500 и 2500 Гц

    • Выбор центральной частоты для TREBLE 10.0 ,12.5, 15.0 и 17.5 кГц

    • Выбор центральной частоты для сабвуфера FLAT (линейная), 80, 120 и 160 Гц

    • Добротность для BASS 1.0, 1.25, 1.5 и 2.0

    • Добротность для MIDDLE 0.5, 0.75, 1 и 1.25

  • Дополнительные опции

    • Программно активно 3 входа которые имеют независимые предусилители в диапазоне от -15 до 15 дБ, активный вход отображается в меню 1 в строке регулировки громкости

    • Режим MUTE

    • Режим STANDBY

      • Изменение яркости подсветки экрана, уровень яркости изменяется в скетче

      • Часы в режиме POWER OFF

      • Коррекция времени часов

    • Управление всеми параметра (кроме коррекции времени часов) продублированы ИК пультом

Меню 1

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Меню 2

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Меню 3

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Mute

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Standby

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

Меню выбора входа

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

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

#define BRIG_H 200 // Яркость 0…255 POWER ON
#define BRIG_L 50 // Яркость 0…255 POWER OFF

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

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

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

В проекте используются часы реального времени DS3231, текущее время выводится в режиме STANDBY.

Установить текущее время можно двумя способами:

  • Установки времени через скетч:

Раскомментируйте строку:

clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча

загрузите скетч, далее закомментируйте строку:

// clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча

повторно загрузите скетч.

  • Установка времени кнопками:

Перейдите в режим STANDBY, нажать и удерживать кнопку энкодера, нажимать кнопки:
SET — обнуление секунд
IN — коррекция минут
MUTE — коррекция часов

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

#define IR_1 0x33B8A05F // Кнопка вверх

#define IR_2 0x33B8609F // Кнопка вниз

#define IR_3 0x33B810EF // Кнопка >

#define IR_4 0x33B8E01F // Кнопка <

#define IR_5 0x33B850AF // Кнопка IN

#define IR_6 0x33B844BB // Кнопка SET

#define IR_7 0x33B8946B // Кнопка MUTE

#define IR_8 0x33B800FF // Кнопка STANDBY (POWER)

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

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

В проекте предусмотрен выход STANDBY для управления режим STANDBY усилителя мощности, а так же режим MUTE. Все параметры сохраняются в энергонезависимую память, сохранение происходит после 10 секунд не активности органов управления.

TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост
TDA7719 + LCD2004 + DS3231 + IR + ENCODER (Arduino) Arduino, Электроника, Самоделки, Аудиотехника, Длиннопост

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