Регулятор громкости и тембра на LC75421M + 0.96 I2C 128X64 OLED (Arduino)
Ранее в статье рассматривался пример создания на основе аудиопроцессора LC75421M регулятора громкости и тембра с использованием дисплея LCD1602 + I2C, в этой статье аналогичный пример, но с использованием дисплея 0.96′ I2C 128X64 OLED.
В OLED дисплее отсутствует дополнительный слой подсветки всей поверхности экрана. Каждый пиксел, формирующий изображение, испускает самостоятельное свечение. При этом картинка получается яркой и контрастной.
Управление OLED дисплеем в данном примере осуществляется при помощи шины I2C.
Параметры дисплея SSD1306:
Технология дисплея: OLED
Разрешение дисплея: 128 на 64 точки
Диагональ дисплея: 0,96 дюйма
Угол обзора: 160°
Напряжение питания: 2.8 В ~ 5.5 В
Мощность: 0,08 Вт
Габариты: 27.3 мм х 27.8 мм х 3.7 мм
Регулятор громкости содержит два основных блока, первый блок микроконтроллерный (Arduino Nano) с органами управления и индикации, второй блок плата аудиопроцессора.
Регулятор громкости и тембра на LC75421M обладает следующими характеристиками:
Регулировка громкости от -76 до 0 дБ (шаг 1 дБ)
Регулировка баланса ±4 дБ
Регулировка BASS от 0 до 14 шагов (±11.9 дБ)
Регулировка TREBLE от 0 до 14 шагов (±11.9 дБ)
Регулировка SUPER BASS от 0 до 10 шагов (0…+20 дБ)
5-и канальный селектор входов с независимой регулировкой предусилителя от 0 до 18,75 дБ
Режим MUTE
Режим STANDBY
Часы с коррекцией времени
Напряжение питания от 7,5 до 10 В
Основное управление параметрами аудиопроцессора будет осуществляться при помощи энкодера (KY-040) и 3-х кнопок, так же будет применен ИК пульт который будет дублировать энкодер и кнопки управления.
Коррекция времени часов: в режиме STANDBY нажать и удерживать кнопку энкодера, далее нажать кнопки INPUT, MUTE для изменения времени часов, минут.
Схема подключения аудиопроцессора
Схема блока управления
ИК пульт дублирует работу энкодера и кнопок. Для управления регулятором подойдет практически любой пульт ИК, для поддержки Вашего пульта необходимо прописать коды кнопок в скетч:
#define IR_2 0x2FDB24D // Кнопка menu
#define IR_4 0x2FD906F // Кнопка >
#define IR_5 0x2FDF20D // Кнопка <
#define IR_6 0x2FD6A95 // Кнопка IN
#define IR_7 0x2FDF00F // Кнопка MUTE
#define IR_8 0x2FD00FF // Кнопка STANDBY (POWER)
Для получения кодов кнопок Вашего пульта загрузите скетч:
#include <boarddefs.h> // входит в состав библиотеки IRremote
#include <IRremote.h> // http://rcl-radio.ru/wp-content/uploads/2019/06/IRremote.zipIRrecv irrecv(12); // указываем вывод модуля IR приемника
decode_results ir;void setup(){
irrecv.enableIRIn();
Serial.begin(9600);
}void loop(){
if ( irrecv.decode( &ir )) {Serial.print(«0x»);Serial.println( ir.value,HEX);irrecv.resume();}
}
Далее откройте монитор порта, в котором при нажатии кнопки пульта Вы увидите коды кнопок.
Скетч - http://rcl-radio.ru/?p=128826
TECHNO BROTHER
1.6K постов12.5K подписчиков
Правила сообщества
1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.
3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины