1

Тема: TDA7448 — шести канальный регулятор громкости

ИМС TDA7448 представляет собой шести канальный регулятор громкости, регулировка громкости независимая для каждого канала.

Технические характеристики TDA7448:

Напряжение питания от 4,75 до 10 В (9 рекомендуемое)
Ток потребления 7 мА
Максимальное входное напряжение (THD = 0.3%) 2.5 Vrms
Отношение сигнал / шум 100 дБ
Частотный диапазон от 20 до 20000 Гц
КНИ при входном напряжении 1Vrms не более 0,01%
Диапазон регулировки громкости от -79 до 0 дБ

http://rcl-radio.ru/wp-content/uploads/2019/08/34563263927832.png

TDA7448.h

#ifndef TDA7448_H
#define TDA7448_H
// address 7 bit
#define TDA7448_address 0b1000100

//Sub addresses
#define TDA7448_1       0b00000000 
#define TDA7448_2       0b00000001 
#define TDA7448_3       0b00000010 
#define TDA7448_4       0b00000011 
#define TDA7448_5       0b00000100 
#define TDA7448_6       0b00000101

#include <Arduino.h>
class TDA7448
{
  public:
    TDA7448();        
        void setAtt(int spek, int att_spek); 

  private:
    void writeWire(char a, char b);
};
    
#endif //TDA7448_H

TDA7448.cpp

#include <Arduino.h>
#include <Wire.h>
#include "TDA7448.h"

TDA7448::TDA7448(){
    Wire.begin();
}

void TDA7448::setAtt(int spek, int att_spek){
      switch(spek){
        case 1: spek = TDA7448_1;break;
        case 2: spek = TDA7448_2;break;
        case 3: spek = TDA7448_3;break;  
        case 4: spek = TDA7448_4;break;
        case 5: spek = TDA7448_5;break;
        case 6: spek = TDA7448_6;break;   
}
       att_spek = abs(att_spek);
  writeWire(spek, att_spek);
}



void TDA7448::writeWire(char a, char b){
  Wire.beginTransmission(TDA7448_address);
  Wire.write (a);
  Wire.write (b);
  Wire.endTransmission();
}