<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[forum.rcl-radio.ru &mdash; Genius SW-HF 5.1 5000 (восстановление микроконтроллерного блока)]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=126</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=126&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Genius SW-HF 5.1 5000 (восстановление микроконтроллерного блока)».]]></description>
		<lastBuildDate>Thu, 19 Sep 2024 20:33:08 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Genius SW-HF 5.1 5000 (восстановление микроконтроллерного блока)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10772#p10772</link>
			<description><![CDATA[<p>Код от liman324 у меня не заработал, по этому мне пришлось переписать. </p><p>Протестирован на железе, полностью работоспособен, функционал почти полностью восстановлен, я решил не использовать еепром для сохранения последнего выбранного канала, и при нажатии кнопки выключения(кнопки stand-by) регулятор громкости не крутится в нижнее положениеи как это было в оригинале.</p><p>Считаю это несущественно, при желании этот функционал можно добавить.</p><p>Коды от пульта поставить на свои.(В этом коде поставлены коды от популярного пульта для ардуинок)</p><p>Если управление микросхемами не будет осуществляться, проверьте заданный адрес микросхем, мне пришлось в библиотеках редактировать, для pt2258 - 0x44 , для pt2323 - 0x4A</p><p>Светодиод mute подключать к 3 пину(и к 3 же пину подключать сигнал mute на усилитель)<br />Постарался все ньюансы рассказать, возможно что то забыл, спрашивайте если что.</p><p>p.s: видео работы : <div class="fancy_video_tag_player"><iframe class="youtube-player" type="text/html" width="640" height="385" src="https://www.youtube.com/embed/gpc8TNGGGFk" frameborder="0"></iframe></div><br /></p><div class="codebox"><pre><code>#include &lt;IRremote.h&gt;
#include &lt;Wire.h&gt;
#include &lt;PT2323.h&gt;
#include &lt;PT2258.h&gt;

#define IR_1 0xFF18E7 // Кнопка VOL+
#define IR_2 0xFF4AB5 // Кнопка VOL-

const unsigned long MOTOR_UP_CODE = 0xFF18E7;    // Код кнопки &quot;вверх&quot; на пульте
const unsigned long MOTOR_DOWN_CODE = 0xFF4AB5;  // Код кнопки &quot;вниз&quot; на пульте
const unsigned long REPEAT_CODE = 0xFFFFFFFF;  // Код повторного нажатия при удерживании

#define IR_5 0xFFA25D // Кнопка DVD
#define IR_6 0xFF629D // Кнопка TV
#define IR_7 0xFFE21D // Кнопка GAME
#define IR_8 0xFF22DD // Кнопка CD/MP3

 PT2323 pt0; 
 PT2258 pt;

// Пин моторчика регулятора громкости
const int motorPin1 = 12; 
const int motorPin2 = 13;

const int irPin = A3;     // Пин для ИК-приемника

const int standbyButton = 2;  // Пин для физической кнопки standby
const int inputButton1 = 4; // Кнопка DVD
const int inputButton2 = 5; // Кнопка TV
const int inputButton3 = 6; // Кнопка GAME
const int inputButton4 = 7; // Кнопка CD/MP3

const unsigned long STANDBY_CODE = 0xFF6897;      // Код кнопки standby на пульте
const unsigned long MUTE_CODE = 0xFFB04F;         // Код кнопки mute на пульте 

// Пин для управления mute
const int mutePin = 3;  // Пин для режима mute
const int standby = A0; //

// Таймер для остановки моторчика
unsigned long motorStopTimer = 0;
const unsigned long motorTimeout = 300;  // 300 мс

// Пины светодиодов для индикации каналов
const int led1 = 8;
const int led2 = 9;
const int led3 = 10;
const int led4 = 11;
const int flashled = A1;

IRrecv irrecv(irPin);
decode_results ir;

  int in,mute=0;
  byte w;
  unsigned long time;


// Пин потенциометра для управления громкостью
const int potPin = A6;

uint8_t ochistka = 0b11000000; // Очистка регистра PT2258

bool motorRunning = false;
bool motorDirection = true;  // true - вверх, false - вниз
unsigned long lastMotorCode = 0;  // Код последней нажатой кнопки для управления моторчиком

// Переменные для хранения состояний
bool standbyMode = true;  // Включаем режим standby при старте
bool muteMode = false;    // Режим mute изначально выключен
int currentChannel = 0;   // Текущий канал (используется в режиме standby)

void controlMotor(bool direction) {
  if (direction) {
    // Вращение в одном направлении
    digitalWrite(motorPin1, HIGH);
    digitalWrite(motorPin2, LOW);
  } else {
    // Вращение в обратном направлении
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, HIGH);
  }
  
  motorRunning = true;
  motorDirection = direction;
  motorStopTimer = millis();  // Обновляем таймер при каждом управлении моторчиком
}

void stopMotor() {
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  motorRunning = false;
}

void audio1(){
  pt0.setInput(in); 
  pt0.setMute(0,0,0,0,0,0,0); 
  pt0.setFeature(1,1); 
}

void audio(){
        pt.setVolume(0); //  int 0...79     
      // pt.setVol1(0); //  int 0...79       
      // pt.setVol2(0); //  int 0...79 
      // pt.setVol3(0); //  int 0...79 
      // pt.setVol4(0); //  int 0...79 
      // pt.setVol5(0); //  int 0...79 
      // pt.setVol6(0); //  int 0...79 
        pt.setMute(0); // mute 0 - off / 1 - on
  }

  void start_pt2258(void)  // очистим все регистры PT2258     
{
  Wire.beginTransmission(PT2258_address);  // передаем адрес
  Wire.write(ochistka);                    // команда при старте очистка всех регистров
  Wire.endTransmission();                  // закончили передачу
}

void setup() {
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  Serial.begin(9600);
  Wire.begin();
  Wire.setClock(100000);
  audio();audio1();

    // Настраиваем кнопки как входы
  pinMode(inputButton1, INPUT_PULLUP);
  pinMode(inputButton2, INPUT_PULLUP);
  pinMode(inputButton3, INPUT_PULLUP);
  pinMode(inputButton4, INPUT_PULLUP);
  pinMode(standbyButton, INPUT_PULLUP);
  pinMode(flashled, OUTPUT);  
  // Настраиваем пины светодиодов как выходы
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);

    // Настраиваем пин для управления mute как выход
  pinMode(mutePin, OUTPUT);
  digitalWrite(mutePin, HIGH);  // Изначально mute выключен

  pinMode(standby, OUTPUT);

    // Устанавливаем все светодиоды и моторчик в начальное состояние (выключены)
  digitalWrite(led1, HIGH);
  digitalWrite(led2, HIGH);
  digitalWrite(led3, HIGH);
  digitalWrite(led4, HIGH);
  digitalWrite(flashled, HIGH);
  stopMotor();

  start_pt2258();     // очистим все регистры PT2258 

    // Если режим standby включён, не восстанавливаем канал и не включаем светодиоды
  if (standbyMode) {
    // В режиме standby все светодиоды выключены
    digitalWrite(led1, HIGH);
    digitalWrite(led2, HIGH);
    digitalWrite(led3, HIGH);
    digitalWrite(led4, HIGH);
    stopMotor();  // Останавливаем моторчик
    digitalWrite(standby, LOW);
    digitalWrite(flashled, HIGH);

    // Выключенный Mute по умолчанию в режиме standby
    digitalWrite(mutePin, HIGH);
  } else {
    digitalWrite(standby, HIGH);
    digitalWrite(flashled, LOW);
    // Восстанавливаем сохранённый канал
    // switchInput(savedChannel);
    // currentChannel = savedChannel;
  }
  irrecv.enableIRIn();  // Включаем прием ИК-сигналов
}

