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