<?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; Аудиопроцессоры]]></title>
		<link>http://forum.rcl-radio.ru/index.php</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;fid=2&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние темы раздела «forum.rcl-radio.ru».]]></description>
		<lastBuildDate>Thu, 04 Jun 2026 11:21:28 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[ЭМОС]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=732&amp;action=new</link>
			<description><![CDATA[<p>Александр приветствую, есть возможность процессор звуковой привести к отклику эмос датчиика, как у jbl?</p>]]></description>
			<author><![CDATA[null@example.com (peregar78)]]></author>
			<pubDate>Thu, 04 Jun 2026 11:21:28 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=732&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[AX2358]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=725&amp;action=new</link>
			<description><![CDATA[<p><a href="http://rcl-radio.ru/wp-content/uploads/2026/01/AX2358_ETC.pdf">http://rcl-radio.ru/wp-content/uploads/ … 58_ETC.pdf</a></p><br /><p>ax2358.ino</p><div class="codebox"><pre><code>#include &lt;Wire.h&gt; 
#include &lt;AX2358.h&gt; 

AX2358 ax;

void setup() {
  audio();
  delay(1000);
}

void loop() {
  // put your main code here, to run repeatedly:

}

void audio(){
        ax.setInput(1);// int 1,2,3,4 = input 1,2,3,4 | int 5 = input 6CH
        ax.setFunc_stereo(0); // 3d int 1...0 = on ... off 
        ax.setFunc_att(0);    // Stereo‑to‑CT/SUB Mixer with −6dB Attenuation | int 1...0 = on ... off 
        ax.setVol_master(65); //  int 0...79 
        ax.setMute(0);// mute 0 - off / 1 - on     
  }</code></pre></div><p><span class="attention-yellow"></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 05 Jan 2026 16:31:23 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=725&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[M61541fp + PT2323 на Microlab H-600]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=695&amp;action=new</link>
			<description><![CDATA[<p>Восстановление Microlab H-600.<br />Отсутствие основного пульта, привело к изготовлению на основе Ардуино.<br />драйвера на процессор&nbsp; M61541 не нашел на просторах нета. Даташит на этот процессор&nbsp; сложный&nbsp; вроде 24 битный <br />Помогите в создании M61541.cpp &amp;M61541.h.</p>]]></description>
			<author><![CDATA[null@example.com (Alex8674)]]></author>
			<pubDate>Sun, 23 Mar 2025 10:59:05 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=695&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[M62446]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=675&amp;action=new</link>
			<description><![CDATA[<p>Пожалуйста создайте скетч</p>]]></description>
			<author><![CDATA[null@example.com (shuhrat.ps)]]></author>
			<pubDate>Sat, 05 Oct 2024 05:47:40 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=675&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[pt2322 pt2323]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=593&amp;action=new</link>
			<description><![CDATA[<p>Какие команды надо изменять для lcd 2004 i2c </p><div class="codebox"><pre><code>#define  CH_UP  0x2FDF20D
#define  CH_DW  0x2FDF30D
#define  CH     0x2FDF50D
#define  IN     0x2FDF70D
#define  VOL_UP 0x2FDF40D
#define  VOL_DW 0x2FDF80D


#include &lt;Wire.h&gt;
#include &lt;PT2322.h&gt;
#include &lt;PT2323.h&gt;
#include &lt;LiquidCrystal.h&gt;
#include &lt;EEPROM.h&gt;
#include &lt;Encoder.h&gt;
#include &lt;MsTimer2.h&gt;
#include &lt;boarddefs.h&gt;
#include &lt;IRremote.h&gt;
 PT2322 pt; PT2323 pt0; 
  Encoder myEnc(9, 8);//CLK, DT подключение энкодера
  IRrecv irrecv(13); // указываем вывод модуля IR приемника
   decode_results ir;
 LiquidCrystal lcd(7, 6, 2, 3, 4, 5);// RS,E,D4,D5,D6,D7 подключение LCD
   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,oldPosition  = -999;
   int menu,menu2,w,vol,vol_d,z,z0,z1,in,bass,bass_d,mid,mid_d,treb,treb_d,attfl,attfl_d,attcn,attcn_d,attsub,attsub_d,ddd,tembro,x,attfr,attfr_d,atttl,atttl_d,atttr,atttr_d,mute;
   int g1,g2,inn;
   
void setup() {
  Wire.begin();Serial.begin(9600);irrecv.enableIRIn(); // запускаем модуль IR
  lcd.begin(16, 2);lcd.createChar(0,a1);lcd.createChar(1,a2);lcd.createChar(2,a3);
  pinMode(A0,INPUT); // menu кнопка энкодера 
  pinMode(12,INPUT); // MUTE
  pinMode(11,INPUT); // IN
  MsTimer2::set(2, to_Timer);MsTimer2::start();
   vol = EEPROM.read(0)-79;in = EEPROM.read(1);bass = EEPROM.read(2)-7;mid = EEPROM.read(3)-7;treb = EEPROM.read(4)-7;
  attfl = EEPROM.read(5)-14;attcn = EEPROM.read(7)-14;attsub = EEPROM.read(8)-14;ddd = EEPROM.read(9);tembro = EEPROM.read(10);
  attfr = EEPROM.read(11)-14;atttl = EEPROM.read(12)-14;atttr = EEPROM.read(13)-14;
  delay(500);
  audio();audio_in();
}
 void to_Timer(){newPosition = myEnc.read()/4;}
 
 void loop(){delay(10);
  if(analogRead(A0)&lt;900){menu++;cl1();myEnc.write(0);time=millis();w=1;if(menu&gt;11){menu=0;}}// меню
  if ( irrecv.decode( &amp;ir )) {Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);time=millis();w=1;irrecv.resume();}// IR приемник  
  
   if(ir.value==CH_UP){menu++;g1=0;g2=0;cl1();time=millis();w=1;if(menu&gt;11){menu=0;}}// меню кнопка CH+
   if(ir.value==CH_DW){menu--;g1=0;g2=0;cl1();time=millis();w=1;if(menu&lt;0){menu=11;}}// меню кнопка CH-
   if(ir.value==CH){menu=0;g1=0;g2=0;cl1();time=millis();w=1;}// меню кнопка CH (menu===0)
   if(ir.value==IN){inn=1;g1=0;g2=0;time=millis();w=1;audio();}//  кнопка IN 
 //////////////////////////////////////// Громкость -79...0 дБ //////////////////////////////////////
 if(menu==0){   
     if(ir.value==VOL_UP){vol++;g1=1;g2=0;cl();time=millis();w=1;audio();}// кнопка VOL+  0xFFA857
     if(ir.value==0xFFFFFFFF and g1==1){vol++;g2=0;cl();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){vol--;g1=0;g2=1;cl();time=millis();w=1;audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){vol--;g1=0;cl();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
     if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;}
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    vol=vol+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;}audio();}
  lcd.setCursor(0,0);lcd.print(&quot;Volume  &quot;);
  lcd.print(&quot; &quot;);lcd.print(-79+vol);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);vol_d=vol-32;
   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);}}
 //////////////////////////////////////// Тембр НЧ +-14 дБ //////////////////////////////////////
 if(menu==1){
     if(ir.value==VOL_UP){bass++;g1=1;g2=0;cl();time=millis();w=1;audio();}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and g1==1){bass++;g2=0;cl();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){bass--;g1=0;g2=1;cl();time=millis();w=1;audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){bass--;g1=0;cl();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(bass&lt;-7){bass=-7;}if(bass&gt;7){bass=7;}
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    bass=bass+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(bass&lt;-7){bass=-7;}if(bass&gt;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+7)*2;
   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);}}   
 //////////////////////////////////////// Тембр CЧ +-14 дБ //////////////////////////////////////
 if(menu==2){
     if(ir.value==VOL_UP){mid++;g1=1;g2=0;cl();time=millis();w=1;audio();}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and g1==1){mid++;g2=0;cl();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){mid--;g1=0;g2=1;cl();time=millis();w=1;audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){mid--;g1=0;cl();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(mid&lt;-7){mid=-7;}if(mid&gt;7){mid=7;}
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    mid=mid+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(mid&lt;-7){mid=-7;}if(mid&gt;7){mid=7;}audio();}
  lcd.setCursor(0,0);lcd.print(&quot;Middle  &quot;);
  lcd.print(&quot; &quot;);lcd.print(mid*2);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);mid_d=(mid+7)*2;
   for(z=0,z0=0,z1=0;z&lt;=mid_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);}} 
 //////////////////////////////////////// Тембр BЧ +-14 дБ //////////////////////////////////////
 if(menu==3){
     if(ir.value==VOL_UP){treb++;g1=1;g2=0;cl();time=millis();w=1;audio();}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and g1==1){treb++;g2=0;cl();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){treb--;g1=0;g2=1;cl();time=millis();w=1;audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){treb--;g1=0;cl();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(treb&lt;-7){treb=-7;}if(treb&gt;7){treb=7;}
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    treb=treb+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(treb&lt;-7){treb=-7;}if(treb&gt;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+7)*2;
   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);}}    
   //////////////////////////////////// rock pop classic //////////////////////      
  if(menu==4){
     if(ir.value==VOL_UP){tembro++;g1=1;g2=0;cl();time=millis();w=1;audio();}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and g1==1){tembro++;g2=0;cl();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){tembro--;g1=0;g2=1;cl();time=millis();w=1;audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){tembro--;g1=0;cl();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
      if(tembro&gt;4){tembro=0;}if(tembro&lt;0){tembro=4;}
     if (newPosition != oldPosition) {
    oldPosition = newPosition;
    tembro=tembro+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(tembro&gt;4){tembro=0;}if(tembro&lt;0){tembro=4;}}
    lcd.setCursor(0,0);lcd.print(&quot; Preset timbre  &quot;);
    if(tembro==0){lcd.setCursor(0,1);lcd.print(&quot;  manual mode  &quot;);}
    if(tembro==1){lcd.setCursor(0,1);lcd.print(&quot;      ROCK     &quot;);bass=4,mid=-2;treb=5;x=1;}
    if(tembro==2){lcd.setCursor(0,1);lcd.print(&quot;      POP      &quot;);bass=-3,mid=3;treb=-2;x=1;}
    if(tembro==3){lcd.setCursor(0,1);lcd.print(&quot;    CLASSIC    &quot;);bass=0,mid=0;treb=-2;x=1;}
    if(tembro==4){lcd.setCursor(0,1);lcd.print(&quot;    default    &quot;);bass=0,mid=0;treb=0;x=1;}
    if(x==1){audio();x=0;}
  }
   
  /////////////////////// ATT FL ///////////////////
   if(menu==5){
     if(ir.value==VOL_UP){attfl++;g1=1;g2=0;cl();time=millis();w=1;audio();}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and g1==1){attfl++;g2=0;cl();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){attfl--;g1=0;g2=1;cl();time=millis();w=1;audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){attfl--;g1=0;cl();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(attfl&lt;-14){attfl=-14;}if(attfl&gt;0){attfl=0;}
     
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    attfl=attfl+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(attfl&lt;-14){attfl=-14;}if(attfl&gt;0){attfl=0;}audio();}
  lcd.setCursor(0,0);lcd.print(&quot;ATT FL   &quot;);
  lcd.print(&quot; &quot;);lcd.print(attfl);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);attfl_d=(attfl+14)*2;
   for(z=0,z0=0,z1=0;z&lt;=attfl_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);}}  
  /////////////////////// ATT FR ///////////////////
   if(menu==6){
     if(ir.value==VOL_UP){attfr++;g1=1;g2=0;cl();time=millis();w=1;audio();}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and g1==1){attfr++;g2=0;cl();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){attfr--;g1=0;g2=1;cl();time=millis();w=1;audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){attfr--;g1=0;cl();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(attfr&lt;-14){attfr=-14;}if(attfr&gt;0){attfr=0;}
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    attfr=attfr+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(attfr&lt;-14){attfr=-14;}if(attfr&gt;0){attfr=0;}audio();}
  lcd.setCursor(0,0);lcd.print(&quot;ATT FR   &quot;);
  lcd.print(&quot; &quot;);lcd.print(attfr);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);attfr_d=(attfr+14)*2;
   for(z=0,z0=0,z1=0;z&lt;=attfr_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);}}  
  /////////////////////// ATT TL ///////////////////
  if(menu==7){
     if(ir.value==VOL_UP){atttl++;g1=1;g2=0;cl();time=millis();w=1;audio();}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and g1==1){atttl++;g2=0;cl();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){atttl--;g1=0;g2=1;cl();time=millis();w=1;audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){atttl--;g1=0;cl();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(atttl&lt;-14){atttl=-14;}if(atttl&gt;0){atttl=0;}
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    atttl=atttl+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(atttl&lt;-14){atttl=-14;}if(atttl&gt;0){atttl=0;}audio();}
  lcd.setCursor(0,0);lcd.print(&quot;ATT TL   &quot;);
  lcd.print(&quot; &quot;);lcd.print(atttl);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);atttl_d=(atttl+14)*2;
   for(z=0,z0=0,z1=0;z&lt;=atttl_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);}} 
 /////////////////////// ATT TR ///////////////////
  if(menu==8){
     if(ir.value==VOL_UP){atttr++;g1=1;g2=0;cl();time=millis();w=1;audio();}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and g1==1){atttr++;g2=0;cl();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){atttr--;g1=0;g2=1;cl();time=millis();w=1;audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){atttr--;g1=0;cl();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(atttr&lt;-14){atttr=-14;}if(atttr&gt;0){atttr=0;}
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    atttr=atttr+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(atttr&lt;-14){atttr=-14;}if(atttr&gt;0){atttr=0;}audio();}
  lcd.setCursor(0,0);lcd.print(&quot;ATT TR   &quot;);
  lcd.print(&quot; &quot;);lcd.print(atttr);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);atttr_d=(atttr+14)*2;
   for(z=0,z0=0,z1=0;z&lt;=atttr_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);}} 
 /////////////////////// ATT CN ///////////////////
    if(menu==9){
     if(ir.value==VOL_UP){attcn++;g1=1;g2=0;cl();time=millis();w=1;audio();}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and g1==1){attcn++;g2=0;cl();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){attcn--;g1=0;g2=1;cl();time=millis();w=1;audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){attcn--;g1=0;cl();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
      if(attcn&lt;-14){attcn=-14;}if(attcn&gt;0){attcn=0;}
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    attcn=attcn+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(attcn&lt;-14){attcn=-14;}if(attcn&gt;0){attcn=0;}audio();}
  lcd.setCursor(0,0);lcd.print(&quot;ATT CN   &quot;);
  lcd.print(&quot; &quot;);lcd.print(attcn);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);attcn_d=(attcn+14)*2;
   for(z=0,z0=0,z1=0;z&lt;=attcn_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);}}  
  /////////////////////// ATT SUB ///////////////////
     if(menu==10){
     if(ir.value==VOL_UP){attsub++;g1=1;g2=0;cl();time=millis();w=1;audio();}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and g1==1){attsub++;g2=0;cl();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){attsub--;g1=0;g2=1;cl();audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){attsub--;g1=0;cl();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
       if(attsub&lt;-14){attsub=-14;}if(attsub&gt;0){attsub=0;time=millis();}
    if (newPosition != oldPosition) {
    oldPosition = newPosition;
    attsub=attsub+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(attsub&lt;-14){attsub=-14;}if(attsub&gt;0){attsub=0;}audio();}
  lcd.setCursor(0,0);lcd.print(&quot;ATT SUB  &quot;);
  lcd.print(&quot; &quot;);lcd.print(attsub);lcd.print(&quot; &quot;);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);attsub_d=(attsub+14)*2;
   for(z=0,z0=0,z1=0;z&lt;=attsub_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);}}  
   
  //////////////////////////// 3d ///////////////////////////////////////////////
 if(menu==11){
     if(ir.value==VOL_UP){ddd++;g1=1;g2=0;cl1();time=millis();w=1;audio();}// кнопка VOL+
     if(ir.value==0xFFFFFFFF and g1==1){ddd++;g2=0;cl1();time=millis();w=1;audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
     if(ir.value==VOL_DW){ddd--;g1=0;g2=1;cl1();audio();}// кнопка VOL-
     if(ir.value==0xFFFFFFFF and g2==1){ddd--;g1=0;cl1();time=millis();w=1;audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
   if(ddd&lt;0){ddd=1;}if(ddd&gt;1){ddd=0;}
   if (newPosition != oldPosition) {
    oldPosition = newPosition;
    ddd=ddd+newPosition;myEnc.write(0);newPosition=0;time=millis();w=1;if(ddd&lt;0){ddd=1;}if(ddd&gt;1){ddd=0;}audio();}
   lcd.setCursor(0,0); if(ddd==0){lcd.print(&quot;     3D  ON  &quot;);}else{lcd.print(&quot;     3D  OFF  &quot;);} }  
 //////////// mute ////////////////////////
  if(mute==1&amp;&amp;(digitalRead(12)==HIGH)){mute=0;menu=0;audio();cl1();}  
  if(digitalRead(12)==HIGH){mute=1;menu=100;audio();cl1();}
  if(mute==1){lcd.setCursor(0,0);lcd.print(&quot;      MUTE      &quot;);delay(300);}
   
   ////////////////////////////////////////////////////////////////////////////////
  if(digitalRead(11)==HIGH||inn==1){in++;if(in&gt;4){in=0;}audio_in();cl1();lcd.setCursor(0,0);lcd.print(&quot;    INPUT  &quot;);lcd.print(in+1);delay(2000);time=millis();w=1;inn=0;}// in
   
   if(millis()-time&gt;10000&amp;&amp; w==1&amp;&amp;mute==0){
     EEPROM.update(0,vol+79);EEPROM.update(1,in);EEPROM.update(2,bass+7);EEPROM.update(3,mid+7);EEPROM.update(4,treb+7);
     EEPROM.update(5,attfl+14);EEPROM.update(7,attcn+14);EEPROM.update(8,attsub+14);EEPROM.update(9,ddd);EEPROM.update(10,tembro);
     EEPROM.update(11,attfr+14);EEPROM.update(12,atttl+14);EEPROM.update(13,atttr+14);
     menu=0;w=0;cl();}
 
   
 }//loop
 
 void cl(){ir.value=0;delay(100);}
 void cl1(){ir.value=0;delay(300);lcd.clear();}
 void audio_in(){
  pt0.setInput(in); 
  pt0.setMute(0,0,0,0,0,0,0); 
  pt0.setFeature(1,1); 
}
 void audio(){
  pt.setFront_lk_att(abs(attfl));// att front L
  pt.setFront_rk_att(abs(attfr));// att front R
  pt.setCenter_att(abs(attcn));  // att center
  pt.setRear_lk_att(abs(atttl)); // att rear L
  pt.setRear_rk_att(abs(atttr)); // att rear R
  pt.setSub_att(abs(attsub));     // att sub
  pt.setFunc(mute,ddd,0); // mute,3d,тембр on/off
  pt.setBass(bass);            // BASS    -14...0...14 dB (int -7...0...7)
  pt.setMiddle(mid);          // MIDDLE  -14...0...14 dB (int -7...0...7)
  pt.setTreble(treb);          // TREBLE  -14...0...14 dB (int -7...0...7)
  pt.setVol(abs(vol)); // -79...0
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (shuhrat.ps)]]></author>
			<pubDate>Wed, 22 Nov 2023 01:42:35 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=593&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Регулятор громкости и тембра на LC75421M + 0.96′ I2C 128X64 OLED (Ardu]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=587&amp;action=new</link>
			<description><![CDATA[<p>При компиляции скетча выдаёт ошибку (Скетч использует 24824 байт (80%) памяти устройства. Всего доступно 30720 байт.<br />Глобальные переменные используют 1710 байт (83%) динамической памяти, оставляя 338 байт для локальных переменных. Максимум: 2048 байт.<br />Недостаточно памяти, программа может работать нестабильно.)</p>]]></description>
			<author><![CDATA[null@example.com (senior.vovchenko)]]></author>
			<pubDate>Wed, 25 Oct 2023 15:51:56 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=587&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Расширение функционала TDA7419]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=554&amp;action=new</link>
			<description><![CDATA[<p>Возможно ли добавить&nbsp; Q фактор для регулировки добротности фильтра сч и нч, то есть добавить дополнительных два пункта во втором меню. </p><p>#include &lt;Wire.h&gt; <br />#include &lt;TDA7419.h&gt;<br />#include &lt;EEPROM.h&gt;//#include &lt;EEPROMex.h&gt;<br />#include &lt;LiquidCrystal.h&gt;<br />#include &lt;Encoder.h&gt;<br />#include &lt;MsTimer2.h&gt;<br />Encoder myEnc(9, 8);//CLK, DT<br />TDA7419 tda; LiquidCrystal lcd(7, 6, 2, 3, 4, 5);// RS,E,D4,D5,D6,D7<br />&nbsp; int menu,vol,bas,w,w1,vol_d,bass_d,treb,treble_d,middle,middle_d,z,in,gain0,gain1,gain2,gain3,gain_d,set;<br />&nbsp; int lon, lon_f, lon_d,out,vol_out,rf,lf,rt,lt,sab,treb_c,mid_c,bas_c,sab_f,mute=1,vol_ram;<br />&nbsp; unsigned long time, oldPosition&nbsp; = -999,time1;<br />&nbsp; byte a1[8]={0b00000,0b11011,0b11011,0b11011,0b11011,0b11011,0b11011,0b00000};<br />&nbsp; byte a2[8]={0b00000,0b11000,0b11000,0b11000,0b11000,0b11000,0b11000,0b00000};</p><p>void setup(){<br /> lcd.begin(16, 2);lcd.createChar(0,a1); lcd.createChar(1,a2);Wire.begin();Serial.begin(9600);<br />&nbsp; pinMode(13,INPUT);// set<br />&nbsp; pinMode(12,INPUT);// меню<br />&nbsp; pinMode(11,INPUT);// плюс<br />&nbsp; pinMode(10,INPUT);// минус<br />&nbsp; pinMode(A0,INPUT);// КНОПКА ЭНКОДЕРА<br />&nbsp; &nbsp;vol = EEPROM.read(0);treb = EEPROM.read(1)-15;middle = EEPROM.read(3)-15;bas = EEPROM.read(3)-15;<br />&nbsp; &nbsp;in = EEPROM.read(4);gain1 = EEPROM.read(5);gain2 = EEPROM.read(6);gain3 = EEPROM.read(7);<br />&nbsp; &nbsp;lon = EEPROM.read(8);lon_f = EEPROM.read(9);rf = EEPROM.read(10);lf = EEPROM.read(11);<br />&nbsp; &nbsp;rt = EEPROM.read(12);lt = EEPROM.read(13);sab = EEPROM.read(14);treb_c = EEPROM.read(15);<br />&nbsp; &nbsp;mid_c = EEPROM.read(16);bas_c = EEPROM.read(17);sab_f = EEPROM.read(18);<br />&nbsp; &nbsp; MsTimer2::set(1, to_Timer);MsTimer2::start();<br />&nbsp; &nbsp;audio();<br />}<br />long newPosition;</p><p>void to_Timer(){ //функция таймера<br /> newPosition = myEnc.read()/4;</p><p>}<br />void loop(){<br />&nbsp; if((analogRead(A0)&lt;900||digitalRead(12)==HIGH)&amp;&amp;menu&lt;4){menu++;cl();myEnc.write(0);time=millis();w1=1;if(menu&gt;3){menu=0;}}// меню<br />&nbsp; if(digitalRead(12)==HIGH&amp;&amp;menu&gt;=4){menu++;cl();myEnc.write(0);time=millis();w1=1;if(menu&gt;10){menu=0;}}// меню 2<br />&nbsp; if(digitalRead(12)==HIGH&amp;&amp;digitalRead(13)==HIGH){menu=4;cl();}<br />&nbsp; &nbsp;if(digitalRead(10)==HIGH&amp;&amp;digitalRead(11)==HIGH){mute++;w=1;if(mute&gt;1){mute=0;}}<br />//////////////////////////////////////// Volume -80 ... 0 дБ //////////////////////////////////////<br /> if(menu==0){<br />&nbsp; &nbsp; if (newPosition != oldPosition) {<br />&nbsp; &nbsp; oldPosition = newPosition;<br />&nbsp; &nbsp; vol=vol+newPosition;myEnc.write(0);newPosition=0;audio();lcd.clear();time=millis();w1=1;if(vol&gt;80){vol=80;}if(vol&lt;0){vol=0;}}</p><p>&nbsp; &nbsp;if(digitalRead(11)==HIGH){vol++;w=1;if(vol&gt;80){vol=80;}}// 80 максимальная громкость&nbsp; <br />&nbsp; &nbsp;if(digitalRead(10)==HIGH){vol--;w=1;if(vol&lt;0){vol=0;}}// 0 минимум громкости <br />&nbsp; &nbsp;if(w==1){audio();cl();time=millis();w=0;w1=1;}<br />&nbsp; lcd.setCursor(0,0);if(mute==1){lcd.print(&quot;Volume&nbsp; &nbsp;&quot;);}else{lcd.print(&quot;MUTE&nbsp; &nbsp; &nbsp;&quot;);}<br />&nbsp; lcd.print(-80+vol);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);vol_d=vol/2-17;<br />&nbsp; &nbsp;if(vol_d&gt;=0){for(z=0;z&lt;=vol_d;z++){lcd.setCursor(z/2,1);lcd.write((uint8_t)0);}}<br />&nbsp; &nbsp;if((vol_d)%2==0){lcd.setCursor(z/2,1);lcd.write((uint8_t)1);}<br />&nbsp; lcd.setCursor(13,1);lcd.print(vol);}<br /> /////////////////////////////////////////////////////////////////////////////////////<br />&nbsp; /////////////////////// индикация тембр ВЧ + управление кнопками -15...15 дБ ///////////////////<br />&nbsp; &nbsp;if(menu==1){<br />&nbsp; &nbsp; &nbsp;if (newPosition != oldPosition) {<br />&nbsp; &nbsp; oldPosition = newPosition;<br />&nbsp; &nbsp; treb=treb+newPosition;myEnc.write(0);newPosition=0;audio();lcd.clear();time=millis();w1=1;if(treb&gt;15){treb=15;}if(treb&lt;-15){treb=-15;}} </p><p>&nbsp; &nbsp;if(digitalRead(11)==HIGH){treb++;w=1;if(treb&gt;15){treb=15;}} <br />&nbsp; &nbsp;if(digitalRead(10)==HIGH){treb--;w=1;if(treb&lt;-15){treb=-15;}}<br />&nbsp; &nbsp;if(w==1){audio();cl();time=millis();w1=1;w=0;}<br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;Treble&nbsp; &nbsp;&quot;);<br />&nbsp; lcd.print(treb);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);treble_d=treb+15;<br />&nbsp; &nbsp;if(treble_d&gt;=0){for(z=0;z&lt;=treble_d;z++){lcd.setCursor(z/2,1);lcd.write((uint8_t)0);}}<br />&nbsp; &nbsp;if((treble_d)%2==0){lcd.setCursor(z/2,1);lcd.write((uint8_t)1);}}<br />/////////////////////////////////////////////////////////////////////////////////////<br /> /////////////////////// индикация тембр CЧ + управление кнопками -15...15 дБ ///////////////////<br />&nbsp; &nbsp;if(menu==2){<br />&nbsp; &nbsp; &nbsp; if (newPosition != oldPosition) {<br />&nbsp; &nbsp; oldPosition = newPosition;<br />&nbsp; &nbsp; middle=middle+newPosition;myEnc.write(0);newPosition=0;audio();lcd.clear();time=millis();w1=1;if(middle&gt;15){middle=15;}if(middle&lt;-15){middle=-15;}} </p><p>&nbsp; &nbsp;if(digitalRead(11)==HIGH){middle++;w=1;if(middle&gt;15){middle=15;}} <br />&nbsp; &nbsp;if(digitalRead(10)==HIGH){middle--;w=1;if(middle&lt;-15){middle=-15;}}<br />&nbsp; &nbsp;if(w==1){audio();cl();time=millis();w1=1;w=0;}<br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;Middle&nbsp; &nbsp;&quot;);<br />&nbsp; lcd.print(middle);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);middle_d=middle+15;<br />&nbsp; &nbsp;if(middle_d&gt;=0){for(z=0;z&lt;=middle_d;z++){lcd.setCursor(z/2,1);lcd.write((uint8_t)0);}}<br />&nbsp; &nbsp;if((middle_d)%2==0){lcd.setCursor(z/2,1);lcd.write((uint8_t)1);}}<br />/////////////////////////////////////////////////////////////////////////////////////<br /> /////////////////////// индикация тембр НЧ + управление кнопками -15...15 дБ ///////////////////<br />&nbsp; &nbsp;if(menu==3){<br />&nbsp; &nbsp; if (newPosition != oldPosition) {<br />&nbsp; &nbsp; oldPosition = newPosition;<br />&nbsp; &nbsp; bas=bas+newPosition;myEnc.write(0);newPosition=0;audio();lcd.clear();time=millis();w1=1;if(bas&gt;15){bas=15;}if(bas&lt;-15){bas=-15;}}&nbsp; &nbsp;</p><p>&nbsp; &nbsp;if(digitalRead(11)==HIGH){bas++;w=1;if(bas&gt;15){bas=15;}} <br />&nbsp; &nbsp;if(digitalRead(10)==HIGH){bas--;w=1;if(bas&lt;-15){bas=-15;}}<br />&nbsp; &nbsp;if(w==1){audio();cl();time=millis();w1=1;w=0;}<br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;Bass&nbsp; &nbsp; &nbsp; &quot;);<br />&nbsp; lcd.print(bas);lcd.setCursor(13,0);lcd.print(&quot;dB&quot;);bass_d=bas+15;<br />&nbsp; &nbsp;if(bass_d&gt;=0){for(z=0;z&lt;=bass_d;z++){lcd.setCursor(z/2,1);lcd.write((uint8_t)0);}}<br />&nbsp; &nbsp;if((bass_d)%2==0){lcd.setCursor(z/2,1);lcd.write((uint8_t)1);}}<br /> ////////////////////////////////////////////////////////////////////////////////////<br /> ///////////////////////////// вход 1...3 + предусилитель 0...15 дБ //////////////////////////////<br />&nbsp; &nbsp;if(menu==4){&nbsp; //рег. предусилителя - нажать и удерживать кнопку set, рег. кнопки плюс и минус<br />&nbsp; &nbsp;if(digitalRead(11)==HIGH&amp;&amp;digitalRead(13)==LOW){in++;w=1;if(in&gt;3){in=3;}} <br />&nbsp; &nbsp;if(digitalRead(10)==HIGH&amp;&amp;digitalRead(13)==LOW){in--;w=1;if(in&lt;1){in=1;}}<br />&nbsp; &nbsp;if(in==1){gain0=gain1;}if(in==2){gain0=gain2;}if(in==3){gain0=gain3;}<br />&nbsp; &nbsp;if(digitalRead(13)==HIGH&amp;&amp;digitalRead(11)==HIGH){gain0++;w=1;if(gain0&gt;15){gain0=15;}}<br />&nbsp; &nbsp;if(digitalRead(13)==HIGH&amp;&amp;digitalRead(10)==HIGH){gain0--;w=1;if(gain0&lt;0){gain0=0;}}<br />&nbsp; &nbsp;if(w==1){audio();cl();time=millis();w1=1;w=0;}<br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;Input: &quot;);lcd.print(in);gain_d=gain0;<br />&nbsp; &nbsp;if(gain_d&gt;=0){for(z=0;z&lt;=gain_d;z++){lcd.setCursor(z/2,1);lcd.write((uint8_t)0);}}<br />&nbsp; &nbsp;if((gain_d)%2==0){lcd.setCursor(z/2,1);lcd.write((uint8_t)1);}<br />&nbsp; &nbsp;if(in==1){gain1=gain0;}if(in==2){gain2=gain0;}if(in==3){gain3=gain0;}<br />&nbsp; &nbsp;lcd.setCursor(11,1);lcd.print(gain0);lcd.print(&quot; dB&nbsp; &quot;);} <br />/////////////////////////////////////////////////////////////////////////////////////////////<br />////////////////////////////// loudness ////////////////////////////////////////////////////<br /> if(menu==5){&nbsp; <br />&nbsp; &nbsp;if(digitalRead(11)==HIGH&amp;&amp;digitalRead(13)==LOW){lon_f++;w=1;if(lon_f&gt;3){lon_f=3;}} <br />&nbsp; &nbsp;if(digitalRead(10)==HIGH&amp;&amp;digitalRead(13)==LOW){lon_f--;w=1;if(lon_f&lt;0){lon_f=0;}}<br />&nbsp; &nbsp;if(digitalRead(13)==HIGH&amp;&amp;digitalRead(11)==HIGH){lon++;w=1;if(lon&gt;15){lon=15;}}<br />&nbsp; &nbsp;if(digitalRead(13)==HIGH&amp;&amp;digitalRead(10)==HIGH){lon--;w=1;if(lon&lt;0){lon=0;}}<br />&nbsp; &nbsp;if(w==1){audio();cl();time=millis();w1=1;w=0;}lon_d=lon;<br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;Loudness: &quot;);<br />&nbsp; &nbsp;switch(lon_f){case 0: lcd.print(&quot;FLAT&quot;);break;case 1: lcd.print(&quot;400Hz&quot;);break;<br />&nbsp; &nbsp;case 2: lcd.print(&quot;800Hz&quot;);break;case 3: lcd.print(&quot;2400Hz&quot;);break;} <br />&nbsp; &nbsp;lcd.setCursor(0,1);<br />&nbsp; &nbsp; if(lon_d&gt;=0){for(z=0;z&lt;=lon_d;z++){lcd.setCursor(z/2,1);lcd.write((uint8_t)0);}}<br />&nbsp; &nbsp;if((lon_d)%2==0){lcd.setCursor(z/2,1);lcd.write((uint8_t)1);}<br />&nbsp; &nbsp;lcd.setCursor(9,1);lcd.print(&quot;-&quot;);lcd.print(lon);lcd.print(&quot; dB&nbsp; &quot;);} <br />////////////////////////////////////////// out /////////////////////////////////////////////////<br /> if(menu==6){&nbsp; <br />&nbsp; &nbsp;if(digitalRead(11)==HIGH&amp;&amp;digitalRead(13)==LOW){out++;w=1;if(out&gt;4){out=4;}} <br />&nbsp; &nbsp;if(digitalRead(10)==HIGH&amp;&amp;digitalRead(13)==LOW){out--;w=1;if(out&lt;0){out=0;}}<br />&nbsp; &nbsp; switch(out){case 0:vol_out=rf;break;case 1:vol_out=lf;break;case 2:vol_out=rt;break;<br />&nbsp; &nbsp;case 3:vol_out=lt;break;case 4:vol_out=sab;break;}<br />&nbsp; &nbsp;if(digitalRead(13)==HIGH&amp;&amp;digitalRead(11)==HIGH){vol_out++;w=1;if(vol_out&gt;15){vol_out=15;}}<br />&nbsp; &nbsp;if(digitalRead(13)==HIGH&amp;&amp;digitalRead(10)==HIGH){vol_out--;w=1;if(vol_out&lt;0){vol_out=0;}}<br />&nbsp; &nbsp;lcd.setCursor(0,0);lcd.print(&quot;Volume OUT&quot;);lcd.setCursor(0,1);<br />&nbsp; &nbsp; switch(out){<br />&nbsp; &nbsp;case 0:rf=vol_out;lcd.print(&quot;RF:&nbsp; +&quot;);lcd.print(rf);break;<br />&nbsp; &nbsp;case 1:lf=vol_out;lcd.print(&quot;LF:&nbsp; +&quot;);lcd.print(lf);break;<br />&nbsp; &nbsp;case 2:rt=vol_out;lcd.print(&quot;RT:&nbsp; +&quot;);lcd.print(rt);break;<br />&nbsp; &nbsp;case 3:lt=vol_out;lcd.print(&quot;LT:&nbsp; +&quot;);lcd.print(lt);break;<br />&nbsp; &nbsp;case 4:sab=vol_out;lcd.print(&quot;SUBW:&nbsp; +&quot;);lcd.print(sab);break;}<br />&nbsp; lcd.print(&quot; dB&nbsp; &nbsp; &nbsp; &quot;);if(w==1){audio();cl();time=millis();w1=1;w=0;}}<br />&nbsp; &nbsp;/////////////////////////////////treble center//////////////////////////////////////////////////<br /> if(menu==7){ <br /> if(digitalRead(11)==HIGH){treb_c++;w=1;if(treb_c&gt;3){treb_c=3;}} <br />&nbsp; &nbsp;if(digitalRead(10)==HIGH){treb_c--;w=1;if(treb_c&lt;0){treb_c=0;}}<br />&nbsp; &nbsp;if(w==1){audio();cl();time=millis();w1=1;w=0;}<br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;Treble Center &quot;);<br />&nbsp; lcd.setCursor(1,6);switch(treb_c){<br />&nbsp; case 0: lcd.print(&quot;10.0 kHz&quot;);break;case 1: lcd.print(&quot;12.5 kHz&quot;);break;<br />&nbsp; case 2: lcd.print(&quot;15.0 kHz&quot;);break;case 3: lcd.print(&quot;17.5 kHz&quot;);break;}}&nbsp; <br />&nbsp; &nbsp;/////////////////////////////////middle center//////////////////////////////////////////////////<br /> if(menu==8){ <br /> if(digitalRead(11)==HIGH){mid_c++;w=1;if(mid_c&gt;3){mid_c=3;}} <br />&nbsp; &nbsp;if(digitalRead(10)==HIGH){mid_c--;w=1;if(mid_c&lt;0){mid_c=0;}}<br />&nbsp; &nbsp;if(w==1){audio();cl();time=millis();w1=1;w=0;}<br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;Middle Center &quot;);<br />&nbsp; lcd.setCursor(1,6);switch(mid_c){<br />&nbsp; case 0: lcd.print(&quot;0.5 kHz&quot;);break;case 1: lcd.print(&quot;1.0 kHz&quot;);break;<br />&nbsp; case 2: lcd.print(&quot;1.5 kHz&quot;);break;case 3: lcd.print(&quot;2.5 kHz&quot;);break;}}<br />////////////////////////////////////bass center/////////////////////////////////////////// <br /> if(menu==9){ <br /> if(digitalRead(11)==HIGH){bas_c++;w=1;if(bas_c&gt;3){bas_c=3;}} <br />&nbsp; &nbsp;if(digitalRead(10)==HIGH){bas_c--;w=1;if(bas_c&lt;0){bas_c=0;}}<br />&nbsp; &nbsp;if(w==1){audio();cl();time=millis();w1=1;w=0;}<br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;Bass Center &quot;);<br />&nbsp; lcd.setCursor(1,6);switch(bas_c){<br />&nbsp; case 0: lcd.print(&quot;60 Hz&quot;);break;case 1: lcd.print(&quot;80 Hz&quot;);break;<br />&nbsp; case 2: lcd.print(&quot;100 Hz&quot;);break;case 3: lcd.print(&quot;200 Hz&quot;);break;}}<br />//////////////////////////////////////subw//////////////////////////////////////////////// <br /> if(menu==10){ <br /> if(digitalRead(11)==HIGH){sab_f++;w=1;if(sab_f&gt;3){sab_f=3;}} <br />&nbsp; &nbsp;if(digitalRead(10)==HIGH){sab_f--;w=1;if(sab_f&lt;0){sab_f=0;}}<br />&nbsp; &nbsp;if(w==1){audio();cl();time=millis();w1=1;w=0;}<br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;Subwoofer Freq.&quot;);<br />&nbsp; lcd.setCursor(1,6);switch(sab_f){<br />&nbsp; case 0: lcd.print(&quot;FLAT&quot;);break;case 1: lcd.print(&quot;80 Hz&quot;);break;<br />&nbsp; case 2: lcd.print(&quot;120 Hz&quot;);break;case 3: lcd.print(&quot;160 Hz&quot;);break;}}<br />//////////////////////////////////////////////////////////////////////////////////////</p><p>Serial.println(time);</p><p> if(millis()-time&gt;10000 &amp;&amp; w1==1){<br />&nbsp; &nbsp; &nbsp;EEPROM.update(0,vol);EEPROM.update(1,treb+15);EEPROM.update(2,middle+15);EEPROM.update(3,bas+15);<br />&nbsp; &nbsp; &nbsp;EEPROM.update(4,in);EEPROM.update(5,gain1);EEPROM.update(6,gain2);EEPROM.update(7,gain3);<br />&nbsp; &nbsp; &nbsp;EEPROM.update(8,lon);EEPROM.update(9,lon_f);<br />&nbsp; &nbsp; &nbsp;EEPROM.update(10,rf);EEPROM.update(11,lf);EEPROM.update(12,rt);EEPROM.update(13,lt);<br />&nbsp; &nbsp; &nbsp;EEPROM.update(14,sab);EEPROM.update(15,treb_c);EEPROM.update(16,mid_c);EEPROM.update(17,bas_c);<br />&nbsp; &nbsp; &nbsp;EEPROM.update(18,sab_f);<br />&nbsp; &nbsp; &nbsp;menu=0;w1=0; myEnc.write(0);cl();}<br />}//loop<br /> void cl(){delay(300);lcd.clear();}<br /> void audio(){<br />tda.setInput(in,gain0,0);&nbsp; &nbsp; //вх1=1, вх2=2, вх3=3<br />tda.setInput2(0,0,0);&nbsp; &nbsp;// не используется<br />tda.setAtt_loudness(lon,lon_f,0,0);<br />tda.setSoft(mute,0,0,0,0);//mute off (не менять)<br />tda.setVolume(vol-79,0);&nbsp; &nbsp;// общая громкость от 0 до 79 макс<br />tda.setAtt_LF(64+lf,0);&nbsp; &nbsp;// гром. лк фронт<br />tda.setAtt_RF(64+rf,0);&nbsp; &nbsp;// гром. пк фронт<br />tda.setAtt_LT(64+lt,0);&nbsp; &nbsp;// гром. лк тыл<br />tda.setAtt_RT(64+rt,0);&nbsp; &nbsp;// гром. пк тыл<br />tda.setAtt_SUB(64+sab,0);&nbsp; // гром. савбуфер<br />tda.setAtt_Mix(79,0);&nbsp; &nbsp;// не использует<br />tda.setFilter_Treble(treb,treb_c,0); <br />tda.setFilter_Middle(middle,0,0);<br />tda.setFilter_Bass(bas,0,0);<br />tda.setSub_M_B(sab_f,mid_c,bas_c,0,0);<br />tda.setMix_Gain_Eff(1,0,0,0,0); // не используется<br />tda.setSpektor(0,0,1,0,1,0,0);<br />}</p>]]></description>
			<author><![CDATA[null@example.com (alekc7800)]]></author>
			<pubDate>Fri, 14 Apr 2023 15:12:38 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=554&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[LC75412]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=539&amp;action=new</link>
			<description><![CDATA[<div class="codebox"><pre><code>// LC75412
#define CE 3 // pin 24
#define DI 2 // pin 25
#define CL 4 // pin 26
#define MUTE 5

void setup(){
  Serial.begin(9600);
  pinMode(CE,OUTPUT);pinMode(DI,OUTPUT);pinMode(CL,OUTPUT);pinMode(MUTE,OUTPUT);
  digitalWrite(CL,LOW);digitalWrite(CE,LOW);digitalWrite(DI,LOW);
  delay(500);digitalWrite(MUTE,1);
  //      in  gain vol bass treb fader ch  r/f loud zero zero_s
    audio(0,  0,    0,  0,   0,   0,   3,  0,  0,   0,   3);
  }

void loop(){
    
  delay(1000);
  }


void audio(int in, int gain, int vol, int bass, int treb, int fader, int ch, int rf, int loud, int zero, int zero_s){
  digitalWrite(CL,LOW);
  digitalWrite(CE,LOW);
    byte addr = 0x81;                                         
 for(int i = 7; i &gt;= 0; i--){
   digitalWrite(CL,LOW);
   digitalWrite(DI, (addr &gt;&gt; i) &amp; 0x01);Serial.print((addr &gt;&gt; i) &amp; 0x01);
   digitalWrite(CL,HIGH);
   }
   Serial.print(&quot; &quot;); 
   digitalWrite(CL,LOW);
   digitalWrite(CE,HIGH);
   digitalWrite(CL,LOW);

/// input control //////////////////////////////////////
// ch1...ch6 = byte 0...5 --- 0...2 bit
for(int i = 0; i &lt;= 2; i++){
        digitalWrite(CL,LOW);
        switch(i){
         case 0: digitalWrite(DI, (in &amp; 0b001)&gt;&gt;0);Serial.print((in &amp; 0b001)&gt;&gt;0);break;
         case 1: digitalWrite(DI, (in &amp; 0b010)&gt;&gt;1);Serial.print((in &amp; 0b010)&gt;&gt;1);break;
         case 2: digitalWrite(DI, (in &amp; 0b100)&gt;&gt;2);Serial.print((in &amp; 0b100)&gt;&gt;2);break;
        } 
        digitalWrite(CL,HIGH);
        }     
        Serial.print(&quot; &quot;);

/// 3 bit to 0 normal   
        digitalWrite(CL,LOW);
        digitalWrite(DI, 0);Serial.print(0);Serial.print(&quot; &quot;);
        digitalWrite(CL,HIGH); 

/// input gain conrtol /////////////////////////////////
// 0...+18.75 dB = byte 0...15 --- 4...7 bit
    for(int i = 0; i &lt;= 3; i++){
       digitalWrite(CL,LOW);
    switch(i){
       case 0: digitalWrite(DI, (gain &amp; 0b0001)&gt;&gt;0);Serial.print((gain &amp; 0b001)&gt;&gt;0);break;
       case 1: digitalWrite(DI, (gain &amp; 0b0010)&gt;&gt;1);Serial.print((gain &amp; 0b010)&gt;&gt;1);break;
       case 2: digitalWrite(DI, (gain &amp; 0b0100)&gt;&gt;2);Serial.print((gain &amp; 0b100)&gt;&gt;2);break;
       case 3: digitalWrite(DI, (gain &amp; 0b1000)&gt;&gt;3);Serial.print((gain &amp; 0b100)&gt;&gt;3);break;
       } 
       digitalWrite(CL,HIGH);
       }
       Serial.print(&quot; &quot;);
       
/// volume conrtol /////////////////////////////////
// 0...-78 dB = byte 0...78 --- 8...15 bit
    for(int i = 0; i &lt;= 7; i++){
       digitalWrite(CL,LOW);
    switch(i){
       case 0: digitalWrite(DI, (vol &amp; 0b00000001)&gt;&gt;0);Serial.print((vol &amp; 0b00000001)&gt;&gt;0);break;
       case 1: digitalWrite(DI, (vol &amp; 0b00000010)&gt;&gt;1);Serial.print((vol &amp; 0b00000010)&gt;&gt;1);break;
       case 2: digitalWrite(DI, (vol &amp; 0b00000100)&gt;&gt;2);Serial.print((vol &amp; 0b00000100)&gt;&gt;2);break;
       case 3: digitalWrite(DI, (vol &amp; 0b00001000)&gt;&gt;3);Serial.print((vol &amp; 0b00001000)&gt;&gt;3);break;
       case 4: digitalWrite(DI, (vol &amp; 0b00010000)&gt;&gt;4);Serial.print((vol &amp; 0b00010000)&gt;&gt;4);break;
       case 5: digitalWrite(DI, (vol &amp; 0b00100000)&gt;&gt;5);Serial.print((vol &amp; 0b00100000)&gt;&gt;5);break;
       case 6: digitalWrite(DI, (vol &amp; 0b01000000)&gt;&gt;6);Serial.print((vol &amp; 0b01000000)&gt;&gt;6);break;
       case 7: digitalWrite(DI, (vol &amp; 0b10000000)&gt;&gt;7);Serial.print((vol &amp; 0b10000000)&gt;&gt;7);break;
       } 
       digitalWrite(CL,HIGH);
       } 
       Serial.print(&quot; &quot;);
       
/// bass conrtol /////////////////////////////////
// -18...+18 dB = int -18...0...+18 
// 16...19 bit
int bass_d;
switch(bass){
  case  18:bass_d = 0b1100;break;
  case  16:bass_d = 0b0100;break;
  case  14:bass_d = 0b1000;break;
  case  12:bass_d = 0b0110;break;
  case  10:bass_d = 0b1010;break;
  case  8 :bass_d = 0b0010;break;
  case  6 :bass_d = 0b1100;break;
  case  4 :bass_d = 0b0100;break;
  case  2 :bass_d = 0b1000;break;
  case  0 :bass_d = 0b0000;break;
  case  -2:bass_d = 0b1001;break;
  case  -4:bass_d = 0b0101;break;
  case  -6:bass_d = 0b1101;break;
  case  -8:bass_d = 0b0011;break;
  case -10:bass_d = 0b1011;break;
  case -12:bass_d = 0b0111;break;
  case -14:bass_d = 0b1001;break;
  case -16:bass_d = 0b0101;break;
  case -18:bass_d = 0b1101;break;
  }
 for(int i = 3; i &gt;= 0; i--){
   digitalWrite(CL,LOW);
   digitalWrite(DI, (bass_d &gt;&gt; i) &amp; 0x01);Serial.print((bass_d &gt;&gt; i) &amp; 0x01);
   digitalWrite(CL,HIGH);
   } 
   Serial.print(&quot; &quot;);
       
////////////////////////////////////
// 20..23 bit
for(int i = 0; i &lt;= 3; i++){
        digitalWrite(CL,LOW);
        digitalWrite(DI, 0);Serial.print(0);
        digitalWrite(CL,HIGH);
   } 
   Serial.print(&quot; &quot;);
/// treble conrtol /////////////////////////////////
// -18...+18 dB = int -18...0...+18 
// 24...27 bit
int treb_d;
switch(treb){
  case  18:treb_d = 0b1100;break;
  case  16:treb_d = 0b0100;break;
  case  14:treb_d = 0b1000;break;
  case  12:treb_d = 0b0110;break;
  case  10:treb_d = 0b1010;break;
  case  8 :treb_d = 0b0010;break;
  case  6 :treb_d = 0b1100;break;
  case  4 :treb_d = 0b0100;break;
  case  2 :treb_d = 0b1000;break;
  case  0 :treb_d = 0b0000;break;
  case  -2:treb_d = 0b1001;break;
  case  -4:treb_d = 0b0101;break;
  case  -6:treb_d = 0b1101;break;
  case  -8:treb_d = 0b0011;break;
  case -10:treb_d = 0b1011;break;
  case -12:treb_d = 0b0111;break;
  case -14:treb_d = 0b1001;break;
  case -16:treb_d = 0b0101;break;
  case -18:treb_d = 0b1101;break;
  }
 for(int i = 3; i &gt;= 0; i--){
   digitalWrite(CL,LOW);
   digitalWrite(DI, (treb_d &gt;&gt; i) &amp; 0x01);Serial.print((treb_d &gt;&gt; i) &amp; 0x01);
   digitalWrite(CL,HIGH);
   }    
   Serial.print(&quot; &quot;);
       
/// fader volume conrtol /////////////////////////////////
// byte 0...15 --- 28...31 bit
  for(int i = 0; i &lt;= 3; i++){
       digitalWrite(CL,LOW);
    switch(i){
       case 0: digitalWrite(DI, (fader &amp; 0b0001)&gt;&gt;0);Serial.print((fader &amp; 0b0001)&gt;&gt;0);break;
       case 1: digitalWrite(DI, (fader &amp; 0b0010)&gt;&gt;1);Serial.print((fader &amp; 0b0010)&gt;&gt;1);break;
       case 2: digitalWrite(DI, (fader &amp; 0b0100)&gt;&gt;2);Serial.print((fader &amp; 0b0100)&gt;&gt;2);break;
       case 3: digitalWrite(DI, (fader &amp; 0b1000)&gt;&gt;3);Serial.print((fader &amp; 0b1000)&gt;&gt;3);break;
       } 
       digitalWrite(CL,HIGH);
       }  
       Serial.print(&quot; &quot;);
          
/// ch selection conrtol /////////////////////////////////
// byte 0...3
// 32...33 bit
  for(int i = 0; i &lt;= 1; i++){
       digitalWrite(CL,LOW);
    switch(i){
       case 0: digitalWrite(DI, (ch &amp; 0b01)&gt;&gt;0);Serial.print((ch &amp; 0b0001)&gt;&gt;0);break;
       case 1: digitalWrite(DI, (ch &amp; 0b10)&gt;&gt;1);Serial.print((ch &amp; 0b0010)&gt;&gt;1);break;
       } 
       digitalWrite(CL,HIGH);
       }   
       Serial.print(&quot; &quot;);
/// read/front conrtol /////////////////////////////////
// byte 0...1
// 34 bit
        digitalWrite(CL,LOW);
        digitalWrite(DI,rf);Serial.print(rf);
        digitalWrite(CL,HIGH);
        Serial.print(&quot; &quot;);
/// loudness conrtol /////////////////////////////////
// byte 0...1
// 35 bit
        digitalWrite(CL,LOW);
        digitalWrite(DI,loud);Serial.print(loud);
        digitalWrite(CL,HIGH); 
        Serial.print(&quot; &quot;);            
/// zero-cross conrtol /////////////////////////////////
// byte 0...2
// 36...37 bit
  for(int i = 0; i &lt;= 1; i++){
       digitalWrite(CL,LOW);
    switch(i){
       case 0: digitalWrite(DI, (zero &amp; 0b01)&gt;&gt;0);Serial.print((zero &amp; 0b01)&gt;&gt;0);break;
       case 1: digitalWrite(DI, (zero &amp; 0b10)&gt;&gt;1);Serial.print((zero &amp; 0b10)&gt;&gt;1);break;
} 
       digitalWrite(CL,HIGH);
       } 
       Serial.print(&quot; &quot;); 
       
/// zero-cross signal conrtol /////////////////////////////////
// byte 0...2
// 38...39 bit
  for(int i = 0; i &lt;= 1; i++){
       digitalWrite(CL,LOW);
    switch(i){
       case 0: digitalWrite(DI, (zero_s &amp; 0b01)&gt;&gt;0);Serial.print((zero_s &amp; 0b01)&gt;&gt;0);break;
       case 1: digitalWrite(DI, (zero_s &amp; 0b10)&gt;&gt;1);Serial.print((zero_s &amp; 0b10)&gt;&gt;1);break;
       } 
       digitalWrite(CL,HIGH);
       } 
       Serial.print(&quot; &quot;);
       
/// bass conrtol d40 /////////////////////////////////
// 40 bit
switch(bass){
  case  18:bass_d = 1;break;
  case  16:bass_d = 1;break;
  case  14:bass_d = 1;break;
  case  12:bass_d = 0;break;
  case  10:bass_d = 0;break;
  case  8 :bass_d = 0;break;
  case  6 :bass_d = 0;break;
  case  4 :bass_d = 0;break;
  case  2 :bass_d = 0;break;
  case  0 :bass_d = 0;break;
  case  -2:bass_d = 0;break;
  case  -4:bass_d = 0;break;
  case  -6:bass_d = 0;break;
  case  -8:bass_d = 0;break;
  case -10:bass_d = 0;break;
  case -12:bass_d = 0;break;
  case -14:bass_d = 1;break;
  case -16:bass_d = 1;break;
  case -18:bass_d = 1;break;
  }
        digitalWrite(CL,LOW);
        digitalWrite(DI, bass_d);Serial.print(bass_d);
        digitalWrite(CL,HIGH);
        Serial.print(&quot; &quot;);
/// treb conrtol d41 /////////////////////////////////
// 41 bit
switch(treb){
  case  18:treb_d = 1;break;
  case  16:treb_d = 1;break;
  case  14:treb_d = 1;break;
  case  12:treb_d = 0;break;
  case  10:treb_d = 0;break;
  case  8 :treb_d = 0;break;
  case  6 :treb_d = 0;break;
  case  4 :treb_d = 0;break;
  case  2 :treb_d = 0;break;
  case  0 :treb_d = 0;break;
  case  -2:treb_d = 0;break;
  case  -4:treb_d = 0;break;
  case  -6:treb_d = 0;break;
  case  -8:treb_d = 0;break;
  case -10:treb_d = 0;break;
  case -12:treb_d = 0;break;
  case -14:treb_d = 1;break;
  case -16:treb_d = 1;break;
  case -18:treb_d = 1;break;
  }
        digitalWrite(CL,LOW);
        digitalWrite(DI, treb_d);Serial.print(treb_d);
        digitalWrite(CL,HIGH); 
        Serial.print(&quot; &quot;);
/// test mode conrtol /////////////////////////////////
// byte 0...3
// 42...43 bit
int test = 0;
for(int i = 0; i &lt;= 1; i++){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (test &gt;&gt; i) &amp; 0x01);Serial.print(0);
        digitalWrite(CL,HIGH);
   }
//// end byte    
        digitalWrite(CL,LOW);
        delayMicroseconds(1);
        digitalWrite(CE,LOW);   
        delay(1);   
        Serial.println();    
  }  
    </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sun, 19 Feb 2023 06:14:28 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=539&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[M61531FP]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=507&amp;action=new</link>
			<description><![CDATA[<p><span class="attention-yellow"></span> </p><div class="codebox"><pre><code>// M61531FP 
#define DATA     2
#define CLOCK    3
#define LATCH    4


void setup(){ 
  Serial.begin(9600);
  pinMode(DATA,OUTPUT);pinMode(CLOCK,OUTPUT);pinMode(LATCH,OUTPUT);
  digitalWrite(DATA,LOW);digitalWrite(CLOCK,LOW);digitalWrite(LATCH,LOW);

}
 
void loop(){ 
     //   input_sel, input_att, rec_out1, rec_out2, rec_out3, rec_out4, multi_input, lr_vol_in1, input_gain, ins10, all_ch_out_mute, multi_in_mute, lr_vol_in2
  slot0(  0,         0,         0,        0,        0,        0,        0,           0,          0,          0,     0,               0,             0);
     //   l_vol, r_vol, c_vol
  slot1(  0,     0,     0);
     //   sl_vol, sr_vol, sw_vol
  slot2(  0,      0,      0);
     //   bass, treb, tone_in_att, bypass_tone, tone_block, loud, loud_balance, lr_bupass
  slot3(  0,    0,    0,           0,           0,          0,    0,            0);
  delay(1000);
}

void slot0(int input_sel, int input_att, int rec_out1, int rec_out2, int rec_out3, int rec_out4, int multi_input, int lr_vol_in1, int input_gain, int ins10, int all_ch_out_mute, int multi_in_mute, int lr_vol_in2){
     digitalWrite(LATCH,LOW);
   
  for(int i=3;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (input_sel &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }
  for(int i=1;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (input_att &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }    
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, rec_out1);
     digitalWrite(CLOCK,HIGH);
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, rec_out2);
     digitalWrite(CLOCK,HIGH);        
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, rec_out3);
     digitalWrite(CLOCK,HIGH);
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, rec_out4);
     digitalWrite(CLOCK,HIGH);
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, multi_input);
     digitalWrite(CLOCK,HIGH); 
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, lr_vol_in1);
     digitalWrite(CLOCK,HIGH); 
  for(int i=1;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (input_gain &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }  
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, ins10);
     digitalWrite(CLOCK,HIGH);     
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, all_ch_out_mute);
     digitalWrite(CLOCK,HIGH); 
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, multi_in_mute);
     digitalWrite(CLOCK,HIGH); 
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, lr_vol_in2);
     digitalWrite(CLOCK,HIGH); 
     int stot_add0 = 0b0010;                
  for(int i=3;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (stot_add0 &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }                    
     digitalWrite(LATCH,HIGH);
     }

 void slot1(int l_vol, int r_vol, int c_vol){
     digitalWrite(LATCH,LOW);
   
  for(int i=6;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (l_vol &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }
  for(int i=6;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (r_vol &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }  
  for(int i=6;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (c_vol &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }          

     int stot_add1 = 0b000;                
  for(int i=2;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (stot_add1 &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }                    
     digitalWrite(LATCH,HIGH);
     }    

 void slot2(int sl_vol, int sr_vol, int sw_vol){
     digitalWrite(LATCH,LOW);
   
  for(int i=6;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (sl_vol &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }
  for(int i=6;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (sr_vol &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }  
  for(int i=6;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (sw_vol &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }          

     int stot_add2 = 0b001;                
  for(int i=2;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (stot_add2 &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }                    
     digitalWrite(LATCH,HIGH);
     }   

void slot3(int bass, int treb, int tone_in_att, int bypass_tone, int tone_block, int loud, int loud_balance, int lr_bupass){
     digitalWrite(LATCH,LOW);
   
  for(int i=4;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (bass &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }
  for(int i=4;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (treb &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }  
  for(int i=1;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (tone_in_att &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }    
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, bypass_tone);
     digitalWrite(CLOCK,HIGH); 
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, tone_block);
     digitalWrite(CLOCK,HIGH); 
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, loud);
     digitalWrite(CLOCK,HIGH); 
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, loud_balance);
     digitalWrite(CLOCK,HIGH); 
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, lr_bupass);
     digitalWrite(CLOCK,HIGH);                           

     int stot_add3 = 0b00000011;                
  for(int i=7;i&gt;=0; i--){
     digitalWrite(CLOCK,LOW);
     digitalWrite(DATA, (stot_add3 &gt;&gt; i) &amp; 1);
     digitalWrite(CLOCK,HIGH);
     }                    
     digitalWrite(LATCH,HIGH);
     }          </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 23 Aug 2022 14:14:23 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=507&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[TDA7461D]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=506&amp;action=new</link>
			<description><![CDATA[<p>Здравствуйте нет ли у вас наработок по аудиопроцессору TDA7461d? Помогите пожалуйста реализовать управление громкостью аналоговым резистором или двумя кнопками на палате arduino nano. Имеется автомобильный усилитель kenwood из прошлого века, родную голову управления найти не могу, выбросить рука не поднимается, нужно ему дать вторую жизнь.</p>]]></description>
			<author><![CDATA[null@example.com (hunt20)]]></author>
			<pubDate>Sun, 14 Aug 2022 05:01:12 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=506&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[PT2314]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=497&amp;action=new</link>
			<description><![CDATA[<p>Hola. El proyecto con PT 2314 más lcd 1602 más rtc3231 , funciono correctamente. Quisiera agregarle alarma y además apagado de 10 minutos. Me podrán dar el codigo. Gracias . Saludos.</p>]]></description>
			<author><![CDATA[null@example.com (msanfelipe133)]]></author>
			<pubDate>Tue, 12 Jul 2022 01:15:17 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=497&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[PT2318]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=418&amp;action=new</link>
			<description><![CDATA[<p><span class="attention-yellow"></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 23 Aug 2021 06:45:28 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=418&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[pt2329]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=396&amp;action=new</link>
			<description><![CDATA[<p><span class="attention-yellow"></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 20 Jul 2021 05:49:45 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=396&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[M61538FP 6-Channel Electronic Volume]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=167&amp;action=new</link>
			<description><![CDATA[<p>M61538FP<br />6-Channel Electronic Volume </p><p><span class="attention-yellow"></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sat, 23 May 2020 09:25:50 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=167&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[pt2033]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=106&amp;action=new</link>
			<description><![CDATA[<p><span class="attention-yellow"></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 17 Dec 2019 15:44:32 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=106&amp;action=new</guid>
		</item>
	</channel>
</rss>
