<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[forum.rcl-radio.ru &mdash; TDA8425 + ИК]]></title>
	<link rel="self" href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=62&amp;type=atom" />
	<updated>2020-05-22T19:28:23Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=62</id>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1620#p1620" />
			<content type="html"><![CDATA[<p>Заработалооо! Спасибо за помощь! :-)</p>]]></content>
			<author>
				<name><![CDATA[GraveDigger]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=553</uri>
			</author>
			<updated>2020-05-22T19:28:23Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1620#p1620</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1618#p1618" />
			<content type="html"><![CDATA[<p>Спасибо! Вечером попробую,о результате доложу. :-)</p>]]></content>
			<author>
				<name><![CDATA[GraveDigger]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=553</uri>
			</author>
			<updated>2020-05-22T05:19:43Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1618#p1618</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1617#p1617" />
			<content type="html"><![CDATA[<p>Я поправил скетч</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2020-05-21T22:40:50Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1617#p1617</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1616#p1616" />
			<content type="html"><![CDATA[<p>Каждая нагрузка включается одной своей кнопкой? Я правильно понял? Первое нажатие - включение, а повторное - выключение?&nbsp; У меня включение происходит,а вот повторное нажатие ничего не дает... выходы остаются высокими...</p>]]></content>
			<author>
				<name><![CDATA[GraveDigger]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=553</uri>
			</author>
			<updated>2020-05-21T17:21:41Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1616#p1616</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1615#p1615" />
			<content type="html"><![CDATA[<p>Спасибо! Попробую.:-)</p>]]></content>
			<author>
				<name><![CDATA[GraveDigger]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=553</uri>
			</author>
			<updated>2020-05-21T13:06:10Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1615#p1615</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1614#p1614" />
			<content type="html"><![CDATA[<p>Для управления модулями реле используйте выходы D8 D9, соотведственно вместо DDDDD и CCCCC укажите свои коды кнопок</p><div class="codebox"><pre><code>#include &lt;IRremote.h&gt;
#include &lt;Wire.h&gt;
#include &lt;TDA8425.h&gt;
#include &lt;LiquidCrystal.h&gt;
#include &lt;EEPROM.h&gt;//#include &lt;EEPROMex.h&gt;
 TDA8425 tda;
 IRrecv irrecv(12); // указываем вывод модуля IR приемника
 decode_results ir;
   LiquidCrystal lcd(7, 6, 2, 3, 4, 5);// RS,E,D4,D5,D6,D7
   byte a1[8]={0b00000,0b11011,0b11011,0b11011,0b11011,0b11011,0b11011,0b00000};
   byte a2[8]={0b00000,0b11000,0b11000,0b11000,0b11000,0b11000,0b11000,0b00000};
   byte menu,z,g1,g2,b1,b2,n1,n2,v1,v2,in,mute,w,w1,spek,rele;
   int vol,vol_d,balans,bass,bass_d,treb,treb_d;
   unsigned long time,time1;
 
 
void setup() {
  Serial.begin(9600); 
  irrecv.enableIRIn(); // запускаем модуль IR
  lcd.begin(16, 2);
  lcd.createChar(0,a1); lcd.createChar(1,a2); 
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
   vol = EEPROM.read(0);// vol eeprom
   bass = EEPROM.read(1);// bass eeprom
   treb = EEPROM.read(2);// treb eeprom
   in = EEPROM.read(3);// in eeprom
   balans = EEPROM.read(4)-4;// balans eeprom
  lcd.setCursor(4,0);lcd.print(&quot;TDA8425&quot;);delay(500);lcd.clear();
}
 
void loop() {
  if ( irrecv.decode( &amp;ir )) {delay(200);Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);time1=millis();time=millis();w=1;w1=1;irrecv.resume();}// IR приемник
 
   if(ir.value==0xFF18E7){menu++;cl();if(menu&gt;4){menu=0;}}// меню кнопка вверх 0xFF18E7
   if(ir.value==0xFF4AB5){menu--;cl();if(menu==255){menu=4;}}// меню кнопка вниз 0xFF4AB5
   if(ir.value==0xFFA25D){menu=0;cl();g1=0;g2=0;}// меню кнопка 1(ГРОМКОСТЬ) 0xFFA25D
   if(ir.value==0xFF629D){menu=1;cl();b1=0;b2=0;}// меню кнопка 2(БАЛАНС) 0xFF629D
   if(ir.value==0xFFE21D){menu=2;cl();n1=0;n2=0;}// меню кнопка 3(НЧ) 0xFFE21D
   if(ir.value==0xFF22DD){menu=3;cl();v1=0;v2=0;}// меню кнопка 4(ВЧ) 0xFF22DD
   if(ir.value==0xFF02FD){menu=4;cl();}// меню кнопка 5(ВЫБОР ВХОДА) 0xFF02FD

   if(ir.value==0xCCCCC &amp;&amp; spek==0){spek=1;digitalWrite(8,HIGH);cl();delay(200);}
   if(ir.value==0xCCCCC &amp;&amp; spek==1){spek=0;digitalWrite(8,LOW); cl();delay(200);}
   if(ir.value==0xDDDDD &amp;&amp; rele==0){rele=1;digitalWrite(9,HIGH);cl();delay(200);}
   if(ir.value==0xDDDDD &amp;&amp; rele==1){rele=0;digitalWrite(9,LOW); cl();delay(200);}
   
  ///////////////////////// громкость /////////////////////////////
  if(menu==0){ // 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0xFF5AA5){vol++;g1=1;g2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and g1==1){vol++;g2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0xFF10EF){vol--;g1=0;g2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and g2==1){vol--;g1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(vol&gt;63){vol=63;}if(vol&lt;=16){vol=16;}
  lcd.setCursor(0,0);lcd.print(&quot;Volume    &quot;);
  vol_d=vol*2-120;
   if(vol_d&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
   if(vol_d&gt;-10){{lcd.print(&quot; &quot;);}}
  lcd.print(abs(vol_d));lcd.print(&quot; dB   &quot;);
 // ползунок громкости начинает работать с -56 дБ
   if(vol-32&gt;0){for(z=0;z&lt;=vol-33;z++){lcd.setCursor(z/2,1);lcd.write((uint8_t)0);}}
   if((vol-32)%2==0&amp;&amp;vol-32&gt;=0){lcd.setCursor(z/2,1);lcd.write((uint8_t)1);}
  audio();
  }
   ///////////////////////// баланс /////////////////////////////
  if(menu==1){// 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0xFF5AA5){balans++;b1=1;b2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and b1==1){balans++;b2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0xFF10EF){balans--;b1=0;b2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and b2==1){balans--;b1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
  if(balans&gt;4){balans=4;}if(balans&lt;-4){balans=-4;}
  lcd.setCursor(0,0);
   if(balans*2&gt;=0){lcd.print(&quot;-&quot;);}else{lcd.print(&quot;+&quot;);}
  lcd.print(abs(balans*2));lcd.print(&quot; dB &quot;);
  lcd.print(&quot; &lt;&gt;  &quot;);
   if(balans*2&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
  lcd.print(abs(balans*2));lcd.print(&quot; dB &quot;);
  lcd.setCursor(0,1);lcd.print(&quot;R&quot;);
  lcd.setCursor(15,1);lcd.print(&quot;L&quot;);
   if(balans&lt;0){lcd.setCursor(balans+7,1);lcd.write((uint8_t)0);}
   if(balans&gt;0){lcd.setCursor(balans+8,1);lcd.write((uint8_t)0);}
   if(balans==0){lcd.setCursor(7,1);lcd.write((uint8_t)0);lcd.setCursor(8,1);lcd.write((uint8_t)0);}
  audio();
}
  ///////////////////////// тембр нч /////////////////////////////
  if(menu==2){// 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0xFF5AA5){bass++;n1=1;n2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and n1==1){bass++;n2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0xFF10EF){bass--;n1=0;n2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and n2==1){bass--;n1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(bass&gt;11){bass=11;}if(bass&lt;2||bass==255){bass=2;}
  lcd.setCursor(0,0);lcd.print(&quot;Bass      &quot;);
  bass_d=bass*3-18;
   if(bass_d&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
   if(bass_d&gt;-10&amp;&amp;bass_d&lt;=0||bass_d&lt;10&amp;&amp;bass_d&gt;0){{lcd.print(&quot; &quot;);}}
  lcd.print(abs(bass_d));lcd.print(&quot; dB   &quot;);
   if(bass&gt;1){for(z=3;z&lt;=bass+1;z++){lcd.setCursor(z,1);lcd.write((uint8_t)0);}}
  audio();
 }
   ///////////////////////// тембр вч /////////////////////////////
  if(menu==3){// 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0xFF5AA5){treb++;v1=1;v2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and v1==1){treb++;v2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0xFF10EF){treb--;v1=0;v2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and v2==1){treb--;v1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(treb&gt;10){treb=10;}if(treb&lt;2||treb==255){treb=2;}
  lcd.setCursor(0,0);lcd.print(&quot;Treble    &quot;);
  treb_d=treb*3-18;
   if(treb_d&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
   if(treb_d&gt;-10&amp;&amp;treb_d&lt;=0||treb_d&lt;10&amp;&amp;treb_d&gt;0){{lcd.print(&quot; &quot;);}}
  lcd.print(abs(treb_d));lcd.print(&quot; dB   &quot;);
   if(treb&gt;1){for(z=3;z&lt;=treb+1;z++){lcd.setCursor(z,1);lcd.write((uint8_t)0);}}
  audio();
 }
 ///////////////////////// input /////////////////////////////
  if(menu==4){
   if(ir.value==0xFF5AA5){in++;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFF10EF){in--;cl();}// кнопка &lt; 0xFF10EF
   if(in&gt;1&amp;&amp;in&lt;255){in=0;}if(in&gt;2){in=1;}
  lcd.setCursor(0,0);lcd.print(&quot;Source selector&quot;);
  lcd.setCursor(0,1);lcd.print(&quot;Input: &quot;);lcd.print(in);
  audio();
 }
 ////////////////// mute //////////////////////////////////
   if(ir.value==0xFFB04F){mute++;delay(500);cl();}// кнопка # 0xFFB04F
   if(mute&gt;1){mute=0;cl();menu=0;}
   if(mute==1){menu=-1;audio();lcd.setCursor(6,0);lcd.print(&quot;MUTE&quot;);}
///////////////////  -20 dB ///////////////////////////////
   if(ir.value==0xFF6897){vol=vol-10;delay(500);audio();menu=0;cl();}//кнопка # 0xFF6897
 
   if(millis()-time&gt;10000 and w==1 and mute==0){// возврат в меню громкости через 10 сек не активности
     menu=0;cl();w=0;}
   if(millis()-time1&gt;60000 and w1==1){ // eeprom запись при не активности 60 сек
     EEPROM.update(0,vol);
     EEPROM.update(4,balans+4);
     EEPROM.update(1,bass);
     EEPROM.update(2,treb);
     EEPROM.update(3,in);
     w1=0;}
 
}//loop
 
void cl(){ir.value=0;delay(100);lcd.clear();}
 
void audio(){
  tda.setVolumeL(vol+balans);
  tda.setVolumeR(vol-balans);
  tda.setBass(bass);
  tda.setTreble(treb);
  tda.setMute(mute);
  tda.setSource(in);
 }</code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2020-05-21T12:53:40Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1614#p1614</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1613#p1613" />
			<content type="html"><![CDATA[<p>У меня он отдельным модулем на светодиодных матричках сделан.</p>]]></content>
			<author>
				<name><![CDATA[GraveDigger]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=553</uri>
			</author>
			<updated>2020-05-21T12:43:00Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1613#p1613</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1612#p1612" />
			<content type="html"><![CDATA[<p>в нем нет анализатора спектра</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2020-05-21T12:32:55Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1612#p1612</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1611#p1611" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>#include &lt;IRremote.h&gt;
#include &lt;Wire.h&gt;
#include &lt;TDA8425.h&gt;
#include &lt;LiquidCrystal.h&gt;
#include &lt;EEPROM.h&gt;//#include &lt;EEPROMex.h&gt;
 TDA8425 tda;
 IRrecv irrecv(12); // указываем вывод модуля IR приемника
 decode_results ir;
   LiquidCrystal lcd(7, 6, 2, 3, 4, 5);// RS,E,D4,D5,D6,D7
   byte a1[8]={0b00000,0b11011,0b11011,0b11011,0b11011,0b11011,0b11011,0b00000};
   byte a2[8]={0b00000,0b11000,0b11000,0b11000,0b11000,0b11000,0b11000,0b00000};
   byte menu,z,g1,g2,b1,b2,n1,n2,v1,v2,in,mute,w,w1;
   int vol,vol_d,balans,bass,bass_d,treb,treb_d;
   unsigned long time,time1;
 
 
void setup() {
  Serial.begin(9600); 
  irrecv.enableIRIn(); // запускаем модуль IR
  lcd.begin(16, 2);
  lcd.createChar(0,a1); lcd.createChar(1,a2); 
   vol = EEPROM.read(0);// vol eeprom
   bass = EEPROM.read(1);// bass eeprom
   treb = EEPROM.read(2);// treb eeprom
   in = EEPROM.read(3);// in eeprom
   balans = EEPROM.read(4)-4;// balans eeprom
  lcd.setCursor(4,0);lcd.print(&quot;TDA8425&quot;);delay(500);lcd.clear();
}
 
void loop() {
  if ( irrecv.decode( &amp;ir )) {delay(200);Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);time1=millis();time=millis();w=1;w1=1;irrecv.resume();}// IR приемник
 
   if(ir.value==0xFF18E7){menu++;cl();if(menu&gt;4){menu=0;}}// меню кнопка вверх 0xFF18E7
   if(ir.value==0xFF4AB5){menu--;cl();if(menu==255){menu=4;}}// меню кнопка вниз 0xFF4AB5
   if(ir.value==0xFFA25D){menu=0;cl();g1=0;g2=0;}// меню кнопка 1(ГРОМКОСТЬ) 0xFFA25D
   if(ir.value==0xFF629D){menu=1;cl();b1=0;b2=0;}// меню кнопка 2(БАЛАНС) 0xFF629D
   if(ir.value==0xFFE21D){menu=2;cl();n1=0;n2=0;}// меню кнопка 3(НЧ) 0xFFE21D
   if(ir.value==0xFF22DD){menu=3;cl();v1=0;v2=0;}// меню кнопка 4(ВЧ) 0xFF22DD
   if(ir.value==0xFF02FD){menu=4;cl();}// меню кнопка 5(ВЫБОР ВХОДА) 0xFF02FD
  ///////////////////////// громкость /////////////////////////////
  if(menu==0){ // 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0xFF5AA5){vol++;g1=1;g2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and g1==1){vol++;g2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0xFF10EF){vol--;g1=0;g2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and g2==1){vol--;g1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(vol&gt;63){vol=63;}if(vol&lt;=16){vol=16;}
  lcd.setCursor(0,0);lcd.print(&quot;Volume    &quot;);
  vol_d=vol*2-120;
   if(vol_d&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
   if(vol_d&gt;-10){{lcd.print(&quot; &quot;);}}
  lcd.print(abs(vol_d));lcd.print(&quot; dB   &quot;);
 // ползунок громкости начинает работать с -56 дБ
   if(vol-32&gt;0){for(z=0;z&lt;=vol-33;z++){lcd.setCursor(z/2,1);lcd.write((uint8_t)0);}}
   if((vol-32)%2==0&amp;&amp;vol-32&gt;=0){lcd.setCursor(z/2,1);lcd.write((uint8_t)1);}
  audio();
  }
   ///////////////////////// баланс /////////////////////////////
  if(menu==1){// 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0xFF5AA5){balans++;b1=1;b2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and b1==1){balans++;b2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0xFF10EF){balans--;b1=0;b2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and b2==1){balans--;b1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
  if(balans&gt;4){balans=4;}if(balans&lt;-4){balans=-4;}
  lcd.setCursor(0,0);
   if(balans*2&gt;=0){lcd.print(&quot;-&quot;);}else{lcd.print(&quot;+&quot;);}
  lcd.print(abs(balans*2));lcd.print(&quot; dB &quot;);
  lcd.print(&quot; &lt;&gt;  &quot;);
   if(balans*2&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
  lcd.print(abs(balans*2));lcd.print(&quot; dB &quot;);
  lcd.setCursor(0,1);lcd.print(&quot;R&quot;);
  lcd.setCursor(15,1);lcd.print(&quot;L&quot;);
   if(balans&lt;0){lcd.setCursor(balans+7,1);lcd.write((uint8_t)0);}
   if(balans&gt;0){lcd.setCursor(balans+8,1);lcd.write((uint8_t)0);}
   if(balans==0){lcd.setCursor(7,1);lcd.write((uint8_t)0);lcd.setCursor(8,1);lcd.write((uint8_t)0);}
  audio();
}
  ///////////////////////// тембр нч /////////////////////////////
  if(menu==2){// 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0xFF5AA5){bass++;n1=1;n2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and n1==1){bass++;n2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0xFF10EF){bass--;n1=0;n2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and n2==1){bass--;n1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(bass&gt;11){bass=11;}if(bass&lt;2||bass==255){bass=2;}
  lcd.setCursor(0,0);lcd.print(&quot;Bass      &quot;);
  bass_d=bass*3-18;
   if(bass_d&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
   if(bass_d&gt;-10&amp;&amp;bass_d&lt;=0||bass_d&lt;10&amp;&amp;bass_d&gt;0){{lcd.print(&quot; &quot;);}}
  lcd.print(abs(bass_d));lcd.print(&quot; dB   &quot;);
   if(bass&gt;1){for(z=3;z&lt;=bass+1;z++){lcd.setCursor(z,1);lcd.write((uint8_t)0);}}
  audio();
 }
   ///////////////////////// тембр вч /////////////////////////////
  if(menu==3){// 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0xFF5AA5){treb++;v1=1;v2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and v1==1){treb++;v2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0xFF10EF){treb--;v1=0;v2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and v2==1){treb--;v1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(treb&gt;10){treb=10;}if(treb&lt;2||treb==255){treb=2;}
  lcd.setCursor(0,0);lcd.print(&quot;Treble    &quot;);
  treb_d=treb*3-18;
   if(treb_d&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
   if(treb_d&gt;-10&amp;&amp;treb_d&lt;=0||treb_d&lt;10&amp;&amp;treb_d&gt;0){{lcd.print(&quot; &quot;);}}
  lcd.print(abs(treb_d));lcd.print(&quot; dB   &quot;);
   if(treb&gt;1){for(z=3;z&lt;=treb+1;z++){lcd.setCursor(z,1);lcd.write((uint8_t)0);}}
  audio();
 }
 ///////////////////////// input /////////////////////////////
  if(menu==4){
   if(ir.value==0xFF5AA5){in++;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFF10EF){in--;cl();}// кнопка &lt; 0xFF10EF
   if(in&gt;1&amp;&amp;in&lt;255){in=0;}if(in&gt;2){in=1;}
  lcd.setCursor(0,0);lcd.print(&quot;Source selector&quot;);
  lcd.setCursor(0,1);lcd.print(&quot;Input: &quot;);lcd.print(in);
  audio();
 }
 ////////////////// mute //////////////////////////////////
   if(ir.value==0xFFB04F){mute++;delay(500);cl();}// кнопка # 0xFFB04F
   if(mute&gt;1){mute=0;cl();menu=0;}
   if(mute==1){menu=-1;audio();lcd.setCursor(6,0);lcd.print(&quot;MUTE&quot;);}
///////////////////  -20 dB ///////////////////////////////
   if(ir.value==0xFF6897){vol=vol-10;delay(500);audio();menu=0;cl();}//кнопка # 0xFF6897
 
   if(millis()-time&gt;10000 and w==1 and mute==0){// возврат в меню громкости через 10 сек не активности
     menu=0;cl();w=0;}
   if(millis()-time1&gt;60000 and w1==1){ // eeprom запись при не активности 60 сек
     EEPROM.update(0,vol);
     EEPROM.update(4,balans+4);
     EEPROM.update(1,bass);
     EEPROM.update(2,treb);
     EEPROM.update(3,in);
     w1=0;}
 
}//loop
 
void cl(){ir.value=0;delay(100);lcd.clear();}
 
void audio(){
  tda.setVolumeL(vol+balans);
  tda.setVolumeR(vol-balans);
  tda.setBass(bass);
  tda.setTreble(treb);
  tda.setMute(mute);
  tda.setSource(in);
 }</code></pre></div>]]></content>
			<author>
				<name><![CDATA[GraveDigger]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=553</uri>
			</author>
			<updated>2020-05-21T12:31:28Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1611#p1611</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1610#p1610" />
			<content type="html"><![CDATA[<p>Опубликуйте Ваш скетч.</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2020-05-21T11:32:58Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1610#p1610</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1609#p1609" />
			<content type="html"><![CDATA[<p>Возникла необходимость управлять двумя дополнительными нагрузками кнопками с пульта. Например при просмотре кино - спектроанализатор реально мешает,желательноиметь возможность его отключать.&nbsp; Во втором случае нужно включать-выключать источник сигнала - то ли это медиапроигрыватель,то ли блютуз-приемник. <br />Не сочтите за труд - помогите решить проблему. :-)</p>]]></content>
			<author>
				<name><![CDATA[GraveDigger]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=553</uri>
			</author>
			<updated>2020-05-21T11:23:19Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1609#p1609</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=76#p76" />
			<content type="html"><![CDATA[<p>Отлично! Если что обращайтесь.</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2019-09-10T18:36:32Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=76#p76</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=71#p71" />
			<content type="html"><![CDATA[<p>ОК! Скетч успешно &quot;влез&quot;. <br />Стрелки &quot;влево&quot; и &quot;вправо&quot; на пульте сразу регулировали только выбор источника сигнала. Стрелки &quot;вверх&quot; и &quot;вниз&quot; - тоже нет. Поменял коды кнопок в скетче - все поехало. Так же поменял местами литеры &quot;R&quot; и &quot;L&quot; в индикации регулировки баланса. Спасиииибоооо!</p>]]></content>
			<author>
				<name><![CDATA[GraveDigger]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=553</uri>
			</author>
			<updated>2019-09-10T18:11:48Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=71#p71</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[TDA8425 + ИК]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=70#p70" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>#include &lt;IRremote.h&gt;
#include &lt;Wire.h&gt;
#include &lt;TDA8425.h&gt;
#include &lt;LiquidCrystal.h&gt;
#include &lt;EEPROM.h&gt;//#include &lt;EEPROMex.h&gt;
 TDA8425 tda;
 IRrecv irrecv(12); // указываем вывод модуля IR приемника
 decode_results ir;
   LiquidCrystal lcd(7, 6, 2, 3, 4, 5);// RS,E,D4,D5,D6,D7
      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};
   byte menu,z,z0,z1,g1,g2,b1,b2,n1,n2,v1,v2,in,mute,w,w1,w2=1;
   int vol,vol_d,balans,bass,bass_d,treb,treb_d;
   unsigned long time,time1;
 
 
void setup() {
  Serial.begin(9600); 
  irrecv.enableIRIn(); // запускаем модуль IR
  lcd.begin(16, 2);
  lcd.createChar(0,a1);lcd.createChar(1,a2);lcd.createChar(2,a3);
   vol = EEPROM.read(0);// vol eeprom
   bass = EEPROM.read(1);// bass eeprom
   treb = EEPROM.read(2);// treb eeprom
   in = EEPROM.read(3);// in eeprom
   balans = EEPROM.read(4)-4;// balans eeprom
  lcd.setCursor(4,0);lcd.print(&quot;TDA8425&quot;);delay(500);lcd.clear();
}
 
void loop() {
  if ( irrecv.decode( &amp;ir )) {delay(200);Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);time1=millis();time=millis();w=1;w1=1;irrecv.resume();}// IR приемник
 
   if(ir.value==0x2FDD02F){menu++;cl();if(menu&gt;4){menu=0;}}// меню кнопка вверх 0xFF18E7
   if(ir.value==0x2FD32CD){menu--;cl();if(menu==255){menu=4;}}// меню кнопка вниз 0xFF4AB5
   if(ir.value==0xFFA25D){menu=0;cl();g1=0;g2=0;}// меню кнопка 1(ГРОМКОСТЬ) 0xFFA25D
   if(ir.value==0xFF629D){menu=1;cl();b1=0;b2=0;}// меню кнопка 2(БАЛАНС) 0xFF629D
   if(ir.value==0xFFE21D){menu=2;cl();n1=0;n2=0;}// меню кнопка 3(НЧ) 0xFFE21D
   if(ir.value==0xFF22DD){menu=3;cl();v1=0;v2=0;}// меню кнопка 4(ВЧ) 0xFF22DD
   if(ir.value==0xFF02FD){menu=4;cl();}// меню кнопка 5(ВЫБОР ВХОДА) 0xFF02FD
  ///////////////////////// громкость /////////////////////////////
  if(menu==0){ // 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0x2FD906F){vol++;g1=1;g2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and g1==1){vol++;g2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0x2FDF20D){vol--;g1=0;g2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and g2==1){vol--;g1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(vol&gt;63){vol=63;}if(vol&lt;=16){vol=16;}
  lcd.setCursor(0,0);lcd.print(&quot;Volume    &quot;);
  vol_d=vol*2-120;
   if(vol_d&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
   if(vol_d&gt;-10){{lcd.print(&quot; &quot;);}}
  lcd.print(abs(vol_d));lcd.print(&quot; dB   &quot;);
 // ползунок громкости начинает работать с -56 дБ
   if(w2==1){audio();
   for(z=0,z0=0,z1=0;z&lt;=vol-15;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;}}
   ///////////////////////// баланс /////////////////////////////
  if(menu==1){// 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0x2FD906F){balans++;b1=1;b2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and b1==1){balans++;b2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0x2FDF20D){balans--;b1=0;b2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and b2==1){balans--;b1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
  if(balans&gt;4){balans=4;}if(balans&lt;-4){balans=-4;}
  lcd.setCursor(0,0);
   if(balans*2&gt;=0){lcd.print(&quot;-&quot;);}else{lcd.print(&quot;+&quot;);}
  lcd.print(abs(balans*2));lcd.print(&quot; dB &quot;);
  lcd.print(&quot; &lt;&gt;  &quot;);
   if(balans*2&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
  lcd.print(abs(balans*2));lcd.print(&quot; dB &quot;);
  lcd.setCursor(0,1);lcd.print(&quot;R&quot;);
  lcd.setCursor(15,1);lcd.print(&quot;L&quot;);
   if(balans&lt;0){lcd.setCursor(balans+7,1);lcd.write((uint8_t)0);}
   if(balans&gt;0){lcd.setCursor(balans+8,1);lcd.write((uint8_t)0);}
   if(balans==0){lcd.setCursor(7,1);lcd.write((uint8_t)0);lcd.setCursor(8,1);lcd.write((uint8_t)0);}
  audio();
}
  ///////////////////////// тембр нч /////////////////////////////
  if(menu==2){// 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0x2FD906F){bass++;n1=1;n2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and n1==1){bass++;n2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0x2FDF20D){bass--;n1=0;n2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and n2==1){bass--;n1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(bass&gt;11){bass=11;}if(bass&lt;2||bass==255){bass=2;}
  lcd.setCursor(0,0);lcd.print(&quot;Bass      &quot;);
  bass_d=bass*3-18;
   if(bass_d&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
   if(bass_d&gt;-10&amp;&amp;bass_d&lt;=0||bass_d&lt;10&amp;&amp;bass_d&gt;0){{lcd.print(&quot; &quot;);}}
  lcd.print(abs(bass_d));lcd.print(&quot; dB   &quot;);
   if(bass&gt;1){for(z=3;z&lt;=bass+1;z++){lcd.setCursor(z,1);lcd.write((uint8_t)0);}}
  audio();
 }
   ///////////////////////// тембр вч /////////////////////////////
  if(menu==3){// 0xFFFFFFFF - долгое нажатие любой кнопки
   if(ir.value==0x2FD906F){treb++;v1=1;v2=0;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFFFFFFFF and v1==1){treb++;v2=0;cl();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==0x2FDF20D){treb--;v1=0;v2=1;cl();}// кнопка &lt; 0xFF10EF
   if(ir.value==0xFFFFFFFF and v2==1){treb--;v1=0;cl();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(treb&gt;10){treb=10;}if(treb&lt;2||treb==255){treb=2;}
  lcd.setCursor(0,0);lcd.print(&quot;Treble    &quot;);
  treb_d=treb*3-18;
   if(treb_d&gt;=0){lcd.print(&quot;+&quot;);}else{lcd.print(&quot;-&quot;);}
   if(treb_d&gt;-10&amp;&amp;treb_d&lt;=0||treb_d&lt;10&amp;&amp;treb_d&gt;0){{lcd.print(&quot; &quot;);}}
  lcd.print(abs(treb_d));lcd.print(&quot; dB   &quot;);
   if(treb&gt;1){for(z=3;z&lt;=treb+1;z++){lcd.setCursor(z,1);lcd.write((uint8_t)0);}}
  audio();
 }
 ///////////////////////// input /////////////////////////////
  if(menu==4){
   if(ir.value==0xFF5AA5){in++;cl();}// кнопка &gt; 0xFF5AA5
   if(ir.value==0xFF10EF){in--;cl();}// кнопка &lt; 0xFF10EF
   if(in&gt;1&amp;&amp;in&lt;255){in=0;}if(in&gt;2){in=1;}
  lcd.setCursor(0,0);lcd.print(&quot;Source selector&quot;);
  lcd.setCursor(0,1);lcd.print(&quot;Input: &quot;);lcd.print(in);
  audio();
 }
 ////////////////// mute //////////////////////////////////
   if(ir.value==0xFFB04F){mute++;delay(500);cl();}// кнопка # 0xFFB04F
   if(mute&gt;1){mute=0;cl();menu=0;}
   if(mute==1){menu=-1;audio();lcd.setCursor(6,0);lcd.print(&quot;MUTE&quot;);}
///////////////////  -20 dB ///////////////////////////////
   if(ir.value==0xFF6897){vol=vol-10;delay(500);audio();menu=0;cl();}//кнопка # 0xFF6897
 
   if(millis()-time&gt;10000 and w==1 and mute==0){// возврат в меню громкости через 10 сек не активности
     menu=0;cl();w=0;}
   if(millis()-time1&gt;60000 and w1==1){ // eeprom запись при не активности 60 сек
     EEPROM.update(0,vol);
     EEPROM.update(4,balans+4);
     EEPROM.update(1,bass);
     EEPROM.update(2,treb);
     EEPROM.update(3,in);
     w1=0;}
 
}//loop
 
void cl(){ir.value=0;delay(100);lcd.clear();w2=1;}
 
void audio(){
  tda.setVolumeL(vol+balans);
  tda.setVolumeR(vol-balans);
  tda.setBass(bass);
  tda.setTreble(treb);
  tda.setMute(mute);
  tda.setSource(in);
 }</code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2019-09-10T17:18:18Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=70#p70</id>
		</entry>
</feed>
