<?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; TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=32</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=32&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «TDA7313 + энкодер + ИК пульт + анализатор спектра».]]></description>
		<lastBuildDate>Wed, 18 Jan 2023 15:08:31 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7228#p7228</link>
			<description><![CDATA[<p>Тестируйте:</p><div class="codebox"><pre><code>#define IR_1 0x2FDB24D // Кнопка MENU
#define IR_3 0x2FD906F // Кнопка +
#define IR_4 0x2FDF20D // Кнопка -
#define IR_5 0x2FD629D // Кнопка IN1
#define IR_6 0x2FDEA15 // Кнопка MUTE
#define IR_7 0x2FD00FF // Кнопка POWER
#define IR_8 0x2FD22DD // Кнопка IN2
#define IR_9 0x2FD40BF // Кнопка IN3   

#include &lt;Wire.h&gt;
#include &lt;LiquidCrystal.h&gt;
#include &lt;EEPROM.h&gt;
#include &lt;TDA7313.h&gt;
#include &lt;boarddefs.h&gt;
#include &lt;IRremote.h&gt;
  IRrecv irrecv(10); // указываем вывод модуля IR приемника
  TDA7313 tda;
  decode_results ir;
  LiquidCrystal lcd(4, 5, 6, 7, 8, 9); // номер вывода дисплея:RS,E,D4,D5,D6,D7 | rw=GND
   byte a1[8]={0b00000,0b10101,0b10101,0b10101,0b10101,0b10101,0b10101,0b00000};
   byte a2[8]={0b00000,0b10100,0b10100,0b10100,0b10100,0b10100,0b10100,0b00000};
   byte a3[8]={0b00000,0b10000,0b10000,0b10000,0b10000,0b10000,0b10000,0b00000};
   unsigned long newPosition,time,time1,oldPosition  = -999;
   int vol,w1,w2=1,gr1,gr2,vol_d,menu,w,z,z0,z1,bass_d,bass,treb_d,treb,i,loud,in,mute,power,gain,gain1,gain2,gain3,lr,rr,lf,rf,kkk,vol_old,inp,inp1;

void setup(){
   Serial.begin(9600);
   Wire.begin();irrecv.enableIRIn(); // запускаем модуль I2C,IR
   lcd.begin(16, 2);
   lcd.createChar(0,a1);lcd.createChar(1,a2);lcd.createChar(2,a3);
   pinMode(2,INPUT_PULLUP);// КНОПКА UP
   pinMode(3,INPUT_PULLUP);// КНОПКА DW
   pinMode(A1,INPUT_PULLUP);// КНОПКА MENU
   pinMode(A0,INPUT_PULLUP);// КНОПКА IN
   pinMode(A2,INPUT_PULLUP);// КНОПКА MUTE
   pinMode(A3,INPUT_PULLUP);// КНОПКА POWER
   pinMode(12,OUTPUT);//Питание для источника   
   pinMode(13,OUTPUT);//Питание STANDBY
   
   vol = EEPROM.read(0);bass = EEPROM.read(1)-7;treb = EEPROM.read(2)-7;in = EEPROM.read(3);
   gain1 = EEPROM.read(4);gain2 = EEPROM.read(5);gain3 = EEPROM.read(6);loud = EEPROM.read(7);
   lr = EEPROM.read(8);rr = EEPROM.read(9);lf = EEPROM.read(10);rf = EEPROM.read(11);
   if(in==0){gain=gain1;}
   if(in==1){gain=gain2;}
   if(in==2){gain=gain3;}
   lcd.setCursor(0,0);lcd.print(&quot;TDA7313 IR POWER&quot;);
   lcd.setCursor(3,1);lcd.print(&quot;  Ver. 3  &quot;);
   delay(2000);audio();
   lcd.clear();}
   

void loop(){

// IR приемник 
  if ( irrecv.decode( &amp;ir )){Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);
  irrecv.resume();time=millis();w=1;w1=1;}// IR приемник - чтение, в мониторе порта отображаются коды кнопок
  if(ir.value==0){gr1=0;gr2=0;}// запрет нажатий не активных кнопок пульта
// POWER
   if((ir.value==IR_7||digitalRead(A3)==LOW)&amp;&amp;power==0){power=1;mute=1;audio();gr1=0;gr2=0;cl();
     lcd.setCursor(0,0);lcd.print(&quot;   POWER  OFF   &quot;);w=0;menu=100;vol_old=vol;vol=0;audio();delay(1000);}// power off
   if((ir.value==(IR_7)||digitalRead(A3)==LOW)&amp;&amp;power==1){power=0;mute=0;vol=vol_old;audio();gr1=0;gr2=0;cl();
     menu=0;time=millis();w=1;w2=1;delay(500);}// power on
//LED   
   if(power==0){digitalWrite(12,HIGH);}else{digitalWrite(12,LOW);} // INPUT POWER
   if(power==0){digitalWrite(13,HIGH);}else{digitalWrite(13,LOW);} // выход STANDBY

//////////////////////////////////////////////////////////////////////////////////////////////////////////////
  if(power==0){
//MENU 
   if(ir.value==IR_1||digitalRead(A1)==LOW){menu++;cl();i++;time=millis();w=1;w2=1;if(menu&gt;5){menu=0;}}// меню
//INPUT KEY
   if(digitalRead(A0)==LOW){in++;cl();time=millis();w=1;w2=1;if(in&gt;2){in=0;};audio();}// IN
//MUTE KEY
   if(digitalRead(A2)==LOW&amp;&amp;mute==0){mute=1;cl();w=0;w2=1;lcd.print(&quot;      MUTE     &quot;);menu=100;vol_old=vol;vol=0;audio();}// mute on
   if(digitalRead(A2)==LOW&amp;&amp;mute==1){mute=0;cl();time=millis();w=1;w2=1;menu=0;vol=vol_old;audio();}// mute off
//INPUT IR   
     if(ir.value==IR_5&amp;&amp;mute==0){in=1;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}
     if(ir.value==IR_8&amp;&amp;mute==0){in=0;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}
     if(ir.value==IR_9&amp;&amp;mute==0){in=2;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}
//MUTE IR
     if(ir.value==IR_6&amp;&amp;mute==0&amp;&amp;power==0){mute=1;gr1=0;gr2=0;cl();w=0;w2=1;
     lcd.print(&quot;      MUTE     &quot;);menu=100;vol_old=vol;vol=0;audio();}// mute on
     if(ir.value==IR_6&amp;&amp;mute==1&amp;&amp;power==0){mute=0;gr1=0;gr2=0;cl();
     time=millis();w=1;w2=1;menu=0;vol=vol_old;audio();}// mute off
}
//////////////////////////////////////// Volume 0...63 дБ ////////////////////////////////////
if(menu==0){     
    if(ir.value==IR_3 || digitalRead(2)==LOW){vol++;gr1=1;gr2=0;cl1();time=millis();w=1;w2=1;if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &gt;
    if(ir.value==0xFFFFFFFF and gr1==1){vol++;gr2=0;cl1();time=millis();w=1;w2=1;if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
    if(ir.value==IR_4 || digitalRead(3)==LOW){vol--;gr1=0;gr2=1;cl1();time=millis();w=1;w2=1;if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &lt;
    if(ir.value==0xFFFFFFFF and gr2==1){vol--;gr1=0;cl1();time=millis();w=1;w2=1;if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   
   lcd.setCursor(0,0);lcd.print(&quot;Volume &quot;);
   lcd.print(-78.75+(float)vol*1.25,0);
   lcd.print(&quot; &quot;);
   lcd.setCursor(10,0);lcd.print(&quot;dB &quot;);   
   lcd.setCursor(13,0);
   switch(in){
   case 0: lcd.print(&quot;IN1&quot;);break;
   case 1: lcd.print(&quot;IN2&quot;);break;
   case 2: lcd.print(&quot;IN3&quot;);break;
}
   vol_d=vol-15;
   if(w2==1){
   for(z=0,z0=0,z1=0;z&lt;=vol_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}
   if(z1==1){lcd.setCursor(z0,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1,1);lcd.print(&quot;   &quot;);}}
   if(z1==3){lcd.setCursor(z0,1);lcd.write((uint8_t)1);}
   if(z1==2){lcd.setCursor(z0,1);lcd.write((uint8_t)2);}w2=0;}}
//////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////// индикация тембр НЧ -14...14 дБ //////////////////////////////////////
   if(menu==1){   
    if(ir.value==IR_3 || digitalRead(2)==LOW){bass++;gr1=1;gr2=0;cl1();time=millis();w=1;w2=1;if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &gt;
    if(ir.value==0xFFFFFFFF and gr1==1){bass++;gr2=0;cl1();time=millis();w=1;w2=1;if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
    if(ir.value==IR_4 || digitalRead(3)==LOW){bass--;gr1=0;gr2=1;cl1();time=millis();w=1;w2=1;if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &lt;
    if(ir.value==0xFFFFFFFF and gr2==1){bass--;gr1=0;cl1();time=millis();w=1;w2=1;if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;

    lcd.setCursor(0,0);lcd.print(&quot;Bass    &quot;);
    lcd.print(&quot; &quot;);lcd.print(bass*2);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);bass_d=bass*2+15;
    if(w2==1){
    for(z=0,z0=0,z1=0;z&lt;=bass_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}
    if(z1==1){lcd.setCursor(z0+3,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1+3,1);lcd.print(&quot;   &quot;);}}
    if(z1==3){lcd.setCursor(z0+3,1);lcd.write((uint8_t)1);}
    if(z1==2){lcd.setCursor(z0+3,1);lcd.write((uint8_t)2);}w2=0;}}
////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////// индикация тембр ВЧ -14...14 дБ ////////////////////////////////////////
   if(menu==2){   
   if(ir.value==IR_3 || digitalRead(2)==LOW){treb++;gr1=1;gr2=0;cl1();time=millis();w=1;w2=1;if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &gt;
   if(ir.value==0xFFFFFFFF and gr1==1){treb++;gr2=0;cl1();time=millis();w=1;w2=1;if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==IR_4 || digitalRead(3)==LOW){treb--;gr1=0;gr2=1;cl1();time=millis();w=1;w2=1;if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &lt;
   if(ir.value==0xFFFFFFFF and gr2==1){treb--;gr1=0;cl1();time=millis();w=1;w2=1;if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   
   lcd.setCursor(0,0);lcd.print(&quot;Treble  &quot;);
   lcd.print(&quot; &quot;);lcd.print(treb*2);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);treb_d=treb*2+15;
   if(w2==1){
   for(z=0,z0=0,z1=0;z&lt;=treb_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}
   if(z1==1){lcd.setCursor(z0+3,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1+3,1);lcd.print(&quot;   &quot;);}}
   if(z1==3){lcd.setCursor(z0+3,1);lcd.write((uint8_t)1);}
   if(z1==2){lcd.setCursor(z0+3,1);lcd.write((uint8_t)2);}w2=0;}}

////////////////////////////////////// BALANCE //////////////////////////////////////////////
   if(menu==3){
   if(ir.value==IR_3 || digitalRead(2)==LOW){lf++;lr++;rf--;rr--;cl1();lcd.clear();time=millis();w=1;w2=1;if(lf&gt;10){lf=10;}if(rf&lt;0){rf=0;}if(lr&gt;10){lr=10;}if(rr&lt;0){rr=0;}audio();}
   if(ir.value==IR_4 || digitalRead(3)==LOW){lf--;lr--;rf++;rr++;cl1();lcd.clear();time=millis();w=1;w2=1;if(lf&lt;0){lf=0;}if(rf&gt;10){rf=10;}if(lr&lt;0){lr=0;}if(rr&gt;10){rr=10;}audio();}

   lcd.setCursor(0,0);
   if(w2==1){
   if(lf-5&gt;=0){lcd.print(&quot;-&quot;);}else{lcd.print(&quot;+&quot;);}
   lcd.print(abs(rf-5));lcd.print(&quot; dB &quot;);
   lcd.print(&quot; &lt;&gt;  &quot;);
   if(rf-5&gt;=0){lcd.print(&quot;-&quot;);}else{lcd.print(&quot;+&quot;);}
   lcd.print(abs(rf-5));lcd.print(&quot; dB &quot;);
   lcd.setCursor(0,1);lcd.print(&quot;L&quot;);
   lcd.setCursor(15,1);lcd.print(&quot;R&quot;); 
   if(lf-5&lt;0){lcd.setCursor(lf-5+7,1);lcd.write((uint8_t)0);}
   if(lf-5&gt;0){lcd.setCursor(lf-5+8,1);lcd.write((uint8_t)0);}
   if(lf-5==0){lcd.setCursor(7,1);lcd.write((uint8_t)0);lcd.setCursor(8,1);lcd.write((uint8_t)0);}w2=0;}
   }

/////////////////////////////////// LOUDNESS ////////////////////////////////////////
    if(menu==4){
    if(ir.value==IR_3 || digitalRead(2)==LOW){loud++;cl1();if(loud&gt;1){loud=0;}time=millis();w=1;w2=1;audio();}
    if(ir.value==IR_4 || digitalRead(3)==LOW){loud--;cl1();if(loud&lt;0){loud=1;}time=millis();w=1;w2=1;audio();}
    lcd.setCursor(0,0);lcd.print(&quot;LOUDNESS &quot;);
    if(loud==1){lcd.print(&quot;ON &quot;);}else{lcd.print(&quot;OFF&quot;);}
    }

///////////////////////////////////// INPUT GAIN //////////////////////////////////////////

if(menu==5){
     if(in==0){gain=gain1;}
     if(in==1){gain=gain2;}
     if(in==2){gain=gain3;}
     
     if(ir.value==IR_3 || digitalRead(2)==LOW){gain++;cl();time=millis();w=1;w2=1;if(gain&gt;3){gain=3;}audio();}
     if(ir.value==IR_4 || digitalRead(3)==LOW){gain--;cl();time=millis();w=1;w2=1;if(gain&lt;0){gain=0;}audio();}

      if(in==0){gain1=gain;}
      if(in==1){gain2=gain;}
      if(in==2){gain3=gain;}
   
  lcd.setCursor(0,0);lcd.print(&quot; INPUT &quot;);lcd.print(in+1);
  lcd.setCursor(0,1);lcd.print(&quot; Gain &quot;);lcd.print((float)gain*3.75);lcd.print(&quot; dB &quot;);}

//////////////////////////////////////////////////////////////////////////////////////////

   if(millis()-time&gt;5000 &amp;&amp; w==1 &amp;&amp; power==0 &amp;&amp; mute == 0){
     EEPROM.update(0,vol);
     EEPROM.update(1,bass+7);
     EEPROM.update(2,treb+7);
     EEPROM.update(3,in);
     EEPROM.update(4,gain1);EEPROM.update(5,gain2);EEPROM.update(6,gain3);
     EEPROM.update(7,loud);
     EEPROM.update(8,lr);EEPROM.update(9,rr);EEPROM.update(10,lf);EEPROM.update(11,rf);
//     lcd.clear();
     w=0,w2=1;menu=0;cl();}

   delay(100);  
}// loop
void cl1(){ir.value=0;delay(50);}
void cl(){ir.value=0;delay(300);lcd.clear();}

void audio(){
  tda.setVolume(vol); // громкость 0...63
  tda.setAttLR(lr);   // аттенюатор LR 0...31
  tda.setAttRR(rr);   // аттенюатор RR 0...31
  tda.setAttLF(lf);   // аттенюатор LF 0...31
  tda.setAttRF(rf);   // аттенюатор RF 0...31
  tda.setSwitch(in,loud,gain); // вход 0...2, тонкомпенсация 1 вкл 0 выкл, усиление 0...3
  tda.setBass(bass);    // тембр НЧ -7...+7
  tda.setTreble(treb);  // тембр ВЧ -7...+7
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Wed, 18 Jan 2023 15:08:31 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7228#p7228</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7172#p7172</link>
			<description><![CDATA[<p>В ближайшие дни возьмусь Вашим вопросом.</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 13 Jan 2023 11:45:53 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7172#p7172</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7168#p7168</link>
			<description><![CDATA[<p>здраствуйте можно сектч переделать под дисплей без I2C . Сделать режим стэндбай включающий отдельной кнопкой и пин включающий&nbsp; подсведку и он же включение унч,без энкодера и продублировать пультом все кнопки (например кнопка +,- стенбай отдельная от всех, меню основное и дополнительное,муте ,все кнопки на GND.Есть два процессора 7313 и 7719 собираю оба .Такое же сообщение отправил в тему про 7719.Так что не подумайте ,что ошибся. По изночальной схеме собирал <br />#define IR_1 0xFD8A75 // Кнопка MENU<br />#define IR_3 0xFD7887 // Кнопка +<br />#define IR_4 0xFD4AB5 // Кнопка -<br />#define IR_5 0xFD18E7 // Кнопка IN/AUX<br />#define IR_6 0xFD629D // Кнопка MUTE<br />#define IR_7 0xFD28D7 // Кнопка POWER<br />#define IR_8 0xFD22DD // Кнопка BT<br />#define IR_9 0xFDB04F // Кнопка Radio&nbsp; &nbsp;</p><br /><p>#include &lt;Wire.h&gt;<br />#include &lt;MsTimer2.h&gt;<br />#include &lt;LiquidCrystal.h&gt;<br />#include &lt;Encoder.h&gt;<br />#include &lt;EEPROM.h&gt;<br />#include &lt;TDA7313.h&gt;<br />#include &lt;boarddefs.h&gt;<br />#include &lt;IRremote.h&gt;<br />&nbsp; IRrecv irrecv(10); // указываем вывод модуля IR приемника<br />&nbsp; TDA7313 tda;<br />&nbsp; decode_results ir;<br />&nbsp; Encoder myEnc(3, 2);//CLK, DT подключение энкодера<br />&nbsp; LiquidCrystal lcd(4, 5, 6, 7, 8, 9); // номер вывода дисплея:RS,E,D4,D5,D6,D7 | rw=GND<br />&nbsp; &nbsp;byte a1[8]={0b00000,0b10101,0b10101,0b10101,0b10101,0b10101,0b10101,0b00000};<br />&nbsp; &nbsp;byte a2[8]={0b00000,0b10100,0b10100,0b10100,0b10100,0b10100,0b10100,0b00000};<br />&nbsp; &nbsp;byte a3[8]={0b00000,0b10000,0b10000,0b10000,0b10000,0b10000,0b10000,0b00000};<br />&nbsp; &nbsp;unsigned long newPosition,time,time1,oldPosition&nbsp; = -999;<br />&nbsp; &nbsp;int vol,w1,w2=1,gr1,gr2,vol_d,menu,w,z,z0,z1,bass_d,bass,treb_d,treb,i,loud,in,mute,power,gain,gain1,gain2,gain3,lr,rr,lf,rf,kkk,vol_old,inp,inp1;</p><p>void setup(){ <br />&nbsp; &nbsp;Serial.begin(9600);<br />&nbsp; &nbsp;Wire.begin();irrecv.enableIRIn(); // запускаем модуль I2C,IR<br />&nbsp; &nbsp;lcd.begin(16, 2);<br />&nbsp; &nbsp;lcd.createChar(0,a1);lcd.createChar(1,a2);lcd.createChar(2,a3);<br />&nbsp; &nbsp;pinMode(15,INPUT);// КНОПКА ЭНКОДЕРA<br />&nbsp; &nbsp;pinMode(14,INPUT_PULLUP);// КНОПКА IN<br />&nbsp; &nbsp;pinMode(16,INPUT_PULLUP);// КНОПКА MUTE<br />&nbsp; &nbsp;pinMode(12,OUTPUT);//Питание для источника&nbsp; &nbsp;<br />&nbsp; &nbsp;pinMode(13,OUTPUT);//Питание STANDBY<br />&nbsp; &nbsp;<br />&nbsp; &nbsp; MsTimer2::set(3, to_Timer);MsTimer2::start();<br />&nbsp; &nbsp; vol = EEPROM.read(0);bass = EEPROM.read(1)-7;treb = EEPROM.read(2)-7;in = EEPROM.read(3);<br />&nbsp; &nbsp; gain1 = EEPROM.read(4);gain2 = EEPROM.read(5);gain3 = EEPROM.read(6);loud = EEPROM.read(7);<br />&nbsp; &nbsp; lr = EEPROM.read(8);rr = EEPROM.read(9);lf = EEPROM.read(10);rf = EEPROM.read(11);<br />&nbsp; &nbsp; if(in==0){gain=gain1;}<br />&nbsp; &nbsp; if(in==1){gain=gain2;}<br />&nbsp; &nbsp; if(in==2){gain=gain3;}<br />&nbsp; &nbsp; lcd.setCursor(0,0);lcd.print(&quot;TDA7313 IR POWER&quot;);<br />&nbsp; &nbsp; lcd.setCursor(3,1);lcd.print(&quot;&nbsp; Ver. 3&nbsp; &quot;);<br />&nbsp; &nbsp; delay(2000);audio();<br />&nbsp; &nbsp; lcd.clear();}<br />&nbsp; &nbsp; <br />void to_Timer(){newPosition = myEnc.read()/4;}</p><p>void loop(){</p><p>// IR приемник&nbsp; <br />&nbsp; if ( irrecv.decode( &amp;ir )){Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);<br />&nbsp; irrecv.resume();time=millis();w=1;w1=1;}// IR приемник - чтение, в мониторе порта отображаются коды кнопок<br />&nbsp; if(ir.value==0){gr1=0;gr2=0;}// запрет нажатий не активных кнопок пульта<br />//IR POWER <br />&nbsp; &nbsp;if(ir.value==IR_7&amp;&amp;power==0){power=1;mute=1;audio();gr1=0;gr2=0;cl();<br />&nbsp; &nbsp;lcd.setCursor(0,0);lcd.print(&quot;&nbsp; &nbsp; STANDBY&nbsp; &nbsp;&quot;);w=0;menu=100;vol=vol_old;audio();delay(1000);}// power off<br />&nbsp; &nbsp;if(ir.value==(IR_7)&amp;&amp;power==1){power=0;mute=0;audio();gr1=0;gr2=0;cl();<br />&nbsp; &nbsp;menu=0;time=millis();w=1;w2=1;myEnc.write(0);delay(500);}// power on<br />//KEY POWER&nbsp; <br />&nbsp; &nbsp;if(kkk&gt;4){inp=1;kkk=0;}<br />&nbsp; &nbsp;if(inp==1 &amp;&amp; power==0){inp=0;power=1;mute=1;audio();gr1=0;gr2=0;cl();<br />&nbsp; &nbsp;lcd.setCursor(0,0);lcd.print(&quot;&nbsp; &nbsp; STANDBY&nbsp; &nbsp;&quot;);w=0;menu=100;vol=vol_old;audio();delay(1000);}// power off<br />&nbsp; &nbsp;if(digitalRead(14)==LOW &amp;&amp; power==1){inp1=0;inp=0;power=0;mute=0;audio();gr1=0;gr2=0;cl();<br />&nbsp; &nbsp;menu=0;time=millis();w=1;w2=1;myEnc.write(0);delay(500);}// power on<br />//LED&nbsp; &nbsp;<br />&nbsp; &nbsp;if(in==1&amp;&amp;power==0){digitalWrite(12,HIGH);}else{digitalWrite(12,LOW);} // INPUT POWER<br />&nbsp; &nbsp;if(power==0){digitalWrite(13,HIGH);}else{digitalWrite(13,LOW);} // выход STANDBY<br />//Управление подсветкой<br />//&nbsp; &nbsp;if(power==0){lcd.backlight();}else{lcd.noBacklight();}<br />//////////////////////////////////////////////////////////////////////////////////////////////////////////////<br />&nbsp; if(power==0){<br />//MENU UP/DOWN KEY<br />&nbsp; &nbsp;if(digitalRead(15)==LOW){menu++;cl();myEnc.write(0);i++;time=millis();<br />&nbsp; &nbsp;w=1;w2=1;if(menu&gt;5){menu=0;}}// меню<br />//INPUT KEY <br />&nbsp; &nbsp;if(digitalRead(14)==LOW){inp1=1;kkk++;delay(200);}<br />&nbsp; &nbsp;if(digitalRead(14)==HIGH&amp;&amp;inp1==1&amp;&amp;kkk&lt;5){inp1=2;kkk=0;}<br />&nbsp; &nbsp;if(inp1==2&amp;&amp;mute==0){inp1=0;in++;;cl();myEnc.write(0);time=millis();w=1;w2=1;if(in&gt;2){in=0;};audio();}// IN<br />//MUTE KEY<br />&nbsp; &nbsp;if(digitalRead(16)==LOW&amp;&amp;mute==0){mute=1;cl();w=0;w2=1;lcd.print(&quot;&nbsp; &nbsp; &nbsp; MUTE&nbsp; &nbsp; &nbsp;&quot;);menu=100;vol_old=vol;vol=0;audio();}// mute on<br />&nbsp; &nbsp;if(digitalRead(16)==LOW&amp;&amp;mute==1){mute=0;cl();time=millis();w=1;w2=1;menu=0;myEnc.write(0);vol=vol_old;audio();}// mute off</p><p>//MENU UP/DOWN IR&nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_1){menu++;cl();w=1;w2=1;<br />&nbsp; &nbsp; &nbsp;if(menu&gt;4){menu=0;}}// кнопка меню<br />//&nbsp; &nbsp; &nbsp;if(ir.value==IR_2){menu--;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;<br />//&nbsp; &nbsp; &nbsp;if(menu&lt;0){menu=4;}}// меню кнопка вниз<br />//INPUT IR&nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_5&amp;&amp;mute==0){in=1;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}<br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_8&amp;&amp;mute==0){in=0;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}<br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_9&amp;&amp;mute==0){in=2;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}<br />//MUTE IR<br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_6&amp;&amp;mute==0&amp;&amp;power==0){mute=1;gr1=0;gr2=0;cl();w=0;w2=1;<br />&nbsp; &nbsp; &nbsp;lcd.print(&quot;&nbsp; &nbsp; &nbsp; MUTE&nbsp; &nbsp; &nbsp;&quot;);menu=100;vol_old=vol;vol=0;audio();}// mute on<br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_6&amp;&amp;mute==1&amp;&amp;power==0){mute=0;gr1=0;gr2=0;cl();<br />&nbsp; &nbsp; &nbsp;time=millis();w=1;w2=1;menu=0;myEnc.write(0);vol=vol_old;audio();}// mute off<br />}<br />//////////////////////////////////////// Volume 0...63 дБ ////////////////////////////////////<br /> if(menu==0){&nbsp; &nbsp; &nbsp;<br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_3){vol++;gr1=1;gr2=0;cl1();w2=1;<br />&nbsp; &nbsp; &nbsp;if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &gt; <br />&nbsp; &nbsp; &nbsp;if(ir.value==0xFFFFFFFF and gr1==1){vol++;gr2=0;cl1();w2=1;<br />&nbsp; &nbsp; &nbsp;if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;<br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_4){vol--;gr1=0;gr2=1;cl1();w2=1;<br />&nbsp; &nbsp; &nbsp;if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &lt;<br />&nbsp; &nbsp; &nbsp;if(ir.value==0xFFFFFFFF and gr2==1){vol--;gr1=0;cl1();w2=1;<br />&nbsp; &nbsp; &nbsp;if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;<br />&nbsp; &nbsp;<br />&nbsp; &nbsp; if (newPosition != oldPosition) {oldPosition = newPosition;<br />&nbsp; &nbsp; vol=vol+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;w2=1;<br />&nbsp; &nbsp; if(vol&gt;63){vol=63;}if(vol&lt;0){vol=0;}audio();}<br />&nbsp; &nbsp;<br />&nbsp; &nbsp;lcd.setCursor(0,0);lcd.print(&quot;Volume &quot;);<br />&nbsp; &nbsp;lcd.print(-78.75+(float)vol*1.25,0);<br />&nbsp; &nbsp;lcd.print(&quot; &quot;);<br />&nbsp; &nbsp;lcd.setCursor(11,0);lcd.print(&quot;dB&quot;);&nbsp; &nbsp;<br />&nbsp; &nbsp;lcd.setCursor(14,0);<br />&nbsp; &nbsp;switch(in){<br />&nbsp; &nbsp;case 0: lcd.print(&quot;BT&quot;);break;<br />&nbsp; &nbsp;case 1: lcd.print(&quot;AU&quot;);break;<br />&nbsp; &nbsp;case 2: lcd.print(&quot;FM&quot;);break;<br />}<br />&nbsp; &nbsp;vol_d=vol-15;<br />&nbsp; &nbsp;if(w2==1){<br />&nbsp; &nbsp;for(z=0,z0=0,z1=0;z&lt;=vol_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}<br />&nbsp; &nbsp;if(z1==1){lcd.setCursor(z0,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1,1);lcd.print(&quot;&nbsp; &nbsp;&quot;);}}<br />&nbsp; &nbsp;if(z1==3){lcd.setCursor(z0,1);lcd.write((uint8_t)1);}<br />&nbsp; &nbsp;if(z1==2){lcd.setCursor(z0,1);lcd.write((uint8_t)2);}w2=0;}}<br />//////////////////////////////////////////////////////////////////////////////////////////////</p><p>/////////////////////// индикация тембр НЧ -14...14 дБ //////////////////////////////////////<br />&nbsp; &nbsp;if(menu==1){&nbsp; &nbsp;<br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_3){bass++;gr1=1;gr2=0;cl1();w2=1;<br />&nbsp; &nbsp; &nbsp;if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &gt; <br />&nbsp; &nbsp; &nbsp;if(ir.value==0xFFFFFFFF and gr1==1){bass++;gr2=0;cl1();w2=1;<br />&nbsp; &nbsp; &nbsp;if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;<br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_4){bass--;gr1=0;gr2=1;cl1();w2=1;<br />&nbsp; &nbsp; &nbsp;if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &lt; <br />&nbsp; &nbsp; &nbsp;if(ir.value==0xFFFFFFFF and gr2==1){bass--;gr1=0;cl1();w2=1;<br />&nbsp; &nbsp; &nbsp;if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;</p><p>&nbsp; &nbsp; if (newPosition != oldPosition) {<br />&nbsp; &nbsp; oldPosition = newPosition;<br />&nbsp; &nbsp; bass=bass+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;w2=1;<br />&nbsp; &nbsp; if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();} <br />&nbsp; &nbsp; lcd.setCursor(0,0);lcd.print(&quot;Bass&nbsp; &nbsp; &quot;);<br />&nbsp; &nbsp; lcd.print(&quot; &quot;);lcd.print(bass*2);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);bass_d=bass*2+15;<br />&nbsp; &nbsp; if(w2==1){<br />&nbsp; &nbsp; for(z=0,z0=0,z1=0;z&lt;=bass_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}<br />&nbsp; &nbsp; if(z1==1){lcd.setCursor(z0+3,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1+3,1);lcd.print(&quot;&nbsp; &nbsp;&quot;);}}<br />&nbsp; &nbsp; if(z1==3){lcd.setCursor(z0+3,1);lcd.write((uint8_t)1);}<br />&nbsp; &nbsp; if(z1==2){lcd.setCursor(z0+3,1);lcd.write((uint8_t)2);}w2=0;}}<br />////////////////////////////////////////////////////////////////////////////////////////////////</p><p>/////////////////////// индикация тембр ВЧ -14...14 дБ ////////////////////////////////////////<br />&nbsp; &nbsp;if(menu==2){&nbsp; &nbsp;<br />&nbsp; &nbsp;if(ir.value==IR_3){treb++;gr1=1;gr2=0;cl1();w2=1;<br />&nbsp; &nbsp;if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &gt; <br />&nbsp; &nbsp;if(ir.value==0xFFFFFFFF and gr1==1){treb++;gr2=0;cl1();w2=1;<br />&nbsp; &nbsp;if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;<br />&nbsp; &nbsp;if(ir.value==IR_4){treb--;gr1=0;gr2=1;cl1();w2=1;<br />&nbsp; &nbsp;if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &lt; <br />&nbsp; &nbsp;if(ir.value==0xFFFFFFFF and gr2==1){treb--;gr1=0;cl1();w2=1;<br />&nbsp; &nbsp;if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;<br />&nbsp; &nbsp;<br />&nbsp; &nbsp;if (newPosition != oldPosition) {<br />&nbsp; &nbsp;oldPosition = newPosition;<br />&nbsp; &nbsp;treb=treb+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;w2=1;<br />&nbsp; &nbsp;if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();} <br />&nbsp; &nbsp;lcd.setCursor(0,0);lcd.print(&quot;Treble&nbsp; &quot;);<br />&nbsp; &nbsp;lcd.print(&quot; &quot;);lcd.print(treb*2);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);treb_d=treb*2+15;<br />&nbsp; &nbsp;if(w2==1){<br />&nbsp; &nbsp;for(z=0,z0=0,z1=0;z&lt;=treb_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}<br />&nbsp; &nbsp;if(z1==1){lcd.setCursor(z0+3,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1+3,1);lcd.print(&quot;&nbsp; &nbsp;&quot;);}}<br />&nbsp; &nbsp;if(z1==3){lcd.setCursor(z0+3,1);lcd.write((uint8_t)1);}<br />&nbsp; &nbsp;if(z1==2){lcd.setCursor(z0+3,1);lcd.write((uint8_t)2);}w2=0;}}</p><p>////////////////////////////////////// BALANCE //////////////////////////////////////////////<br />&nbsp; &nbsp;if(menu==3){<br />&nbsp; &nbsp; if(ir.value==IR_3){lf++;lr++;rf--;rr--;cl1();<br />&nbsp; &nbsp; lcd.clear();w=1;w2=1;//кнопка &gt;<br />&nbsp; &nbsp; if(lf&gt;10){lf=10;}if(rf&lt;0){rf=0;}if(lr&gt;10){lr=10;}if(rr&lt;0){rr=0;}audio();}<br />&nbsp; &nbsp; if(ir.value==IR_4){lf--;lr--;rf++;rr++;cl1();<br />&nbsp; &nbsp; lcd.clear();w=1;w2=1;//кнопка &lt;<br />&nbsp; &nbsp; if(lf&lt;0){lf=0;}if(rf&gt;10){rf=10;}if(lr&lt;0){lr=0;}if(rr&gt;10){rr=10;}audio();}<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; if (newPosition != oldPosition){<br />&nbsp; &nbsp; oldPosition = newPosition;<br />&nbsp; &nbsp; lf=lf+newPosition;lr=lr+newPosition;rf=rf-newPosition;rr=rr-newPosition;myEnc.write(0);newPosition=0;<br />&nbsp; &nbsp; lcd.clear();time=millis();w=1;w2=1;<br />&nbsp; &nbsp; if(lf&gt;10){lf=10;}if(lf&lt;0){lf=0;}if(rf&gt;10){rf=10;}if(rf&lt;0){rf=0;}<br />&nbsp; &nbsp; if(lr&gt;10){lr=10;}if(lr&lt;0){lr=0;}if(rr&gt;10){rr=10;}if(rr&lt;0){rr=0;}audio();} </p><p>&nbsp; &nbsp;lcd.setCursor(0,0);<br />&nbsp; &nbsp;if(w2==1){<br />&nbsp; &nbsp;if(lf-5&gt;=0){lcd.print(&quot;-&quot;);}else{lcd.print(&quot;+&quot;);}<br />&nbsp; &nbsp;lcd.print(abs(rf-5));lcd.print(&quot; dB &quot;);<br />&nbsp; &nbsp;lcd.print(&quot; &lt;&gt;&nbsp; &quot;);<br />&nbsp; &nbsp;if(rf-5&gt;=0){lcd.print(&quot;-&quot;);}else{lcd.print(&quot;+&quot;);}<br />&nbsp; &nbsp;lcd.print(abs(rf-5));lcd.print(&quot; dB &quot;);<br />&nbsp; &nbsp;lcd.setCursor(0,1);lcd.print(&quot;L&quot;);<br />&nbsp; &nbsp;lcd.setCursor(15,1);lcd.print(&quot;R&quot;);&nbsp; <br />&nbsp; &nbsp;if(lf-5&lt;0){lcd.setCursor(lf-5+7,1);lcd.write((uint8_t)0);}<br />&nbsp; &nbsp;if(lf-5&gt;0){lcd.setCursor(lf-5+8,1);lcd.write((uint8_t)0);}<br />&nbsp; &nbsp;if(lf-5==0){lcd.setCursor(7,1);lcd.write((uint8_t)0);lcd.setCursor(8,1);lcd.write((uint8_t)0);}w2=0;}<br />&nbsp; &nbsp;}</p><p>/////////////////////////////////// LOUDNESS ////////////////////////////////////////<br />&nbsp; &nbsp; if(menu==4){<br />&nbsp; &nbsp; if(ir.value==IR_3){loud++;cl1();if(loud&gt;1){loud=0;}w=1;w2=1;audio();}<br />&nbsp; &nbsp; if (newPosition != oldPosition) {<br />&nbsp; &nbsp; oldPosition = newPosition;<br />&nbsp; &nbsp; loud=loud+newPosition;myEnc.write(0);newPosition=0;lcd.clear();time=millis();w=1;w2=1;<br />&nbsp; &nbsp; if(loud&gt;1){loud=0;}if(loud&lt;0){loud=1;}audio();}<br />&nbsp; &nbsp; lcd.setCursor(0,0);lcd.print(&quot;LOUDNESS &quot;);<br />&nbsp; &nbsp; if(loud==1){lcd.print(&quot;ON &quot;);}else{lcd.print(&quot;OFF&quot;);}<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; } </p><p>///////////////////////////////////// INPUT GAIN //////////////////////////////////////////</p><p> if(menu==5){<br />&nbsp; &nbsp; &nbsp; if(in==0){gain=gain1;}<br />&nbsp; &nbsp; &nbsp; if(in==1){gain=gain2;}<br />&nbsp; &nbsp; &nbsp; if(in==2){gain=gain3;}<br />/*<br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_3);gain++;gr1=1;gr2=0;cl1();w2=1;// кнопка &gt;<br />&nbsp; &nbsp; &nbsp;if(ir.value==IR_4);gain--;gr1=0;gr2=1;cl1();w2=1;// кнопка &lt;<br />&nbsp; &nbsp; &nbsp;if(gain&gt;3){gain=3;}if(gain&lt;0){gain=0;}audio();} <br />*/<br />&nbsp; &nbsp; &nbsp;if (newPosition != oldPosition) {<br />&nbsp; &nbsp; &nbsp;oldPosition = newPosition;<br />&nbsp; &nbsp; &nbsp;gain=gain+newPosition;myEnc.write(0);newPosition=0;lcd.clear();time=millis();w=1;w2=1;<br />&nbsp; &nbsp; &nbsp;if(gain&gt;3){gain=3;}if(gain&lt;0){gain=0;}audio();} </p><p>&nbsp; &nbsp; &nbsp; if(in==0){gain1=gain;}<br />&nbsp; &nbsp; &nbsp; if(in==1){gain2=gain;}<br />&nbsp; &nbsp; &nbsp; if(in==2){gain3=gain;}<br />&nbsp; &nbsp; <br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot; INPUT &quot;);lcd.print(in+1);<br />&nbsp; lcd.setCursor(0,1);lcd.print(&quot; Gain &quot;);lcd.print((float)gain*3.75);lcd.print(&quot; dB &quot;);}</p><p>//////////////////////////////////////////////////////////////////////////////////////////</p><p>&nbsp; &nbsp;if(millis()-time&gt;5000 &amp;&amp; w==1 &amp;&amp; power==0 &amp;&amp; mute == 0){<br />&nbsp; &nbsp; &nbsp;EEPROM.update(0,vol);<br />&nbsp; &nbsp; &nbsp;EEPROM.update(1,bass+7);<br />&nbsp; &nbsp; &nbsp;EEPROM.update(2,treb+7);<br />&nbsp; &nbsp; &nbsp;EEPROM.update(3,in);<br />&nbsp; &nbsp; &nbsp;EEPROM.update(4,gain1);EEPROM.update(5,gain2);EEPROM.update(6,gain3);<br />&nbsp; &nbsp; &nbsp;EEPROM.update(7,loud);<br />&nbsp; &nbsp; &nbsp;EEPROM.update(8,lr);EEPROM.update(9,rr);EEPROM.update(10,lf);EEPROM.update(11,rf);<br />//&nbsp; &nbsp; &nbsp;lcd.clear();<br />&nbsp; &nbsp; &nbsp;w=0,w2=1;menu=0;cl();}<br /> }// loop<br /> void cl1(){ir.value=0;delay(50);}<br /> void cl(){ir.value=0;delay(300);lcd.clear();}</p><p> void audio(){<br />&nbsp; tda.setVolume(vol); // громкость 0...63<br />&nbsp; tda.setAttLR(lr);&nbsp; &nbsp;// аттенюатор LR 0...31<br />&nbsp; tda.setAttRR(rr);&nbsp; &nbsp;// аттенюатор RR 0...31<br />&nbsp; tda.setAttLF(lf);&nbsp; &nbsp;// аттенюатор LF 0...31<br />&nbsp; tda.setAttRF(rf);&nbsp; &nbsp;// аттенюатор RF 0...31<br />&nbsp; tda.setSwitch(in,loud,gain); // вход 0...2, тонкомпенсация 1 вкл 0 выкл, усиление 0...3<br />&nbsp; tda.setBass(bass);&nbsp; &nbsp; // тембр НЧ -7...+7<br />&nbsp; tda.setTreble(treb);&nbsp; // тембр ВЧ -7...+7</p>]]></description>
			<author><![CDATA[null@example.com (www.aleksandrov74)]]></author>
			<pubDate>Thu, 12 Jan 2023 14:16:07 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7168#p7168</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7164#p7164</link>
			<description><![CDATA[<p>Опубликуйте скетч который надо изменить.</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 12 Jan 2023 00:21:01 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7164#p7164</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7134#p7134</link>
			<description><![CDATA[<div class="codebox"><pre><code>#define IR_1 0xFD8A75 // Кнопка MENU
#define IR_3 0xFD7887 // Кнопка +
#define IR_4 0xFD4AB5 // Кнопка -
#define IR_5 0xFD18E7 // Кнопка IN/AUX
#define IR_6 0xFD629D // Кнопка MUTE
#define IR_7 0xFD28D7 // Кнопка POWER
#define IR_8 0xFD22DD // Кнопка BT
#define IR_9 0xFDB04F // Кнопка Radio   


#include &lt;Wire.h&gt;
#include &lt;MsTimer2.h&gt;
#include &lt;LiquidCrystal.h&gt;
#include &lt;Encoder.h&gt;
#include &lt;EEPROM.h&gt;
#include &lt;TDA7313.h&gt;
#include &lt;boarddefs.h&gt;
#include &lt;IRremote.h&gt;
  IRrecv irrecv(10); // указываем вывод модуля IR приемника
  TDA7313 tda;
  decode_results ir;
  Encoder myEnc(3, 2);//CLK, DT подключение энкодера
  LiquidCrystal lcd(4, 5, 6, 7, 8, 9); // номер вывода дисплея:RS,E,D4,D5,D6,D7 | rw=GND
   byte a1[8]={0b00000,0b10101,0b10101,0b10101,0b10101,0b10101,0b10101,0b00000};
   byte a2[8]={0b00000,0b10100,0b10100,0b10100,0b10100,0b10100,0b10100,0b00000};
   byte a3[8]={0b00000,0b10000,0b10000,0b10000,0b10000,0b10000,0b10000,0b00000};
   unsigned long newPosition,time,time1,oldPosition  = -999;
   int vol,w1,w2=1,gr1,gr2,vol_d,menu,w,z,z0,z1,bass_d,bass,treb_d,treb,i,loud,in,mute,power,gain,gain1,gain2,gain3,lr,rr,lf,rf,kkk,vol_old,inp,inp1;

void setup(){ 
   Serial.begin(9600);
   Wire.begin();irrecv.enableIRIn(); // запускаем модуль I2C,IR
   lcd.begin(16, 2);
   lcd.createChar(0,a1);lcd.createChar(1,a2);lcd.createChar(2,a3);
   pinMode(15,INPUT);// КНОПКА ЭНКОДЕРA
   pinMode(14,INPUT_PULLUP);// КНОПКА IN
   pinMode(16,INPUT_PULLUP);// КНОПКА MUTE
   pinMode(12,OUTPUT);//Питание для источника   
   pinMode(13,OUTPUT);//Питание STANDBY
   
    MsTimer2::set(3, to_Timer);MsTimer2::start();
    vol = EEPROM.read(0);bass = EEPROM.read(1)-7;treb = EEPROM.read(2)-7;in = EEPROM.read(3);
    gain1 = EEPROM.read(4);gain2 = EEPROM.read(5);gain3 = EEPROM.read(6);loud = EEPROM.read(7);
    lr = EEPROM.read(8);rr = EEPROM.read(9);lf = EEPROM.read(10);rf = EEPROM.read(11);
    if(in==0){gain=gain1;}
    if(in==1){gain=gain2;}
    if(in==2){gain=gain3;}
    lcd.setCursor(0,0);lcd.print(&quot;TDA7313 IR POWER&quot;);
    lcd.setCursor(3,1);lcd.print(&quot;  Ver. 3  &quot;);
    delay(2000);audio();
    lcd.clear();}
    
void to_Timer(){newPosition = myEnc.read()/4;}
 
void loop(){

// IR приемник  
  if ( irrecv.decode( &amp;ir )){Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);
  irrecv.resume();time=millis();w=1;w1=1;}// IR приемник - чтение, в мониторе порта отображаются коды кнопок
  if(ir.value==0){gr1=0;gr2=0;}// запрет нажатий не активных кнопок пульта
//IR POWER 
   if(ir.value==IR_7&amp;&amp;power==0){power=1;mute=1;audio();gr1=0;gr2=0;cl();
   lcd.setCursor(0,0);lcd.print(&quot;    STANDBY   &quot;);w=0;menu=100;vol=vol_old;audio();delay(1000);}// power off
   if(ir.value==(IR_7)&amp;&amp;power==1){power=0;mute=0;audio();gr1=0;gr2=0;cl();
   menu=0;time=millis();w=1;w2=1;myEnc.write(0);delay(500);}// power on
//KEY POWER  
   if(kkk&gt;4){inp=1;kkk=0;}
   if(inp==1 &amp;&amp; power==0){inp=0;power=1;mute=1;audio();gr1=0;gr2=0;cl();
   lcd.setCursor(0,0);lcd.print(&quot;    STANDBY   &quot;);w=0;menu=100;vol=vol_old;audio();delay(1000);}// power off
   if(digitalRead(14)==LOW &amp;&amp; power==1){inp1=0;inp=0;power=0;mute=0;audio();gr1=0;gr2=0;cl();
   menu=0;time=millis();w=1;w2=1;myEnc.write(0);delay(500);}// power on
//LED   
   if(in==1&amp;&amp;power==0){digitalWrite(12,HIGH);}else{digitalWrite(12,LOW);} // INPUT POWER
   if(power==0){digitalWrite(13,HIGH);}else{digitalWrite(13,LOW);} // выход STANDBY
//Управление подсветкой
//   if(power==0){lcd.backlight();}else{lcd.noBacklight();}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
  if(power==0){
//MENU UP/DOWN KEY
   if(digitalRead(15)==LOW){menu++;cl();myEnc.write(0);i++;time=millis();
   w=1;w2=1;if(menu&gt;5){menu=0;}}// меню
//INPUT KEY 
   if(digitalRead(14)==LOW){inp1=1;kkk++;delay(200);}
   if(digitalRead(14)==HIGH&amp;&amp;inp1==1&amp;&amp;kkk&lt;5){inp1=2;kkk=0;}
   if(inp1==2&amp;&amp;mute==0){inp1=0;in++;;cl();myEnc.write(0);time=millis();w=1;w2=1;if(in&gt;2){in=0;};audio();}// IN
//MUTE KEY
   if(digitalRead(16)==LOW&amp;&amp;mute==0){mute=1;cl();w=0;w2=1;lcd.print(&quot;      MUTE     &quot;);menu=100;vol_old=vol;vol=0;audio();}// mute on
   if(digitalRead(16)==LOW&amp;&amp;mute==1){mute=0;cl();time=millis();w=1;w2=1;menu=0;myEnc.write(0);vol=vol_old;audio();}// mute off

//MENU UP/DOWN IR    
     if(ir.value==IR_1){menu++;cl();w=1;w2=1;
     if(menu&gt;4){menu=0;}}// кнопка меню
//     if(ir.value==IR_2){menu--;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;
//     if(menu&lt;0){menu=4;}}// меню кнопка вниз
//INPUT IR    
     if(ir.value==IR_5&amp;&amp;mute==0){in=1;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}
     if(ir.value==IR_8&amp;&amp;mute==0){in=0;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}
     if(ir.value==IR_9&amp;&amp;mute==0){in=2;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}
//MUTE IR
     if(ir.value==IR_6&amp;&amp;mute==0&amp;&amp;power==0){mute=1;gr1=0;gr2=0;cl();w=0;w2=1;
     lcd.print(&quot;      MUTE     &quot;);menu=100;vol_old=vol;vol=0;audio();}// mute on
     if(ir.value==IR_6&amp;&amp;mute==1&amp;&amp;power==0){mute=0;gr1=0;gr2=0;cl();
     time=millis();w=1;w2=1;menu=0;myEnc.write(0);vol=vol_old;audio();}// mute off
}
//////////////////////////////////////// Volume 0...63 дБ ////////////////////////////////////
 if(menu==0){     
     if(ir.value==IR_3){vol++;gr1=1;gr2=0;cl1();w2=1;
     if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &gt; 
     if(ir.value==0xFFFFFFFF and gr1==1){vol++;gr2=0;cl1();w2=1;
     if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==IR_4){vol--;gr1=0;gr2=1;cl1();w2=1;
     if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &lt;
     if(ir.value==0xFFFFFFFF and gr2==1){vol--;gr1=0;cl1();w2=1;
     if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   
    if (newPosition != oldPosition) {oldPosition = newPosition;
    vol=vol+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;w2=1;
    if(vol&gt;63){vol=63;}if(vol&lt;0){vol=0;}audio();}
   
   lcd.setCursor(0,0);lcd.print(&quot;Volume &quot;);
   lcd.print(-78.75+(float)vol*1.25,0);
   lcd.print(&quot; &quot;);
   lcd.setCursor(11,0);lcd.print(&quot;dB&quot;);   
   lcd.setCursor(14,0);
   switch(in){
   case 0: lcd.print(&quot;BT&quot;);break;
   case 1: lcd.print(&quot;AU&quot;);break;
   case 2: lcd.print(&quot;FM&quot;);break;
}
   vol_d=vol-15;
   if(w2==1){
   for(z=0,z0=0,z1=0;z&lt;=vol_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}
   if(z1==1){lcd.setCursor(z0,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1,1);lcd.print(&quot;   &quot;);}}
   if(z1==3){lcd.setCursor(z0,1);lcd.write((uint8_t)1);}
   if(z1==2){lcd.setCursor(z0,1);lcd.write((uint8_t)2);}w2=0;}}
//////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////// индикация тембр НЧ -14...14 дБ //////////////////////////////////////
   if(menu==1){   
     if(ir.value==IR_3){bass++;gr1=1;gr2=0;cl1();w2=1;
     if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &gt; 
     if(ir.value==0xFFFFFFFF and gr1==1){bass++;gr2=0;cl1();w2=1;
     if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==IR_4){bass--;gr1=0;gr2=1;cl1();w2=1;
     if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &lt; 
     if(ir.value==0xFFFFFFFF and gr2==1){bass--;gr1=0;cl1();w2=1;
     if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
 
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    bass=bass+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;w2=1;
    if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();} 
    lcd.setCursor(0,0);lcd.print(&quot;Bass    &quot;);
    lcd.print(&quot; &quot;);lcd.print(bass*2);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);bass_d=bass*2+15;
    if(w2==1){
    for(z=0,z0=0,z1=0;z&lt;=bass_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}
    if(z1==1){lcd.setCursor(z0+3,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1+3,1);lcd.print(&quot;   &quot;);}}
    if(z1==3){lcd.setCursor(z0+3,1);lcd.write((uint8_t)1);}
    if(z1==2){lcd.setCursor(z0+3,1);lcd.write((uint8_t)2);}w2=0;}}
////////////////////////////////////////////////////////////////////////////////////////////////
 
/////////////////////// индикация тембр ВЧ -14...14 дБ ////////////////////////////////////////
   if(menu==2){   
   if(ir.value==IR_3){treb++;gr1=1;gr2=0;cl1();w2=1;
   if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &gt; 
   if(ir.value==0xFFFFFFFF and gr1==1){treb++;gr2=0;cl1();w2=1;
   if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==IR_4){treb--;gr1=0;gr2=1;cl1();w2=1;
   if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &lt; 
   if(ir.value==0xFFFFFFFF and gr2==1){treb--;gr1=0;cl1();w2=1;
   if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   
   if (newPosition != oldPosition) {
   oldPosition = newPosition;
   treb=treb+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;w2=1;
   if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();} 
   lcd.setCursor(0,0);lcd.print(&quot;Treble  &quot;);
   lcd.print(&quot; &quot;);lcd.print(treb*2);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);treb_d=treb*2+15;
   if(w2==1){
   for(z=0,z0=0,z1=0;z&lt;=treb_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}
   if(z1==1){lcd.setCursor(z0+3,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1+3,1);lcd.print(&quot;   &quot;);}}
   if(z1==3){lcd.setCursor(z0+3,1);lcd.write((uint8_t)1);}
   if(z1==2){lcd.setCursor(z0+3,1);lcd.write((uint8_t)2);}w2=0;}}

////////////////////////////////////// BALANCE //////////////////////////////////////////////
   if(menu==3){
    if(ir.value==IR_3){lf++;lr++;rf--;rr--;cl1();
    lcd.clear();w=1;w2=1;//кнопка &gt;
    if(lf&gt;10){lf=10;}if(rf&lt;0){rf=0;}if(lr&gt;10){lr=10;}if(rr&lt;0){rr=0;}audio();}
    if(ir.value==IR_4){lf--;lr--;rf++;rr++;cl1();
    lcd.clear();w=1;w2=1;//кнопка &lt;
    if(lf&lt;0){lf=0;}if(rf&gt;10){rf=10;}if(lr&lt;0){lr=0;}if(rr&gt;10){rr=10;}audio();}
    
    if (newPosition != oldPosition){
    oldPosition = newPosition;
    lf=lf+newPosition;lr=lr+newPosition;rf=rf-newPosition;rr=rr-newPosition;myEnc.write(0);newPosition=0;
    lcd.clear();time=millis();w=1;w2=1;
    if(lf&gt;10){lf=10;}if(lf&lt;0){lf=0;}if(rf&gt;10){rf=10;}if(rf&lt;0){rf=0;}
    if(lr&gt;10){lr=10;}if(lr&lt;0){lr=0;}if(rr&gt;10){rr=10;}if(rr&lt;0){rr=0;}audio();} 

   lcd.setCursor(0,0);
   if(w2==1){
   if(lf-5&gt;=0){lcd.print(&quot;-&quot;);}else{lcd.print(&quot;+&quot;);}
   lcd.print(abs(rf-5));lcd.print(&quot; dB &quot;);
   lcd.print(&quot; &lt;&gt;  &quot;);
   if(rf-5&gt;=0){lcd.print(&quot;-&quot;);}else{lcd.print(&quot;+&quot;);}
   lcd.print(abs(rf-5));lcd.print(&quot; dB &quot;);
   lcd.setCursor(0,1);lcd.print(&quot;L&quot;);
   lcd.setCursor(15,1);lcd.print(&quot;R&quot;);  
   if(lf-5&lt;0){lcd.setCursor(lf-5+7,1);lcd.write((uint8_t)0);}
   if(lf-5&gt;0){lcd.setCursor(lf-5+8,1);lcd.write((uint8_t)0);}
   if(lf-5==0){lcd.setCursor(7,1);lcd.write((uint8_t)0);lcd.setCursor(8,1);lcd.write((uint8_t)0);}w2=0;}
   }

/////////////////////////////////// LOUDNESS ////////////////////////////////////////
    if(menu==4){
    if(ir.value==IR_3){loud++;cl1();if(loud&gt;1){loud=0;}w=1;w2=1;audio();}
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    loud=loud+newPosition;myEnc.write(0);newPosition=0;lcd.clear();time=millis();w=1;w2=1;
    if(loud&gt;1){loud=0;}if(loud&lt;0){loud=1;}audio();}
    lcd.setCursor(0,0);lcd.print(&quot;LOUDNESS &quot;);
    if(loud==1){lcd.print(&quot;ON &quot;);}else{lcd.print(&quot;OFF&quot;);}
    
    } 

///////////////////////////////////// INPUT GAIN //////////////////////////////////////////
 
 if(menu==5){
      if(in==0){gain=gain1;}
      if(in==1){gain=gain2;}
      if(in==2){gain=gain3;}
/*
     if(ir.value==IR_3);gain++;gr1=1;gr2=0;cl1();w2=1;// кнопка &gt;
     if(ir.value==IR_4);gain--;gr1=0;gr2=1;cl1();w2=1;// кнопка &lt;
     if(gain&gt;3){gain=3;}if(gain&lt;0){gain=0;}audio();} 
*/
     if (newPosition != oldPosition) {
     oldPosition = newPosition;
     gain=gain+newPosition;myEnc.write(0);newPosition=0;lcd.clear();time=millis();w=1;w2=1;
     if(gain&gt;3){gain=3;}if(gain&lt;0){gain=0;}audio();} 
 
      if(in==0){gain1=gain;}
      if(in==1){gain2=gain;}
      if(in==2){gain3=gain;}
    
  lcd.setCursor(0,0);lcd.print(&quot; INPUT &quot;);lcd.print(in+1);
  lcd.setCursor(0,1);lcd.print(&quot; Gain &quot;);lcd.print((float)gain*3.75);lcd.print(&quot; dB &quot;);}

//////////////////////////////////////////////////////////////////////////////////////////
 
   if(millis()-time&gt;5000 &amp;&amp; w==1 &amp;&amp; power==0 &amp;&amp; mute == 0){
     EEPROM.update(0,vol);
     EEPROM.update(1,bass+7);
     EEPROM.update(2,treb+7);
     EEPROM.update(3,in);
     EEPROM.update(4,gain1);EEPROM.update(5,gain2);EEPROM.update(6,gain3);
     EEPROM.update(7,loud);
     EEPROM.update(8,lr);EEPROM.update(9,rr);EEPROM.update(10,lf);EEPROM.update(11,rf);
//     lcd.clear();
     w=0,w2=1;menu=0;cl();}
 }// loop
 void cl1(){ir.value=0;delay(50);}
 void cl(){ir.value=0;delay(300);lcd.clear();}
 
 void audio(){
  tda.setVolume(vol); // громкость 0...63
  tda.setAttLR(lr);   // аттенюатор LR 0...31
  tda.setAttRR(rr);   // аттенюатор RR 0...31
  tda.setAttLF(lf);   // аттенюатор LF 0...31
  tda.setAttRF(rf);   // аттенюатор RF 0...31
  tda.setSwitch(in,loud,gain); // вход 0...2, тонкомпенсация 1 вкл 0 выкл, усиление 0...3
  tda.setBass(bass);    // тембр НЧ -7...+7
  tda.setTreble(treb);  // тембр ВЧ -7...+7
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sun, 25 Dec 2022 12:15:01 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7134#p7134</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7133#p7133</link>
			<description><![CDATA[<p>Обычный всмысле 1602 но без i2c модуля</p>]]></description>
			<author><![CDATA[null@example.com (ilovekatya16)]]></author>
			<pubDate>Sun, 25 Dec 2022 03:15:22 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7133#p7133</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7132#p7132</link>
			<description><![CDATA[<p>привет, тут ктото есть? может у кого-то есть скетч с mute и управлением st-by с пульта под плату из статьи но не под i2c дисплей, а под обычный? мпасибо заранее<br />сам не могу ещё так как только учусь(</p>]]></description>
			<author><![CDATA[null@example.com (ilovekatya16)]]></author>
			<pubDate>Sun, 25 Dec 2022 00:33:32 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7132#p7132</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6991#p6991</link>
			<description><![CDATA[<p>Привет) Есть идея использовать 2 а может и 3 аудио процессора ля построения 3хполосной акустики, либо домашнего кинотеатра. но смысл будет в том чтоб отдельно настраивались частоты на каждой стереопаре. регулировалась громкость как всех одновременно стереоканалов так и по отдельности для согласования уровней для каждой стереопары. Я понимаю что в каждом процессоре 4 выходных канала, но нужно только 2 канала от каждого процессора. Можно ли это осуществить ?Думаю задумка интересная, к тому же может быть использована в автозвуке. Ведь магнитолы процессорные стоят от 5-6 тысяч</p>]]></description>
			<author><![CDATA[null@example.com (serega_72m)]]></author>
			<pubDate>Fri, 04 Nov 2022 19:03:47 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6991#p6991</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6633#p6633</link>
			<description><![CDATA[<p>Скетча нет.</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 16 Sep 2022 13:20:55 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6633#p6633</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6630#p6630</link>
			<description><![CDATA[<p>у вас есть скйтч для tda7463d</p>]]></description>
			<author><![CDATA[null@example.com (shuhrat.ps)]]></author>
			<pubDate>Fri, 16 Sep 2022 10:18:49 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6630#p6630</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6276#p6276</link>
			<description><![CDATA[<p>нет</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 16 Jun 2022 06:08:24 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6276#p6276</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6275#p6275</link>
			<description><![CDATA[<div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p><a href="http://rcl-radio.ru/?p=127449">http://rcl-radio.ru/?p=127449</a></p></blockquote></div><p>А с анализатором спектра нету?</p>]]></description>
			<author><![CDATA[null@example.com (Art342)]]></author>
			<pubDate>Thu, 16 Jun 2022 04:09:42 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6275#p6275</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6274#p6274</link>
			<description><![CDATA[<p><a href="http://rcl-radio.ru/?p=127449">http://rcl-radio.ru/?p=127449</a></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 16 Jun 2022 00:18:48 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6274#p6274</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6273#p6273</link>
			<description><![CDATA[<div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Mute с пульта исправил</p><div class="codebox"><pre><code>#define IR_1 0xFD8A75 // Кнопка MENU
#define IR_3 0xFD7887 // Кнопка +
#define IR_4 0xFD4AB5 // Кнопка -
#define IR_5 0xFD18E7 // Кнопка IN/AUX
#define IR_6 0xFD629D // Кнопка MUTE
#define IR_7 0xFD28D7 // Кнопка POWER
#define IR_8 0xFD22DD // Кнопка BT
#define IR_9 0xFDB04F // Кнопка Radio   


#include &lt;Wire.h&gt;
#include &lt;MsTimer2.h&gt;
#include &lt;LiquidCrystal_I2C.h&gt;
#include &lt;Encoder.h&gt;
#include &lt;EEPROM.h&gt;
#include &lt;TDA7313.h&gt;
#include &lt;boarddefs.h&gt;
#include &lt;IRremote.h&gt;
  IRrecv irrecv(10); // указываем вывод модуля IR приемника
  TDA7313 tda;
  decode_results ir;
  Encoder myEnc(3, 2);//CLK, DT подключение энкодера
  LiquidCrystal_I2C lcd(0x3F,16,2);  // Устанавливаем дисплей 
   byte a1[8]={0b00000,0b10101,0b10101,0b10101,0b10101,0b10101,0b10101,0b00000};
   byte a2[8]={0b00000,0b10100,0b10100,0b10100,0b10100,0b10100,0b10100,0b00000};
   byte a3[8]={0b00000,0b10000,0b10000,0b10000,0b10000,0b10000,0b10000,0b00000};
   unsigned long newPosition,time,time1,oldPosition  = -999;
   int vol,w1,w2=1,gr1,gr2,vol_d,menu,w,z,z0,z1,bass_d,bass,treb_d,treb,i,loud,in,mute,power,gain,gain1,gain2,gain3,lr,rr,lf,rf,kkk,vol_old,inp,inp1;

void setup(){ 
   Serial.begin(9600);
   Wire.begin();irrecv.enableIRIn(); // запускаем модуль I2C,IR
   lcd.init();lcd.backlight();
   lcd.createChar(0,a1);lcd.createChar(1,a2);lcd.createChar(2,a3);
   pinMode(15,INPUT);// КНОПКА ЭНКОДЕРA
   pinMode(14,INPUT_PULLUP);// КНОПКА IN
   pinMode(16,INPUT_PULLUP);// КНОПКА MUTE
   pinMode(12,OUTPUT);//Питание для источника   
   pinMode(13,OUTPUT);//Питание STANDBY
   
    MsTimer2::set(3, to_Timer);MsTimer2::start();
    vol = EEPROM.read(0);bass = EEPROM.read(1)-7;treb = EEPROM.read(2)-7;in = EEPROM.read(3);
    gain1 = EEPROM.read(4);gain2 = EEPROM.read(5);gain3 = EEPROM.read(6);loud = EEPROM.read(7);
    lr = EEPROM.read(8);rr = EEPROM.read(9);lf = EEPROM.read(10);rf = EEPROM.read(11);
    if(in==0){gain=gain1;}
    if(in==1){gain=gain2;}
    if(in==2){gain=gain3;}
    lcd.setCursor(0,0);lcd.print(&quot;TDA7313 IR POWER&quot;);
    lcd.setCursor(3,1);lcd.print(&quot;  Ver. 3  &quot;);
    delay(2000);audio();
    lcd.clear();}
    
void to_Timer(){newPosition = myEnc.read()/4;}
 
void loop(){

// IR приемник  
  if ( irrecv.decode( &amp;ir )){Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);
  irrecv.resume();time=millis();w=1;w1=1;}// IR приемник - чтение, в мониторе порта отображаются коды кнопок
  if(ir.value==0){gr1=0;gr2=0;}// запрет нажатий не активных кнопок пульта
//IR POWER 
   if(ir.value==IR_7&amp;&amp;power==0){power=1;mute=1;audio();gr1=0;gr2=0;cl();
   lcd.setCursor(0,0);lcd.print(&quot;    STANDBY   &quot;);w=0;menu=100;vol=vol_old;audio();delay(1000);}// power off
   if(ir.value==(IR_7)&amp;&amp;power==1){power=0;mute=0;audio();gr1=0;gr2=0;cl();
   menu=0;time=millis();w=1;w2=1;myEnc.write(0);delay(500);}// power on
//KEY POWER  
   if(kkk&gt;4){inp=1;kkk=0;}
   if(inp==1 &amp;&amp; power==0){inp=0;power=1;mute=1;audio();gr1=0;gr2=0;cl();
   lcd.setCursor(0,0);lcd.print(&quot;    STANDBY   &quot;);w=0;menu=100;vol=vol_old;audio();delay(1000);}// power off
   if(digitalRead(14)==LOW &amp;&amp; power==1){inp1=0;inp=0;power=0;mute=0;audio();gr1=0;gr2=0;cl();
   menu=0;time=millis();w=1;w2=1;myEnc.write(0);delay(500);}// power on
//LED   
   if(in==1&amp;&amp;power==0){digitalWrite(12,HIGH);}else{digitalWrite(12,LOW);} // INPUT POWER
   if(power==0){digitalWrite(13,HIGH);}else{digitalWrite(13,LOW);} // выход STANDBY
//Управление подсветкой
   if(power==0){lcd.backlight();}else{lcd.noBacklight();}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
  if(power==0){
//MENU UP/DOWN KEY
   if(digitalRead(15)==LOW){menu++;cl();myEnc.write(0);i++;time=millis();
   w=1;w2=1;if(menu&gt;5){menu=0;}}// меню
//INPUT KEY 
   if(digitalRead(14)==LOW){inp1=1;kkk++;delay(200);}
   if(digitalRead(14)==HIGH&amp;&amp;inp1==1&amp;&amp;kkk&lt;5){inp1=2;kkk=0;}
   if(inp1==2&amp;&amp;mute==0){inp1=0;in++;;cl();myEnc.write(0);time=millis();w=1;w2=1;if(in&gt;2){in=0;};audio();}// IN
//MUTE KEY
   if(digitalRead(16)==LOW&amp;&amp;mute==0){mute=1;cl();w=0;w2=1;lcd.print(&quot;      MUTE     &quot;);menu=100;vol_old=vol;vol=0;audio();}// mute on
   if(digitalRead(16)==LOW&amp;&amp;mute==1){mute=0;cl();time=millis();w=1;w2=1;menu=0;myEnc.write(0);vol=vol_old;audio();}// mute off

//MENU UP/DOWN IR    
     if(ir.value==IR_1){menu++;cl();w=1;w2=1;
     if(menu&gt;4){menu=0;}}// кнопка меню
//     if(ir.value==IR_2){menu--;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;
//     if(menu&lt;0){menu=4;}}// меню кнопка вниз
//INPUT IR    
     if(ir.value==IR_5&amp;&amp;mute==0){in=1;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}
     if(ir.value==IR_8&amp;&amp;mute==0){in=0;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}
     if(ir.value==IR_9&amp;&amp;mute==0){in=2;gr1=0;gr2=0;cl();time=millis();w=1;w2=1;audio();}
//MUTE IR
     if(ir.value==IR_6&amp;&amp;mute==0&amp;&amp;power==0){mute=1;gr1=0;gr2=0;cl();w=0;w2=1;
     lcd.print(&quot;      MUTE     &quot;);menu=100;vol_old=vol;vol=0;audio();}// mute on
     if(ir.value==IR_6&amp;&amp;mute==1&amp;&amp;power==0){mute=0;gr1=0;gr2=0;cl();
     time=millis();w=1;w2=1;menu=0;myEnc.write(0);vol=vol_old;audio();}// mute off
}
//////////////////////////////////////// Volume 0...63 дБ ////////////////////////////////////
 if(menu==0){     
     if(ir.value==IR_3){vol++;gr1=1;gr2=0;cl1();w2=1;
     if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &gt; 
     if(ir.value==0xFFFFFFFF and gr1==1){vol++;gr2=0;cl1();w2=1;
     if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==IR_4){vol--;gr1=0;gr2=1;cl1();w2=1;
     if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &lt;
     if(ir.value==0xFFFFFFFF and gr2==1){vol--;gr1=0;cl1();w2=1;
     if(vol&lt;0){vol=0;}if(vol&gt;63){vol=63;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   
    if (newPosition != oldPosition) {oldPosition = newPosition;
    vol=vol+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;w2=1;
    if(vol&gt;63){vol=63;}if(vol&lt;0){vol=0;}audio();}
   
   lcd.setCursor(0,0);lcd.print(&quot;Volume &quot;);
   lcd.print(-78.75+(float)vol*1.25,0);
   lcd.print(&quot; &quot;);
   lcd.setCursor(11,0);lcd.print(&quot;dB&quot;);   
   lcd.setCursor(14,0);
   switch(in){
   case 0: lcd.print(&quot;BT&quot;);break;
   case 1: lcd.print(&quot;AU&quot;);break;
   case 2: lcd.print(&quot;FM&quot;);break;
}
   vol_d=vol-15;
   if(w2==1){
   for(z=0,z0=0,z1=0;z&lt;=vol_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}
   if(z1==1){lcd.setCursor(z0,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1,1);lcd.print(&quot;   &quot;);}}
   if(z1==3){lcd.setCursor(z0,1);lcd.write((uint8_t)1);}
   if(z1==2){lcd.setCursor(z0,1);lcd.write((uint8_t)2);}w2=0;}}
//////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////// индикация тембр НЧ -14...14 дБ //////////////////////////////////////
   if(menu==1){   
     if(ir.value==IR_3){bass++;gr1=1;gr2=0;cl1();w2=1;
     if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &gt; 
     if(ir.value==0xFFFFFFFF and gr1==1){bass++;gr2=0;cl1();w2=1;
     if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==IR_4){bass--;gr1=0;gr2=1;cl1();w2=1;
     if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &lt; 
     if(ir.value==0xFFFFFFFF and gr2==1){bass--;gr1=0;cl1();w2=1;
     if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
 
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    bass=bass+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;w2=1;
    if(bass&gt;7){bass=7;}if(bass&lt;-7){bass=-7;}audio();} 
    lcd.setCursor(0,0);lcd.print(&quot;Bass    &quot;);
    lcd.print(&quot; &quot;);lcd.print(bass*2);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);bass_d=bass*2+15;
    if(w2==1){
    for(z=0,z0=0,z1=0;z&lt;=bass_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}
    if(z1==1){lcd.setCursor(z0+3,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1+3,1);lcd.print(&quot;   &quot;);}}
    if(z1==3){lcd.setCursor(z0+3,1);lcd.write((uint8_t)1);}
    if(z1==2){lcd.setCursor(z0+3,1);lcd.write((uint8_t)2);}w2=0;}}
////////////////////////////////////////////////////////////////////////////////////////////////
 
/////////////////////// индикация тембр ВЧ -14...14 дБ ////////////////////////////////////////
   if(menu==2){   
   if(ir.value==IR_3){treb++;gr1=1;gr2=0;cl1();w2=1;
   if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &gt; 
   if(ir.value==0xFFFFFFFF and gr1==1){treb++;gr2=0;cl1();w2=1;
   if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==IR_4){treb--;gr1=0;gr2=1;cl1();w2=1;
   if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &lt; 
   if(ir.value==0xFFFFFFFF and gr2==1){treb--;gr1=0;cl1();w2=1;
   if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   
   if (newPosition != oldPosition) {
   oldPosition = newPosition;
   treb=treb+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;w2=1;
   if(treb&gt;7){treb=7;}if(treb&lt;-7){treb=-7;}audio();} 
   lcd.setCursor(0,0);lcd.print(&quot;Treble  &quot;);
   lcd.print(&quot; &quot;);lcd.print(treb*2);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);treb_d=treb*2+15;
   if(w2==1){
   for(z=0,z0=0,z1=0;z&lt;=treb_d;z++,z1++){if(z1&gt;2){z1=0;z0++;}
   if(z1==1){lcd.setCursor(z0+3,1);lcd.write((uint8_t)0);lcd.setCursor(z0+1+3,1);lcd.print(&quot;   &quot;);}}
   if(z1==3){lcd.setCursor(z0+3,1);lcd.write((uint8_t)1);}
   if(z1==2){lcd.setCursor(z0+3,1);lcd.write((uint8_t)2);}w2=0;}}

////////////////////////////////////// BALANCE //////////////////////////////////////////////
   if(menu==3){
    if(ir.value==IR_3){lf++;lr++;rf--;rr--;cl1();
    lcd.clear();w=1;w2=1;//кнопка &gt;
    if(lf&gt;10){lf=10;}if(rf&lt;0){rf=0;}if(lr&gt;10){lr=10;}if(rr&lt;0){rr=0;}audio();}
    if(ir.value==IR_4){lf--;lr--;rf++;rr++;cl1();
    lcd.clear();w=1;w2=1;//кнопка &lt;
    if(lf&lt;0){lf=0;}if(rf&gt;10){rf=10;}if(lr&lt;0){lr=0;}if(rr&gt;10){rr=10;}audio();}
    
    if (newPosition != oldPosition){
    oldPosition = newPosition;
    lf=lf+newPosition;lr=lr+newPosition;rf=rf-newPosition;rr=rr-newPosition;myEnc.write(0);newPosition=0;
    lcd.clear();time=millis();w=1;w2=1;
    if(lf&gt;10){lf=10;}if(lf&lt;0){lf=0;}if(rf&gt;10){rf=10;}if(rf&lt;0){rf=0;}
    if(lr&gt;10){lr=10;}if(lr&lt;0){lr=0;}if(rr&gt;10){rr=10;}if(rr&lt;0){rr=0;}audio();} 

   lcd.setCursor(0,0);
   if(w2==1){
   if(lf-5&gt;=0){lcd.print(&quot;-&quot;);}else{lcd.print(&quot;+&quot;);}
   lcd.print(abs(rf-5));lcd.print(&quot; dB &quot;);
   lcd.print(&quot; &lt;&gt;  &quot;);
   if(rf-5&gt;=0){lcd.print(&quot;-&quot;);}else{lcd.print(&quot;+&quot;);}
   lcd.print(abs(rf-5));lcd.print(&quot; dB &quot;);
   lcd.setCursor(0,1);lcd.print(&quot;L&quot;);
   lcd.setCursor(15,1);lcd.print(&quot;R&quot;);  
   if(lf-5&lt;0){lcd.setCursor(lf-5+7,1);lcd.write((uint8_t)0);}
   if(lf-5&gt;0){lcd.setCursor(lf-5+8,1);lcd.write((uint8_t)0);}
   if(lf-5==0){lcd.setCursor(7,1);lcd.write((uint8_t)0);lcd.setCursor(8,1);lcd.write((uint8_t)0);}w2=0;}
   }

/////////////////////////////////// LOUDNESS ////////////////////////////////////////
    if(menu==4){
    if(ir.value==IR_3){loud++;cl1();if(loud&gt;1){loud=0;}w=1;w2=1;audio();}
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    loud=loud+newPosition;myEnc.write(0);newPosition=0;lcd.clear();time=millis();w=1;w2=1;
    if(loud&gt;1){loud=0;}if(loud&lt;0){loud=1;}audio();}
    lcd.setCursor(0,0);lcd.print(&quot;LOUDNESS &quot;);
    if(loud==1){lcd.print(&quot;ON &quot;);}else{lcd.print(&quot;OFF&quot;);}
    
    } 

///////////////////////////////////// INPUT GAIN //////////////////////////////////////////
 
 if(menu==5){
      if(in==0){gain=gain1;}
      if(in==1){gain=gain2;}
      if(in==2){gain=gain3;}
/*
     if(ir.value==IR_3);gain++;gr1=1;gr2=0;cl1();w2=1;// кнопка &gt;
     if(ir.value==IR_4);gain--;gr1=0;gr2=1;cl1();w2=1;// кнопка &lt;
     if(gain&gt;3){gain=3;}if(gain&lt;0){gain=0;}audio();} 
*/
     if (newPosition != oldPosition) {
     oldPosition = newPosition;
     gain=gain+newPosition;myEnc.write(0);newPosition=0;lcd.clear();time=millis();w=1;w2=1;
     if(gain&gt;3){gain=3;}if(gain&lt;0){gain=0;}audio();} 
 
      if(in==0){gain1=gain;}
      if(in==1){gain2=gain;}
      if(in==2){gain3=gain;}
    
  lcd.setCursor(0,0);lcd.print(&quot; INPUT &quot;);lcd.print(in+1);
  lcd.setCursor(0,1);lcd.print(&quot; Gain &quot;);lcd.print((float)gain*3.75);lcd.print(&quot; dB &quot;);}

//////////////////////////////////////////////////////////////////////////////////////////
 
   if(millis()-time&gt;5000 &amp;&amp; w==1 &amp;&amp; power==0 &amp;&amp; mute == 0){
     EEPROM.update(0,vol);
     EEPROM.update(1,bass+7);
     EEPROM.update(2,treb+7);
     EEPROM.update(3,in);
     EEPROM.update(4,gain1);EEPROM.update(5,gain2);EEPROM.update(6,gain3);
     EEPROM.update(7,loud);
     EEPROM.update(8,lr);EEPROM.update(9,rr);EEPROM.update(10,lf);EEPROM.update(11,rf);
//     lcd.clear();
     w=0,w2=1;menu=0;cl();}
 }// loop
 void cl1(){ir.value=0;delay(50);}
 void cl(){ir.value=0;delay(300);lcd.clear();}
 
 void audio(){
  tda.setVolume(vol); // громкость 0...63
  tda.setAttLR(lr);   // аттенюатор LR 0...31
  tda.setAttRR(rr);   // аттенюатор RR 0...31
  tda.setAttLF(lf);   // аттенюатор LF 0...31
  tda.setAttRF(rf);   // аттенюатор RF 0...31
  tda.setSwitch(in,loud,gain); // вход 0...2, тонкомпенсация 1 вкл 0 выкл, усиление 0...3
  tda.setBass(bass);    // тембр НЧ -7...+7
  tda.setTreble(treb);  // тембр ВЧ -7...+7
}</code></pre></div></blockquote></div><br /><p>Всем привет!<br />А есть уже исправленный и рабочий скетч но под LCD2004?<br />Выложите плиз, очень нннадо ))))</p>]]></description>
			<author><![CDATA[null@example.com (Art342)]]></author>
			<pubDate>Wed, 15 Jun 2022 19:04:21 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6273#p6273</guid>
		</item>
		<item>
			<title><![CDATA[Re: TDA7313 + энкодер + ИК пульт + анализатор спектра]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6163#p6163</link>
			<description><![CDATA[<ul><li><p>добавил в скетч, проблема решилась if(ir.value==0){gr1=0;gr2=0;}// запрет нажатий не активных кнопок пульта</p></li></ul><div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Архив сохраните в ZIP или опубликуйте скетч без сжатия.</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (bobrusev11)]]></author>
			<pubDate>Sat, 28 May 2022 18:47:02 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6163#p6163</guid>
		</item>
	</channel>
</rss>
