Регулятор громкости и тембра LC75342 на Atmega88 (Arduino IDE)
Микроконтроллер Atmega88 может стать отличной заменой сильно подорожавших плат Arduino Nano. Большое кол-во проектов создаваемых на платах Arduino Nano часто используют небольшое объем памяти и применять Arduino Nano в данных проектах нецелесообразно. Atmega88 имеет 8 кБ программируемой Flash памяти, 1кБ SRAM памяти и 512 байта EEPROM.
Микроконтроллер Atmega88 поддерживается средой программирования Arduino IDE, так же большинство библиотек совместимы с этими контроллерами.
Ранее в http://rcl-radio.ru/?p=120507 рассматривался пример создания регулятора громкости и тембра на LC75342 с использованием платы Arduino Nano, на этой странице будет аналогичный проект, но с использованием микроконтроллера Atmega88.
ИМС LC75342 представляет собой аудиопроцессор специально разработанный для регулирования параметров аудиосигнала с минимальными искажениями. Аудиопроцессор включает в себя регулятор громкости, тембра, коммутатор входов и предусилители входов.
Более подробно об аудиопроцессоре можно узнать из статьи — LC75342 (Arduino)
Основные параметры LC75342
Регулировка громкости от -79 до 0 дБ (шаг 1 дБ)
Независимая регулировка громкости (баланс)
Входной предварительный усилитель входа от 0 до +30 дБ (шаг 2 дБ)
4-х канальный коммутатор входов
Регулировка тембра BASS от -20 до +20 дБ (шаг 2 дБ)
Регулировка тембра TREBLE от -10 до +10 дБ (шаг 2 дБ)
Напряжение питания от 5 до 10 В
Управление цифровое 3-Wire (CL, DI, CE) (макс. тактовая частота до 500 кГц)
Входное сопротивление 50 кОм
Коэффициент нелинейных искажений 0,01% (макс.)
Регулятор громкости содержит два основных блока, первый блок микроконтроллерный (Arduino Nano) с органами управления и индикации, второй блок плата аудиопроцессора.
Регулировка громкости возможна в пределах от -79 до -4 дБ, недостающие 4 дБ отданы регулятору баланса.
Основное управление параметрами аудиопроцессора будет осуществляться при помощи энкодера (KY-040) и 2-х кнопок. Вся информация будет выводится на дисплей LCD1602 + I2C (I2C модуль на базе микросхем PCF8574 позволяют подключить символьный дисплей 1602 к плате Arduino всего по двум проводам SDA и SCL (А4 и А5), что дает возможность не использовать цифровые выходы Arduino при подключении дисплея.)
Регулятор тембра имеет одно меню, которое содержит регуляторы громкости, тембра (TRABLE, BASS) и баланса. Дополнительно при нажатии кнопки INPUT помимо переключения входа будет доступно меню предусилителя входа. (независимое для каждого входа).
Схема регулятора громкости и тембра
Как добавить микроконтроллер Atmega88 в среду программирования Arduino IDE и прошивать микроконтроллер можно узнать из статьи http://rcl-radio.ru/?p=113040.
Перед загрузкой в настройках платы укажите частоту кварцевого резонатора (12 МГц), выбрать программатор USBasp, в пункте Variant тип контроллера 88P/88PA, 88/88A (для Atmega88 20PU который я используя для этой статьи) или 88PB, в пункте Bootloader выберите No bootloader или Yes (UART0) если планируете загружать скетчи через UART ( USB — TTL ).
Во вкладке «Инструменты» нажмите «Записать загрузчик«.(делается только один раз)
Для запуска LCD1602 c I2C модулем на PCF8574, Вам понадобятся две библиотеки:
Wire_low — библиотека для работы с шиной I2C (тестовая версия)
Lcd1602_i2c_low — библиотека для работы с LCD1602 I2C на PCF8574
Скетч использует 5738 байт (70%) памяти устройства. Всего доступно 8192 байт.
Глобальные переменные используют 141 байт (13%) динамической памяти, оставляя 883 байт для локальных переменных. Максимум: 1024 байт.
Скетч - http://rcl-radio.ru/?p=120528




