M62429 — двухканальный цифровой регулятор громкости с последовательным управлением. Микросхема заменяет традиционные механические потенциометры и позволяет точно настраивать уровень звука в аудио аппаратуре.
Основные возможности
- Два независимых канала — можно раздельно регулировать громкость левого и правого каналов.
- Широкий диапазон регулировки — от 0 до −83 дБ с шагом 1 дБ.
- Низкие искажения — коэффициент нелинейных искажений (THD) составляет около 0,01 % при уровне сигнала 0,5 Vrms.
- Минимальное шумовое воздействие — выходной шум около 5 мкВ rms при максимальной громкости.
- Простое управление — данные передаются по двухпроводной последовательной шине (DATA и CLOCK).
Электрические параметры
- Напряжение питания: 4,5–5,5 В (номинальное — 5 В), максимально допустимое — 6 В.
- Ток потребления: типовое значение — 8 мА, максимальное — 16 мА.
- Рабочий температурный диапазон: от −20 °C до +75 °C.
Цоколёвка (8‑выводной корпус DIP‑8 / SOP‑8)
- VIN1 — вход канала 1.
- VOUT1 — выход канала 1.
- GND — общий провод (земля).
- DATA — вход данных последовательной шины.
- CLOCK — тактовый вход для передачи данных.
- VCC — напряжение питания.
- VOUT2 — выход канала 2.
- VIN2 — вход канала 2.
Ключевые особенности
- Встроенная опорная схема — не требует дополнительных внешних цепей смещения.
- Независимая регулировка каналов — каждый канал управляется отдельно.
- Минимальные внешние компоненты — для работы достаточно развязывающего конденсатора (0,1 0,33 мкФ) и входного электролитического конденсатора (2,2 мкФ).
- Низкий уровень шума — подходит для высококачественного аудио.
Рекомендации по применению
- Стабилизация питания. Подключите развязывающий конденсатор (0,1-0,33 мкФ) между VCC и GND для подавления помех.
- Фильтрация входного сигнала. Установите электролитический конденсатор 2,2 мкФ на вход каждого канала для улучшения качества звука.
- Качество питания. Минимизируйте пульсации напряжения — они могут повысить уровень шума на выходе.
Ранее в http://rcl-radio.ru/?p=63039 описывался регулятор громкости на базе ИМС M62429 с дисплеем LCD1602 на базе контроллера HD44780. В этой статье будет аналогичный пример но с использованием дисплея OLED 128×32.
![]() |
![]() |
![]() |
![]() |
Регулятор громкости и тембра на M62429 содержит следующие компоненты:
- Плата Arduino Nano (или аналог)
- Энкодер KY-040
- IR — датчик
- Две кнопки управления
- Дисплей OLED 128×32
- ИМС M62429
Основные параметры компонентов схемы:
0,91″ I2C 128×32 OLED — это компактный дисплей, который использует технологию OLED (Organic Light Emitting Diode) для отображения изображений. Дисплей имеет интерфейс I2C, который обеспечивает простое подключение к микроконтроллерам и другим устройствам.
Основные характеристики дисплея:
-
- Разрешение 128×32 пикселей.
- Размер дисплея 0,91 дюйма (около 2,3 см).
- Яркость до 150 кд/м².
- Контрастность 2000:1.
- Угол обзора 160 градусов.
- Поддержка интерфейса I2C с адресом 0x3C.
Arduino Nano:
- Микроконтроллер: ATmega328P
- Напряжение питания: 5 В
- Тактовая частота: 16 МГц
- Память Flash: 32 КБ
- Оперативная память (RAM): 2 КБ
- Постоянная память (EEPROM): 1 КБ
- Количество цифровых выводов: 14
- Количество аналоговых входов: 8
- Размеры платы: приблизительно 45 x 18 мм
Технические характеристики ИК-модуля VS1838B:
- Потребляемый ток: 0,5 мА
- Рабочая частота: 38 КГц
- Расстояние приема сигнала: 20 м
- Эффективный угол приема сигнала: 90˚
- Рабочее напряжение (приемник): 2,7 — 5,5 В
- Рабочее напряжение (модуль): 2,7 — 5,5 В
Основные параметры KY-040:
- Принцип работы:
- Инкрементальный энкодер с механическим переключателем.
- Интерфейс: Сигнал передается по трем линиям:
- CLK (Clock Line) — импульсный сигнал, определяющий направление вращения.
- DT (Data Line) — второй импульсный сигнал, синхронизируется с CLK.
- SW (Switch) — механический выключатель, срабатывающий при нажатии на вал энкодера.
- Напряжение питания: 3.3–5 В постоянного тока.
- Рабочий ток: Очень маленький (<1 мА).
- Размеры: Миниатюрный модуль, удобен для установки на печатные платы.
- Материал вала: Металлический или пластиковый, чувствителен к касанию пальцами.
- Кол-во импульсов на оборот: Обычно 20–30 шагов на полный оборот, точнее указывается производителем конкретного экземпляра.
- Совместимость: Совместим с большинством микроконтроллеров (Arduino, ESP32, STM32 и т.п.).
Основные параметры регулятора громкости
- Регулировка громкости 0 … 67 дБ
- Регулировка баланса от -8 до +8 дБ
- Режим MUTE
- Режим STANDBY
- Дополнительный цифровой выход D12 для управления режимом STANDBY УМЗЧ
- Управление энкодер, ИК пульт и две кнопки (MUTE, POWER)
ИК пульт дублирует работу энкодера и кнопок. Для управления регулятором подойдет практически любой пульт ИК, для поддержки Вашего пульта необходимо прописать коды кнопок в скетч:
// коды кнопок ИК пульта #define MENU 0x2FDB24D // button encoder #define UP 0x2FDD02F // >>> #define DW 0x2FD32CD // <<< #define POWER_IR 0x2FD00FF // POWER #define MUTE_IR 0x2FDB04F // MUTE
Для получения кодов кнопок Вашего пульта загрузите скетч и откройте монитор порта, при нажатии кнопки пульта его код будет отображен в мониторе порта.
Схема блока управления
Схема регулятора громкости
Регулировка громкости происходит при помощи энкодера KY-040, ИК пульт дублирует работу энкодера, информация выводится на OLED 128×32 на базе контроллера SSD1306.
Кнопка энкодера позволяет переключать режимы настроек между громкостью и балансом. Уровень громкости и баланса сохраняются в энергонезависимой памяти.
Скетч
// энкодер
#define ENC_DT 9
#define ENC_CLK 8
#define ENC_SW 10
// ИК датчик
#define IR 5
// кнопки управления
#define POWER_BUTTON 3
#define MUTE_BUTTON 4
// выход управления standby
#define STANDBY_OUT 13
// M62429
#define CLK 11
#define DATA 12
// коды кнопок ИК пульта
#define MENU 0x2FDB24D // button encoder
#define UP 0x2FDD02F // >>>
#define DW 0x2FD32CD // <<<
#define POWER_IR 0x2FD00FF // POWER
#define MUTE_IR 0x2FDB04F // MUTE
#include <Wire.h>
#include <U8glib.h> // https://github.com/olikraus/u8glib/
#include <Encoder.h> // http://rcl-radio.ru/wp-content/uploads/2019/05/Encoder.zip
#include <EEPROM.h>
#include <MsTimer2.h> // http://rcl-radio.ru/wp-content/uploads/2018/11/MsTimer2.zip
#include <boarddefs.h> // входит в состав библиотеки IRremote
#include <IRremote.h> // http://rcl-radio.ru/wp-content/uploads/2019/06/IRremote.zip
#include <M62429.h> // http://rcl-radio.ru/wp-content/uploads/2026/01/M62429.zip
U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI
IRrecv irrecv(IR);
Encoder myEnc(ENC_DT, ENC_CLK);
decode_results ir;
extern uint8_t SmallFont[],BigNumbers[];
long times,oldPosition = -999,newPosition;
int vol,balans,bass,treb,in,menu;
bool mute=0,gr1,gr2,w,w1,power=0;
void setup(){
Wire.begin();
irrecv.enableIRIn();
Serial.begin(9600);
MsTimer2::set(3, to_Timer);MsTimer2::start();
if(EEPROM.read(100)!=0){for(int i=0;i<101;i++){EEPROM.update(i,0