void loop() {
            // Останавливаем мотор, если кнопка не была нажата в течение определённого времени
  if (motorRunning &amp;&amp; millis() - motorStopTimer &gt; motorTimeout) {
    stopMotor();
  }

    int potValue = analogRead(A6); // Чтение значения потенциометра (0-1023)
  int volume = map(potValue, 0, 1023, 0, 79); // Преобразование значения потенциометра в диапазон 0-79
  pt.setVolume(volume); // Установка громкости
  delay(40); // Пауза для избежания слишком частого обновления

  // Проверка кнопки standby
  if (digitalRead(standbyButton) == LOW) {
    standbyMode = !standbyMode;  // Переключаем режим standby
    delay(200);  // Задержка для предотвращения дребезга кнопки
    if (standbyMode) {
      // В режиме standby все светодиоды выключены
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      digitalWrite(flashled, HIGH);
      stopMotor();  // Останавливаем моторчик
    
      digitalWrite(mutePin, HIGH); // mute выключен (в режиме standby mute всегда выключен)
      digitalWrite(standby, LOW);
    } 
    
    else {
      // Восстанавливаем сохранённый канал
      // int savedChannel = EEPROM.read(eepromChannelAddr);
      // switchInput(savedChannel);
      digitalWrite(standby, HIGH);
      digitalWrite(flashled, LOW);
      delay(200);  // Задержка для предотвращения повторного срабатывания
    }
    return;  // Прекращаем выполнение остального кода в режиме standby
  }

         ////////////// INPUT /////////////////////////////////////////////////////////////////////////////////////////////
         if (!standbyMode) 
    {
  if(digitalRead(inputButton1) == LOW){in=4;audio1();audio();w=1;time=millis();delay(100);}  // in DVD
  if(digitalRead(inputButton2) == LOW){in=0;audio1();audio();w=1;time=millis();delay(100);}  // in TV
  if(digitalRead(inputButton3) == LOW){in=1;audio1();audio();w=1;time=millis();delay(100);}  // in GAME
  if(digitalRead(inputButton4) == LOW){in=2;audio1();audio();w=1;time=millis();delay(100);}  // in CD/MP3

  switch(in){
    case 4: digitalWrite(8,LOW);digitalWrite(9,HIGH);digitalWrite(10,HIGH);digitalWrite(11,HIGH);break;
    case 0: digitalWrite(8,HIGH);digitalWrite(9,LOW);digitalWrite(10,HIGH);digitalWrite(11,HIGH);break;
    case 1: digitalWrite(8,HIGH);digitalWrite(9,HIGH);digitalWrite(10,LOW);digitalWrite(11,HIGH);break;
    case 2: digitalWrite(8,HIGH);digitalWrite(9,HIGH);digitalWrite(10,HIGH);digitalWrite(11,LOW);break;
  }
    if(ir.value==IR_5){in=4;audio1();audio();delay(50);}
     if(ir.value==IR_6){in=0;audio1();audio();delay(50);}
     if(ir.value==IR_7){in=1;audio1();audio();delay(50);}
     if(ir.value==IR_8){in=2;audio1();audio();delay(50);}  
  }

  if (irrecv.decode( &amp;ir )) {
    unsigned long code = ir.value;
    Serial.print(&quot;0x&quot;);Serial.println(ir.value,HEX);irrecv.resume();
      delay(100);
      time=millis(); w=1;

if(!standbyMode){
      if (code == MOTOR_UP_CODE) {
        controlMotor(true); 
        motorDirection = true; // Вращение моторчика в одном направлении (вверх)
        lastMotorCode = MOTOR_UP_CODE;
      } else if (code == MOTOR_DOWN_CODE) {
        controlMotor(false);  // Вращение моторчика в обратном направлении (вниз)
        motorDirection = false;
        lastMotorCode = MOTOR_DOWN_CODE;
      } else if (code == REPEAT_CODE &amp;&amp; (lastMotorCode == MOTOR_UP_CODE || lastMotorCode == MOTOR_DOWN_CODE)) {
        // Продолжаем вращение моторчика в том же направлении
        controlMotor(lastMotorCode == MOTOR_UP_CODE);
      } else {
        // Останавливаем мотор, если код не связан с моторчиком
        stopMotor();
        lastMotorCode = 0;  // Сбрасываем код последней кнопки
      }
}

    // Включение/выключение режима standby с пульта
    if (code == STANDBY_CODE || digitalRead(standbyButton) == LOW) {
      standbyMode = !standbyMode;  // Переключаем режим standby
      if (standbyMode) {
        // В режиме standby все светодиоды выключены
        digitalWrite(led1, HIGH);
        digitalWrite(led2, HIGH);
        digitalWrite(led3, HIGH);
        digitalWrite(led4, HIGH);
        digitalWrite(flashled, HIGH);
        stopMotor();  // Останавливаем моторчик

        // Устанавливаем пин D3 в LOW
        digitalWrite(mutePin, HIGH);
        digitalWrite(standby, LOW);
      } else {
        // Восстанавливаем сохранённый канал
        // int savedChannel = EEPROM.read(eepromChannelAddr);
        digitalWrite(standby, HIGH);
        digitalWrite(flashled, LOW);
        // digitalWrite(HIGH);
        // switchInput(savedChannel);
      }
      delay(50);  // Задержка для предотвращения повторного срабатывания
    }
    // Включение/выключение режима mute с пульта
    if (code == MUTE_CODE) {
      muteMode = !muteMode;  // Переключаем режим mute
      digitalWrite(mutePin, muteMode ? HIGH : LOW);  // Управляем пином mute
      delay(100);  // Задержка для предотвращения повторного срабатывания
      }
  }
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Reziztor)]]></author>
			<pubDate>Thu, 19 Sep 2024 20:33:08 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10772#p10772</guid>
		</item>
		<item>
			<title><![CDATA[Re: Genius SW-HF 5.1 5000 (восстановление микроконтроллерного блока)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=8990#p8990</link>
			<description><![CDATA[<p>Скетч был написан по просьбе пользователя, скетч не тестирован, в железе не запускался. Нет гарантий что он рабочий.</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 11 Dec 2023 14:06:07 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=8990#p8990</guid>
		</item>
		<item>
			<title><![CDATA[Re: Genius SW-HF 5.1 5000 (восстановление микроконтроллерного блока)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=8989#p8989</link>
			<description><![CDATA[<p>Она входит в состав IRremote, ее не надо устанавливать</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 11 Dec 2023 13:52:25 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=8989#p8989</guid>
		</item>
		<item>
			<title><![CDATA[Re: Genius SW-HF 5.1 5000 (восстановление микроконтроллерного блока)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=8988#p8988</link>
			<description><![CDATA[<p>Здравствуйте. В программе темы &quot;Genius SW-HF 5.1 5000 (восстановление микроконтроллерного блока)&quot; непонятная библиотека &quot;boarddefs.h&quot;. В стандартных библиотеках Arduino IDE её нет. Буду благодарен, если вышлете эту библиотеку на почту &quot;sa45home@yandex.ru&quot;.</p>]]></description>
			<author><![CDATA[null@example.com (sa5yan)]]></author>
			<pubDate>Mon, 11 Dec 2023 13:50:40 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=8988#p8988</guid>
		</item>
		<item>
			<title><![CDATA[Re: Genius SW-HF 5.1 5000 (восстановление микроконтроллерного блока)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=884#p884</link>
			<description><![CDATA[<p>регулировка громкости с регулятора и пульта<br />селектор входов с кнопок и индикация селектора входов + пульт<br />КНОПКА И ВЫХОД mute + пульт<br />КНОПКА И standby + пульт</p><div class="codebox"><pre><code>#define IR_1 0x2FDD02F // Кнопка VOL+
#define IR_2 0x2FD32CD // Кнопка VOL-
#define IR_3 0x2FD5566 // Кнопка MUTE
#define IR_4 0x2FD8888 // Кнопка STANDBY

#define IR_5 0x2FDD02F // Кнопка DVD
#define IR_6 0x2FD32CD // Кнопка TV
#define IR_7 0x2FD5566 // Кнопка GAME
#define IR_8 0x2FD8888 // Кнопка CD/MP3

#include &lt;Wire.h&gt;
#include &lt;PT2323.h&gt;
#include &lt;PT2258.h&gt;
#include &lt;EEPROM.h&gt;
#include &lt;boarddefs.h&gt;
#include &lt;IRremote.h&gt;
 IRrecv irrecv(0); // указываем вывод модуля IR приемника (IR-IN)
 decode_results ir; 
 PT2323 pt0; 
 PT2258 pt;

 int vol,vol_old,in,mute,standby=1;
 byte w,gr1,gr2,moto;
 unsigned long time;

void setup() { 
  irrecv.enableIRIn();
  Serial.begin(9600);
  pinMode(A0,INPUT);// вход регулятора громкости 0...5 В
  pinMode(A1,INPUT);// кнопка MUTE
  pinMode(2,OUTPUT);// ВЫХОД УПР. MUTE
  pinMode(A2,INPUT);// кнопка STANDBY
  pinMode(3,OUTPUT);// ВЫХОД УПР. SRANDBY
  //////// IN ////////////////////////////////
  pinMode(4,INPUT); // in DVD
  pinMode(5,INPUT); // in TV
  pinMode(6,INPUT); // in GAME
  pinMode(7,INPUT); // in CD/MP3
  /////// LED OUTPUT /////////////////////////////
  pinMode(8,OUTPUT); // in DVD
  pinMode(9,OUTPUT); // in TV
  pinMode(10,OUTPUT);// in GAME
  pinMode(11,OUTPUT);// in CD/MP3

  pinMode(12,OUTPUT);// MOUT+
  pinMode(13,OUTPUT);// MOUT-
  
  Wire.begin();
  if(EEPROM.read(100)!=0){for(int i=0;i&lt;101;i++){EEPROM.update(i,0);}}// очистка памяти при первом включении
  vol = EEPROM.read(0)-79;in = EEPROM.read(1);
  audio1();
  audio();
}

void loop() {
  ///////////////////// IR ////////////////////////////////////////////////////////////////////////////////////////
  if ( irrecv.decode( &amp;ir )) {Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);irrecv.resume();delay(100);time=millis();w=1;}// IR приемник - чтение, в мониторе порта отображаются коды кнопок
     if(ir.value==IR_1){vol++;gr1=1;gr2=0;vol_func();audio1();audio();moto=1;}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and gr1==1){vol++;gr2=0;vol_func();audio1();audio();moto=1;}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==IR_2){vol--;gr1=0;gr2=1;vol_func();audio1();audio();moto=1;}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and gr2==1){vol--;gr1=0;vol_func();audio1();audio();moto=1;}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;

     if(ir.value==IR_3&amp;&amp;mute==0){mute=1;audio1();audio();digitalWrite(2,HIGH);delay(300);} 
     if(ir.value==IR_3&amp;&amp;mute==1){mute=0;audio1();audio();digitalWrite(2,LOW);delay(300);}

     if(ir.value==IR_4&amp;&amp;standby==1){standby=1;digitalWrite(3,HIGH);delay(300);}
     if(ir.value==IR_4&amp;&amp;standby==0){standby=0;digitalWrite(3,LOW);delay(300);}

     if(ir.value==IR_5){in=4;audio1();audio();delay(300);}
     if(ir.value==IR_6){in=0;audio1();audio();delay(300);}
     if(ir.value==IR_7){in=1;audio1();audio();delay(300);}
     if(ir.value==IR_8){in=2;audio1();audio();delay(300);}
  
  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////   

 /////////////////// MUTE /////////////////////////////////////////////////////////////////////////////////////////
  if(analogRead(A1)&gt;900&amp;&amp;mute==0){mute=1;digitalWrite(2,HIGH);audio1();audio();delay(300);}
  if(analogRead(A1)&gt;900&amp;&amp;mute==1){mute=0;digitalWrite(2,LOW);audio1();audio();delay(300);}
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 

 /////////////////// STANDBY /////////////////////////////////////////////////////////////////////////////////////////
  if(analogRead(A2)&gt;900&amp;&amp;standby==1){standby=1;digitalWrite(3,HIGH);delay(300);} // усилитель вкл
  if(analogRead(A2)&gt;900&amp;&amp;standby==0){standby=0;digitalWrite(3,LOW);delay(300);}  // усилитель выкл
 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////  

 ////////////// INPUT /////////////////////////////////////////////////////////////////////////////////////////////
  if(digitalRead(4)==HIGH){in=4;audio1();audio();w=1;time=millis();delay(300);}  // in DVD
  if(digitalRead(5)==HIGH){in=0;audio1();audio();w=1;time=millis();delay(300);}  // in TV
  if(digitalRead(6)==HIGH){in=1;audio1();audio();w=1;time=millis();delay(300);}  // in GAME
  if(digitalRead(7)==HIGH){in=2;audio1();audio();w=1;time=millis();delay(300);}  // in CD/MP3
 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  switch(in){
    case 4: digitalWrite(8,HIGH);digitalWrite(9,LOW);digitalWrite(10,LOW);digitalWrite(11,LOW);break;
    case 0: digitalWrite(8,LOW);digitalWrite(9,HIGH);digitalWrite(10,LOW);digitalWrite(11,LOW);break;
    case 1: digitalWrite(8,LOW);digitalWrite(9,LOW);digitalWrite(10,HIGH);digitalWrite(11,LOW);break;
    case 2: digitalWrite(8,LOW);digitalWrite(9,LOW);digitalWrite(10,LOW);digitalWrite(11,HIGH);break;
    }

  
  if(moto==1){
  if(vol&gt;map(analogRead(A0),0,1023,0,79)){digitalWrite(12,HIGH);digitalWrite(13,LOW);}
  else if(vol&lt;map(analogRead(A0),0,1023,0,79)){digitalWrite(12,LOW);digitalWrite(13,HIGH);}
  else{digitalWrite(12,LOW);digitalWrite(13,LOW);moto=0;}
  }

  if(moto==0){
  vol_old = vol;
  vol = map(analogRead(A0),0,1023,0,79);
  if(vol_old!=vol){audio1();audio();w=1;time=millis();}
  }
  ////// EEPROM /////////////////////////////////////////////// 
  if(millis()-time&gt;10000 &amp;&amp; w==1){EEPROM.update(0,vol+79);EEPROM.update(1,in);}
}

void vol_func(){if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;}}

void audio1(){
  pt0.setInput(in); 
  pt0.setMute(0,0,0,0,0,0,0); 
  pt0.setFeature(1,1); 
}

void audio(){
        pt.setVolume(vol); //  int 0...79     
      // pt.setVol1(0); //  int 0...79       
      // pt.setVol2(0); //  int 0...79 
      // pt.setVol3(0); //  int 0...79 
      // pt.setVol4(0); //  int 0...79 
      // pt.setVol5(0); //  int 0...79 
      // pt.setVol6(0); //  int 0...79 
        pt.setMute(mute); // mute 0 - off / 1 - on
  }</code></pre></div><p><span class="attention-yellow"></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 06 Feb 2020 07:40:31 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=884#p884</guid>
		</item>
		<item>
			<title><![CDATA[Genius SW-HF 5.1 5000 (восстановление микроконтроллерного блока)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=882#p882</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/02/6be0082dc89a4bf3fba8c760ed38e1e7.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/02/6be0082dc89a4bf3fba8c760ed38e1e7.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/02/0c6e4e475344ba6ca92704dd412c053b.gif" alt="http://forum.rcl-radio.ru/uploads/images/2020/02/0c6e4e475344ba6ca92704dd412c053b.gif" /></span> </p><p>Паспорт + схема<br /><span class="attention-yellow"></span></p><p>бибиотеки<br /><span class="attention-yellow"></span> <br /><span class="attention-yellow"></span> </p><p>тестовый запуск<br />вход 0<br />громк макс</p><div class="codebox"><pre><code>#include &lt;Wire.h&gt;
#include &lt;PT2323.h&gt;
#include &lt;PT2258.h&gt;

 PT2323 pt0; 
 PT2258 pt;

void setup() { 
  Wire.begin();
  audio1();
  audio();
}

void loop() {

}

void audio1(){
  pt0.setInput(0); 
  pt0.setMute(0,0,0,0,0,0,0); 
  pt0.setFeature(1,1); 
}

void audio(){
        pt.setVolume(0); //  int 0...79     
      // pt.setVol1(0); //  int 0...79       
      // pt.setVol2(0); //  int 0...79 
      // pt.setVol3(0); //  int 0...79 
      // pt.setVol4(0); //  int 0...79 
      // pt.setVol5(0); //  int 0...79 
      // pt.setVol6(0); //  int 0...79 
        pt.setMute(0); // mute 0 - off / 1 - on
  }</code></pre></div><p>328 hex - <span class="attention-yellow"></span> <br /><strong>atmega 328</strong><br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/02/62cb37e889c7e91721e01e32dea8321e.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/02/62cb37e889c7e91721e01e32dea8321e.png" /></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 06 Feb 2020 01:23:08 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=882#p882</guid>
		</item>
	</channel>
</rss>
