Найти в Дзене
Радиотехника

Регулятор громкости и тембра на LC75341 + 1.3′ I2C 128X64 OLED (Arduino)

Ранее в статьях http://rcl-radio.ru/?p=112670 и http://rcl-radio.ru/?p=112468 рассматривались примеры создания регуляторов громкости на аудиопроцессоре LC75341 с использованием дисплеяLCD1602 и OLED 0.96″, в этом примере будет показан пример создания регулятора громкости с использованием дисплея OLED 1.3″.

OLED 1.3″ I2C 128х64 дисплей обладает высокой контрастностью, высоким разрешением и низким энергопотреблением. В OLED дисплее отсутствует дополнительный слой подсветки всей поверхности экрана. Каждый пиксел, формирующий изображение, испускает самостоятельное свечение.

Чип драйвера — SH1106, который обеспечивает связь I2C.

Параметры дисплея SH1106:

  • Технология дисплея: OLED
  • Разрешение дисплея: 128 на 64 точки
  • Диагональ дисплея: 1,3 дюйма
  • Угол обзора > 170°
  • Напряжение питания: 3,3 В ~ 5.0 В
  • Мощность: 0,08 Вт
  • Габариты: 35.7 х 30.9 х 4.0 мм
  • Вес: 7 грамм

Подключение OLDE дисплея к плате Arduino Nano (Uno):

  • VCC > 5V
  • GND > GND
  • SCL > A5 (I2C)
  • SDA > A4 (I2C)

Для использования дисплея OLED 1.3″ Вам необходима библиотека U8glib , ее можно установить с источника — https://github.com/olikraus/u8glib/ или установить при помощи менеджера библиотек как показано в — http://rcl-radio.ru/?p=130369.

Регулятор громкости содержит два основных блока, первый блок микроконтроллерный (Arduino Nano или плата LGT8F328P-LQFP32 MiniEVB) с органами управления и индикации, второй блок плата аудиопроцессора.

Основные параметры регулятора громкости и тембра на LC75341:

  • Регулировка громкости от -79 до 0 дБ (шаг 1 дБ)
  • Независимая регулировка громкости (баланс)
  • Входной предварительный усилитель входа от 0 до +30 дБ (шаг 2 дБ)
  • 4-х канальный коммутатор входов
  • Регулировка тембра BASS от 0 до +20 дБ (шаг 2 дБ)
  • Регулировка тембра TREBLE от -10 до +10 дБ (шаг 2 дБ)
  • Напряжение питания от 5 до 10 В
  • Управление цифровое 3-Wire (CL, DI, CE) (макс. тактовая частота до 500 кГц)
  • Входное сопротивление 50 кОм
  • Коэффициент нелинейных искажений 0,01% (макс.)

Основное управление параметрами аудиопроцессора будет осуществляться при помощи энкодера (KY-040) и 3-х кнопок, так же будет применен ИК пульт который будет дублировать энкодер и кнопки управления.

-2

В регуляторе громкости на аудиопроцессоре LC75341 реализованы следующие функции:

  • Регулировка громкости от 0 до 75 шагов (1 шаг равен 1 дБ, регулировка от -75 до 0 дБ)
  • Регулировка тембра ВЧ от -10 до +10 дБ
  • Регулировка тембра НЧ от 0 до 20 дБ
  • Регулировка баланса -4…+4 дБ
  • Входной предварительный усилитель с регулировкой от 0 до +30 дБ раздельно для каждого входа.
  • 4-е стерео входа
  • Режим MUTE
  • Режим STANDBY с выходом управления ST-BY
  • 4-е лог. выхода для управления источниками входных сигналов
  • Гашение дисплея при не активности органов управления в течении 30 сек (для активации режима гашения дисплея необходимо в режиме POWER OFF нажать и удерживать кнопку энкодера, далее нажать кнопку INPUT. При активации режима на дисплее появится надпись OLED_OFF, при отключении режима отключения дисплея появится надпись OLED_ON).
  • Сохранение всех настроек в энергонезависимой памяти

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

-3
-4

Скетч - http://rcl-radio.ru/?p=130783#:~:text=%23define%20IR2%20%C2%A0%C2%A0%C2%A00x33B820DF%20//%20button%20encoder%0A%23define%20IR3%20%C2%A0%C2%A0%C2%A00x33B8946B%20//%20mute%0A%23define%20IR4%20%C2%A0%C2%A0%C2%A00x33B810EF%20//%20%3E%3E%3E%0A%23define%20IR5%20%C2%A0%C2%A0%C2%A00x33B8E01F%20//%20%3C%3C%3C%0A%23define%20IR6%20%C2%A0%C2%A0%C2%A00x33B844BB%20//%20INPUT%0A%23define%20POWER%20%C2%A00x33B800FF%20//%20STANDBY

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

#define IR2 0x33B820DF // button encoder
#define IR3 0x33B8946B // mute
#define IR4 0x33B810EF // >>>
#define IR5 0x33B8E01F // <<<
#define IR6 0x33B844BB // INPUT
#define POWER 0x33B800FF // STANDBY

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

-5

Форум — http://forum.rcl-radio.ru/viewtopic.php?pid=8112#p8112

Регулятор громкости и тембра на LC75341 + 1.3′ I2C 128X64 OLED (Arduino) — rcl-radio.ru