<?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=14&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние темы раздела «forum.rcl-radio.ru».]]></description>
		<lastBuildDate>Sun, 16 Nov 2025 18:53:02 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Arduino Микроконтроллеры (Измерить C)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=719&amp;action=new</link>
			<description><![CDATA[<p>переделал ваш код, как смог, это первая проба. Не все разобрал, но должен, далее справлюсь. <br /><a href="http://rcl-radio.ru/?p=43106">Arduino Микроконтроллеры</a><br />на LCD под включение на четыре ноги</p><div class="codebox"><pre><code> // взято отсюда ..h==://rcl-radio.ru/?p=43106

#include &lt;LiquidCrystal_I2C.h&gt;
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();           // инициализация
 // lcd.backlight();      // включить подсветку
}
unsigned long time0, time1, time2;
float c, null0;
byte kn, mk, i;

void loop() {
  lcd.setCursor(15, 0);
  lcd.print(&quot;*&quot;);
  if (mk == 0) {
    pinMode(13, OUTPUT);
    pinMode(3, INPUT);
    digitalWrite(13, HIGH);
  }

  if (mk == 1) {
    pinMode(3, OUTPUT);
    pinMode(13, INPUT);
    digitalWrite(3, HIGH);
  }

  time0 = micros();
  while (analogRead(A0) &lt; 644) {
    time2 = micros() - time0;
    if (time2 &gt;= 1000000 &amp;&amp; mk == 0) {
      mk = 1;
      time0 = 100000000;
      break;
    }
  }

  time1 = micros() - time0;

  while (analogRead(A0) &gt; 0) {
    pinMode(3, OUTPUT);
    pinMode(13, OUTPUT);
    digitalWrite(3, LOW);
    digitalWrite(13, LOW);
  }

  if (mk == 1 &amp;&amp; time1 &lt; 1000) {
    mk = 0;
  }

  lcd.setCursor(1, 0);
  c = time1;
  c = c / 1000 - null0;
  c = abs(c);

  if (time1 &gt;= 10000000) {
    lcd.setCursor(1, 0);
    lcd.print(&quot; TEST uF   &quot;);
  } else {                  // Вывод на LCD
    lcd.print(c);

    if (mk == 0) {
      lcd.print(&quot; nF       &quot;);
    }
    if (mk == 1) {
      lcd.print(&quot; uF       &quot;);
    }
  }
  if (i == 0) {              // калибровка нуля
    i++;
    null0 = c + 0.02;
  }
  delay(100);
} </code></pre></div><p>изменен и работает. Код выше с ошбками.<br /><a href="https://github.com/OKRUgit/MOI_chemi/blob/Okrugit/Condensator/">GitHub </a></p>]]></description>
			<author><![CDATA[null@example.com (Okruru)]]></author>
			<pubDate>Sun, 16 Nov 2025 18:53:02 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=719&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[FM и ЧМ]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=715&amp;action=new</link>
			<description><![CDATA[<p>Я хотел тут предложить разработки, своей деятельности. С 1965 года. Но увидив что автор не понимает что такое FM&nbsp; и ЧМ. Думаю мне здесь не интересно. Адью. Всего вАМ ...</p>]]></description>
			<author><![CDATA[null@example.com (aqtar)]]></author>
			<pubDate>Wed, 05 Nov 2025 18:08:46 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=715&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Терморегулятор DS18B20 с таймером (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=598&amp;action=new</link>
			<description><![CDATA[<p>здрасте можно вырезать таймер чтоб был просто терморегулятор с гистерезисом 0.1 шагом</p>]]></description>
			<author><![CDATA[null@example.com (graf2017.graf2017)]]></author>
			<pubDate>Thu, 14 Dec 2023 02:56:31 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=598&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Часы на адресной ленте WS2812 (Разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=432&amp;action=new</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/01/a804a933e336ce6f0bb974179671bac6.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/01/a804a933e336ce6f0bb974179671bac6.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/01/486beeaccdfafc1069672ec1040a8c34.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/01/486beeaccdfafc1069672ec1040a8c34.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/01/b65a5af32a603b3a99b0e8477a47a722.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/01/b65a5af32a603b3a99b0e8477a47a722.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/01/05a3dcbe08d47fbe55c037f502c2483b.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/01/05a3dcbe08d47fbe55c037f502c2483b.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/01/11cc9c56829d7e43679f554ab03fa151.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2022/01/11cc9c56829d7e43679f554ab03fa151.jpg" /></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sat, 01 Jan 2022 18:36:38 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=432&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Аудиопроцессор - LC75343M]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=428&amp;action=new</link>
			<description><![CDATA[<p>Основная тема - <a href="http://rcl-radio.ru/?p=110893">http://rcl-radio.ru/?p=110893</a></p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/12/f7b773fa0d0bc7517cafdf83aefec25f.gif" alt="http://forum.rcl-radio.ru/uploads/images/2021/12/f7b773fa0d0bc7517cafdf83aefec25f.gif" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/12/1ce57cab0208ccc63fd618433da9aa7b.png" alt="http://forum.rcl-radio.ru/uploads/images/2021/12/1ce57cab0208ccc63fd618433da9aa7b.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/12/dd76b715d90b3ea681216cca4e6cc87a.png" alt="http://forum.rcl-radio.ru/uploads/images/2021/12/dd76b715d90b3ea681216cca4e6cc87a.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/12/94d0ff8f596e2d006597a85b95e738eb.png" alt="http://forum.rcl-radio.ru/uploads/images/2021/12/94d0ff8f596e2d006597a85b95e738eb.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/12/061c906db706e3c718e66493ac139a74.png" alt="http://forum.rcl-radio.ru/uploads/images/2021/12/061c906db706e3c718e66493ac139a74.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/12/6f153711dde020dd7e074a94378d230b.png" alt="http://forum.rcl-radio.ru/uploads/images/2021/12/6f153711dde020dd7e074a94378d230b.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/12/b9a1bbe624fa05fb123a96f80824326c.png" alt="http://forum.rcl-radio.ru/uploads/images/2021/12/b9a1bbe624fa05fb123a96f80824326c.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/12/d08020c75dd6977f0f1a1c4f2451a9e2.png" alt="http://forum.rcl-radio.ru/uploads/images/2021/12/d08020c75dd6977f0f1a1c4f2451a9e2.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/12/fa2ff860de0f6faffa5700a9ce0cef9e.png" alt="http://forum.rcl-radio.ru/uploads/images/2021/12/fa2ff860de0f6faffa5700a9ce0cef9e.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/12/9229b877def324a0a99fdc5b4ddb92b6.png" alt="http://forum.rcl-radio.ru/uploads/images/2021/12/9229b877def324a0a99fdc5b4ddb92b6.png" /></span> </p><br /><div class="codebox"><pre><code>#define CE 3
#define DI 2
#define CL 4

#define IR1    0x33B850AF // main/setting menu
#define IR2    0x33B820DF // button encoder
#define IR3    0x33B8946B // mute
#define IR4    0x33B810EF // &gt;&gt;&gt;
#define IR5    0x33B8E01F // &lt;&lt;&lt;
#define IR6    0x33B844BB // INPUT
#define POWER  0x33B800FF // STANDBY

#define BRIG_L 50
#define BRIG_H 250

#include &lt;Wire.h&gt; 
#include &lt;LiquidCrystal_I2C.h&gt; // http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;item=45&amp;download=1
#include &lt;Encoder.h&gt;           // http://rcl-radio.ru/wp-content/uploads/2019/05/Encoder.zip       
#include &lt;EEPROM.h&gt;
#include &lt;MsTimer2.h&gt;          // http://rcl-radio.ru/wp-content/uploads/2018/11/MsTimer2.zip 
#include &lt;boarddefs.h&gt;         // входит в состав библиотеки IRremote
#include &lt;IRremote.h&gt;          // http://rcl-radio.ru/wp-content/uploads/2019/06/IRremote.zip
#include &lt;DS3231.h&gt;            // http://rcl-radio.ru/wp-content/uploads/2021/10/DS3231.zip

LiquidCrystal_I2C lcd(0x27,16,2);  // Устанавливаем дисплей
Encoder myEnc(8, 9);// DT, CLK
IRrecv irrecv(12); // указываем вывод модуля IR приемника
decode_results ir; 
DS3231 clock;RTCDateTime DateTime;

byte input_m[8]={0b0001,0b1001,0b0101,0b1101,0b0011,0b0111,0b1111};
byte input_gain_m[16]{0b0000,0b1000,0b0100,0b1100,0b0010,0b1010,0b0110,0b1110,0b0001,0b1001,0b0101,0b1101,0b0011,0b1011,0b0111,0b1111};
byte volume_m[64]{0b000000,0b100000,0b010000,0b110000,0b001000,0b101000,0b011000,0b111000,0b000100,0b100100,0b010100,0b110100,0b001100,
0b101100,0b011100,0b111100,0b000010,0b100010,0b010010,0b110010,0b001010,0b101010,0b011010,0b111010,0b000110,0b100110,0b010110,0b110110,
0b001110,0b101110,0b011110,0b111110,0b000001,0b100001,0b010001,0b110001,0b001001,0b101001,0b011001,0b111001,0b000101,0b100101,0b010101,
0b110101,0b001101,0b101101,0b011101,0b111101,0b000011,0b100011,0b010011,0b110011,0b001011,0b101011,0b011011,0b111011,0b000111,0b100111,
0b010111,0b110111,0b001111,0b101111,0b011111,0b111111};
byte ch_sel_m[3]{0b10,0b01,0b11};
byte tembr_m[11]{0b1010,0b0010,0b1100,0b0100,0b1000,0b0000,0b1001,0b0101,0b1101,0b0011,0b1011};
byte v1[8] = {0b00111,0b00111,0b00111,0b00111,0b00111,0b00111,0b00111,0b00111};
byte v2[8] = {0b00111,0b00111,0b00000,0b00000,0b00000,0b00000,0b00000,0b00000};      
byte v3[8] = {0b00000,0b00000,0b00000,0b00000,0b00000,0b00000,0b11111,0b11111};
byte v4[8] = {0b11111,0b11111,0b00000,0b00000,0b00000,0b00000,0b11111,0b11111};
byte v5[8] = {0b11100,0b11100,0b00000,0b00000,0b00000,0b00000,0b11100,0b11100};
byte v6[8] = {0b11100,0b11100,0b11100,0b11100,0b11100,0b11100,0b11100,0b11100};
byte v7[8] = {0b00000,0b00000,0b00000,0b00000,0b00000,0b00000,0b00111,0b00111};
byte v8[8] = {0b11111,0b11111,0b00000,0b00000,0b00000,0b00000,0b00000,0b00000}; 
unsigned long times,oldPosition  = -999,newPosition;
int menu0=100,menu,vol_reg,in_reg,mute_reg,treb_reg,mid_reg,bass_reg,ball,fun,chl,chr,i,gain0,gain1,gain2,gain3,gain4,gain5,vol_old;
int hour,secon,minut;
byte a[6],d1,d2,d3,d4,d5,d6,e1,e2,e3,w,w2,x,www,gr1,gr2,power;


void setup() {
  pinMode(CE,OUTPUT);pinMode(DI,OUTPUT);pinMode(CL,OUTPUT);
  digitalWrite(CL,LOW);digitalWrite(CE,LOW);digitalWrite(DI,LOW);
  irrecv.enableIRIn();lcd.init();lcd.backlight();Wire.begin();clock.begin(); 
  lcd.createChar(1, v1);lcd.createChar(2, v2);lcd.createChar(3, v3);lcd.createChar(4, v4);
  lcd.createChar(5, v5);lcd.createChar(6, v6);lcd.createChar(7, v7);lcd.createChar(8, v8);
   //  clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
   pinMode(10,INPUT);// encoder SW
   pinMode(11,INPUT_PULLUP);// input button
   pinMode(A0,INPUT_PULLUP);// menu set/main button
   pinMode(A1,INPUT_PULLUP);// mute button
   pinMode(A2,INPUT_PULLUP);// POWER
   pinMode(6,OUTPUT);       // PWM output
   pinMode(13,OUTPUT);      // OUTPUT STANDBY
   analogWrite(6,BRIG_H);
  MsTimer2::set(1, to_Timer);MsTimer2::start();
  if(EEPROM.read(100)!=0){for(int i=0;i&lt;101;i++){EEPROM.update(i,0);}}// очистка памяти при первом включении  
  Serial.begin(9600);
  vol_reg = EEPROM.read(0);treb_reg = EEPROM.read(1);mid_reg = EEPROM.read(2);bass_reg = EEPROM.read(3);
   gain1 = EEPROM.read(4);gain2 = EEPROM.read(5);gain3 = EEPROM.read(6);gain4 = EEPROM.read(7);gain5 = EEPROM.read(8);
  in_reg = EEPROM.read(9);ball = EEPROM.read(10)-4;
    switch(in_reg){
     case 0: gain0 = gain1;break;
     case 1: gain0 = gain2;break;
     case 2: gain0 = gain3;break;
     case 3: gain0 = gain4;break;
     case 4: gain0 = gain5;break;}
  delay(100);audio_R();audio_L();
  lcd.setCursor(4,0);lcd.print(&quot;LC75343M&quot;); lcd.setCursor(0,1);lcd.print(&quot;audio  processor&quot;);
  delay(1000);lcd.clear();
  }

void loop() {
 /// IR ////////////////////////////////////////
   if ( irrecv.decode( &amp;ir )) {Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);irrecv.resume();times=millis();w=1;w2=1;}// IR приемник - чтение, в мониторе порта отображаются коды кнопок
   if(ir.value==0){gr1=0;gr2=0;}// запрет нажатий не активных кнопок пульта  
 /// BUTTON ///////////////////////////////////
 if(power==0){
   if((digitalRead(10)==LOW||ir.value==IR2)&amp;&amp;menu0==100){menu++;menu0=100;gr1=0;gr2=0;cl();times=millis();w=1;w2=1;if(menu&gt;3){menu=0;}}
   if((digitalRead(10)==LOW||ir.value==IR2)&amp;&amp;menu==100){menu0++;menu=100;gr1=0;gr2=0;cl();times=millis();w=1;w2=1;if(menu0&gt;1){menu0=0;}}
   if((digitalRead(11)==LOW||ir.value==IR6)){in_reg++;cl();times=millis();w=1;w2=1;if(in_reg&gt;4){in_reg=0;}audio_R();audio_L();lcd.setCursor(4,0);lcd.print(&quot;INPUT &quot;);lcd.print(in_reg+1);delay(1000);cl();}
   if((digitalRead(A0)==LOW||ir.value==IR1)&amp;&amp;menu&lt;100){menu=100;menu0=0;gr1=0;gr2=0;cl();times=millis();w=1;w2=1;lcd.setCursor(2,0);lcd.print(&quot;SETTING MENU&quot;);delay(1000);cl();}
   if((digitalRead(A0)==LOW||ir.value==IR1)&amp;&amp;menu0&lt;100){menu0=100;menu=0;gr1=0;gr2=0;cl();times=millis();w=1;w2=1;lcd.setCursor(3,0);lcd.print(&quot;MAIN MENU&quot;);delay(1000);cl();}
   if((digitalRead(A1)==LOW||ir.value==IR3)&amp;&amp;mute_reg==0){mute_reg=1;menu0=100;menu=100;cl();vol_old=vol_reg;vol_reg=0;audio_R();audio_L();lcd.setCursor(6,0);lcd.print(&quot;MUTE&quot;);}
   if((digitalRead(A1)==LOW||ir.value==IR3)&amp;&amp;mute_reg==1){mute_reg=0;menu0=100;menu=0;cl();vol_reg=vol_old;audio_R();audio_L();}
 }
 // standby output
 if(power==0){digitalWrite(13,HIGH);}else{digitalWrite(13,LOW);}
 /// power ///
 if((digitalRead(A2)==LOW||ir.value==POWER)&amp;&amp;power==0){power=1;w=1;w2=1;menu=100;analogWrite(6,BRIG_L);cl();myEnc.write(0);mute_reg=1;vol_old=vol_reg;vol_reg=0;
  lcd.setCursor(4,0);lcd.print(&quot;POWER OFF&quot;);audio_R();audio_L();delay(2000);cl();}
 if((digitalRead(A2)==LOW||ir.value==POWER)&amp;&amp;power==1&amp;&amp;digitalRead(10)==HIGH){power=0;w=1;w2=1;menu=0;analogWrite(6,BRIG_H);cl();myEnc.write(0);mute_reg=0;vol_reg=vol_old;
  lcd.setCursor(4,0);lcd.print(&quot;POWER  ON&quot;);audio_R();audio_L();delay(2000);cl();}  
  
 ////////////// MENU MAIN /////////////////////////////////
 ////////////// VOLUME ///////////////////////////////////////////////////////////////////
 if(menu==0){
   if(ir.value==IR4){vol_reg++;gr1=1;gr2=0;cl1();times=millis();w=1;w2=1;vol_func();audio_R();audio_L();}// кнопка &gt; 
   if(ir.value==0xFFFFFFFF and gr1==1){vol_reg++;gr2=0;cl1();times=millis();w=1;w2=1;vol_func();audio_R();audio_L();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==IR5){vol_reg--;gr1=0;gr2=1;cl1();times=millis();w=1;w2=1;vol_func();audio_R();audio_L();}// кнопка &lt;
   if(ir.value==0xFFFFFFFF and gr2==1){vol_reg--;gr1=0;cl1();times=millis();w=1;w2=1;vol_func();audio_R();audio_L();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
 
   if (newPosition != oldPosition){oldPosition = newPosition;vol_reg=vol_reg+newPosition;myEnc.write(0);newPosition=0;times=millis();w=1;w2=1;vol_func();audio_R();audio_L();}
   a[0]= (vol_reg-4)/10;a[1]=(vol_reg-4)%10;
   for(x=0;x&lt;2;x++){switch(x){case 0: e1=10,e2=11,e3=12;break;case 1: e1=13,e2=14,e3=15;break;}digit();}
   if(mute_reg==0){lcd.setCursor(0,0);lcd.print(&quot;VOLUME&quot;);}else{lcd.setCursor(0,0);lcd.print(&quot;MUTE&quot;);}
   lcd.setCursor(0,1);lcd.print(&quot;INPUT &quot;);lcd.print(in_reg+1);
   }
////////////// TREBLE ///////////////////////////////////////////////////////////////////
 if(menu==1){
   if(ir.value==IR4){treb_reg++;gr1=1;gr2=0;cl1();delay(200);times=millis();w=1;w2=1;treb_func();audio_R();audio_L();}// кнопка &gt; 
   if(ir.value==0xFFFFFFFF and gr1==1){treb_reg++;gr2=0;cl1();delay(200);times=millis();w=1;w2=1;treb_func();audio_R();audio_L();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==IR5){treb_reg--;gr1=0;gr2=1;cl1();delay(200);times=millis();w=1;w2=1;treb_func();audio_R();audio_L();}// кнопка &lt;
   if(ir.value==0xFFFFFFFF and gr2==1){treb_reg--;gr1=0;cl1();delay(200);times=millis();w=1;w2=1;treb_func();audio_R();audio_L();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
 
   if (newPosition != oldPosition){oldPosition = newPosition;treb_reg=treb_reg+newPosition;myEnc.write(0);newPosition=0;times=millis();w=1;w2=1;treb_func();
   audio_R();audio_L();}
   a[0]= treb_reg/10;a[1]=treb_reg%10;
   for(x=0;x&lt;2;x++){switch(x){case 0: e1=10,e2=11,e3=12;break;case 1: e1=13,e2=14,e3=15;break;}digit();}
   lcd.setCursor(0,0);lcd.print(&quot;TREBLE&quot;);lcd.setCursor(0,1);lcd.print(&quot;CONTROL&quot;);
   }  
////////////// MIDDLE ///////////////////////////////////////////////////////////////////
 if(menu==2){
   if(ir.value==IR4){mid_reg++;gr1=1;gr2=0;cl1();delay(200);times=millis();w=1;w2=1;mid_func();audio_R();audio_L();}// кнопка &gt; 
   if(ir.value==0xFFFFFFFF and gr1==1){mid_reg++;gr2=0;cl1();delay(200);times=millis();w=1;w2=1;mid_func();audio_R();audio_L();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==IR5){mid_reg--;gr1=0;gr2=1;cl1();delay(200);times=millis();w=1;w2=1;mid_func();audio_R();audio_L();}// кнопка &lt;
   if(ir.value==0xFFFFFFFF and gr2==1){mid_reg--;gr1=0;cl1();delay(200);times=millis();w=1;w2=1;mid_func();audio_R();audio_L();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
 
   if (newPosition != oldPosition){oldPosition = newPosition;mid_reg=mid_reg+newPosition;myEnc.write(0);newPosition=0;times=millis();w=1;w2=1;mid_func();
   audio_R();audio_L();}
   a[0]= mid_reg/10;a[1]=mid_reg%10;
   for(x=0;x&lt;2;x++){switch(x){case 0: e1=10,e2=11,e3=12;break;case 1: e1=13,e2=14,e3=15;break;}digit();}
   lcd.setCursor(0,0);lcd.print(&quot;MIDDLE&quot;);lcd.setCursor(0,1);lcd.print(&quot;CONTROL&quot;);
   } 
////////////// BASS ///////////////////////////////////////////////////////////////////
 if(menu==3){
   if(ir.value==IR4){bass_reg++;gr1=1;gr2=0;cl1();delay(200);times=millis();w=1;w2=1;bass_func();audio_R();audio_L();}// кнопка &gt; 
   if(ir.value==0xFFFFFFFF and gr1==1){bass_reg++;gr2=0;cl1();delay(200);times=millis();w=1;w2=1;bass_func();audio_R();audio_L();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==IR5){bass_reg--;gr1=0;gr2=1;cl1();delay(200);times=millis();w=1;w2=1;bass_func();audio_R();audio_L();}// кнопка &lt;
   if(ir.value==0xFFFFFFFF and gr2==1){bass_reg--;gr1=0;cl1();delay(200);times=millis();w=1;w2=1;bass_func();audio_R();audio_L();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
 
   if (newPosition != oldPosition){oldPosition = newPosition;bass_reg=bass_reg+newPosition;myEnc.write(0);newPosition=0;times=millis();w=1;w2=1;bass_func();
   audio_R();audio_L();}
   a[0]= bass_reg/10;a[1]=bass_reg%10;
   for(x=0;x&lt;2;x++){switch(x){case 0: e1=10,e2=11,e3=12;break;case 1: e1=13,e2=14,e3=15;break;}digit();}
   lcd.setCursor(0,0);lcd.print(&quot;BASS&quot;);lcd.setCursor(0,1);lcd.print(&quot;CONTROL&quot;);
   }    
//////// BALANCE /////////////////////////////////////////////////////////////// 
 if(menu0==0){ 
   if(ir.value==IR4){ball++;gr1=1;gr2=0;cl1();times=millis();w=1;w2=1;ball_fun();audio_R();audio_L();}// кнопка &gt; 
   if(ir.value==IR5){ball--;gr1=0;gr2=1;cl1();times=millis();w=1;w2=1;ball_fun();audio_R();audio_L();}// кнопка &lt;
 
   if (newPosition != oldPosition){oldPosition = newPosition;
   ball=ball-newPosition;myEnc.write(0);newPosition=0;times=millis();w=1;w2=1;ball_fun();audio_R();audio_L();}
   lcd.setCursor(4,0);lcd.print(F(&quot;   &lt;&gt;   &quot;));lcd.setCursor(4,1);lcd.print(F(&quot;CHL  CHR&quot;));
   chl=(4+ball)-4;chr=(4-ball)-4;
   if(chl&lt;0){lcd.setCursor(12,0);chl=abs(chl);lcd.write((uint8_t)3);}else{lcd.setCursor(12,0);lcd.print(&quot; &quot;);}
   if(chr&lt;0){lcd.setCursor(0,0);chr=abs(chr);lcd.write((uint8_t)3);}else{lcd.setCursor(0,0);lcd.print(&quot; &quot;);}
   if(w2==1){w2=0;a[0]=chl;a[1]=chr;
   for(i=0;i&lt;2;i++){
      switch(i){
        case 0: e1=1,e2=2,e3=3;break;
        case 1: e1=13,e2=14,e3=15;break;
        }
      switch(a[i]){
        case 0: d1=1,d2=8,d3=6,d4=1,d5=3,d6=6;break;
        case 1: d1=32,d2=2,d3=6,d4=32,d5=32,d6=6;break;
        case 2: d1=2,d2=8,d3=6,d4=1,d5=4,d6=5;break;
        case 3: d1=2,d2=4,d3=6,d4=7,d5=3,d6=6;break;
        case 4: d1=1,d2=3,d3=6,d4=32,d5=32,d6=6;break;
        case 5: d1=1,d2=4,d3=5,d4=7,d5=3,d6=6;break;
        case 6: d1=1,d2=4,d3=5,d4=1,d5=3,d6=6;break;
        case 7: d1=1,d2=8,d3=6,d4=32,d5=32,d6=6;break;
        case 8: d1=1,d2=4,d3=6,d4=1,d5=3,d6=6;break;
        case 9: d1=1,d2=4,d3=6,d4=7,d5=3,d6=6;break;
    }
      lcd.setCursor(e1,0);lcd.write((uint8_t)d1);lcd.setCursor(e2,0);lcd.write((uint8_t)d2);lcd.setCursor(e3,0);lcd.write((uint8_t)d3);
      lcd.setCursor(e1,1);lcd.write((uint8_t)d4);lcd.setCursor(e2,1);lcd.write((uint8_t)d5);lcd.setCursor(e3,1);lcd.write((uint8_t)d6);
 }}}  
////////////// INPUT GAIN ///////////////////////////////////////////////////////////////////
 if(menu0==1){
  switch(in_reg){
     case 0: gain0 = gain1;break;
     case 1: gain0 = gain2;break;
     case 2: gain0 = gain3;break;
     case 3: gain0 = gain4;break;
     case 4: gain0 = gain5;break;}
 
   if(ir.value==IR4){gain0++;gr1=1;gr2=0;cl1();times=millis();w=1;w2=1;gain_func();audio_R();audio_L();}// кнопка &gt; 
   if(ir.value==0xFFFFFFFF and gr1==1){gain0++;gr2=0;cl1();times=millis();w=1;w2=1;gain_func();audio_R();audio_L();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==IR5){gain0--;gr1=0;gr2=1;cl1();times=millis();w=1;w2=1;gain_func();audio_R();audio_L();}// кнопка &lt;
   if(ir.value==0xFFFFFFFF and gr2==1){gain0--;gr1=0;cl1();times=millis();w=1;w2=1;gain_func();audio_R();audio_L();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
 
  if (newPosition != oldPosition){oldPosition = newPosition;gain0=gain0+newPosition;myEnc.write(0);newPosition=0;times=millis();www=1;w=1;w2=1;gain_func();}
  switch(in_reg){
     case 0: gain1 = gain0;break;
     case 1: gain2 = gain0;break;
     case 2: gain3 = gain0;break;
     case 3: gain4 = gain0;break;
     case 4: gain5 = gain0;break;}  
     a[0]= gain0/10;a[1]=gain0%10;
   for(x=0;x&lt;2;x++){switch(x){case 0: e1=10,e2=11,e3=12;break;case 1: e1=13,e2=14,e3=15;break;}digit();}
   if(www==1){audio_R();audio_L();www=0;}
   lcd.setCursor(0,0);lcd.print(&quot;IN GAIN&quot;);
   lcd.setCursor(0,1);lcd.print(&quot;INPUT &quot;);lcd.print(in_reg+1);}     
      
////////////////////////////////////////////////////////////////////////////////////////////
  if(millis()-times&gt;10000 &amp;&amp; w==1 &amp;&amp; mute_reg==0){
     EEPROM.update(0,vol_reg);EEPROM.update(1,treb_reg);EEPROM.update(2,mid_reg);EEPROM.update(3,bass_reg);
     EEPROM.update(4,gain1);EEPROM.update(5,gain2);EEPROM.update(6,gain3);EEPROM.update(7,gain4);EEPROM.update(8,gain5);
     EEPROM.update(9,in_reg);EEPROM.update(10,ball+4);
     if(menu!=0){lcd.clear();menu=0;menu0=100;w=0;}}  

/////////////////// ЧАСЫ ///////////////////////////////////////////////////////////////////
DateTime = clock.getDateTime();hour = DateTime.hour;minut = DateTime.minute;secon = DateTime.second;   
if(power==1){
     a[0]=DateTime.hour/10;
     a[1]=DateTime.hour%10;
     a[2]=DateTime.minute/10;
     a[3]=DateTime.minute%10;
     a[4]=DateTime.second/10;
     a[5]=DateTime.second%10;
   for(x=0;x&lt;4;x++){
    switch(x){
        case 0: e1=0,e2=1,e3=2;break;
        case 1: e1=3,e2=4,e3=5;break;
        case 2: e1=7,e2=8,e3=9;break;
        case 3: e1=10,e2=11,e3=12;break;
   }digit();}
 
   lcd.setCursor(6,0);lcd.print(&quot;.&quot;);lcd.setCursor(6,1);lcd.print(&quot;.&quot;);
   lcd.setCursor(14,1);lcd.print(a[4]);lcd.setCursor(15,1);lcd.print(a[5]);   
//// set time ////
  if(digitalRead(10)==LOW&amp;&amp;digitalRead(11)==LOW){hour++;if(hour&gt;23){hour=0;} clock.setDateTime(2021, 8, 28, hour, minut, secon);delay(100);}// input button HH++
  if(digitalRead(10)==LOW&amp;&amp;digitalRead(A0)==LOW){minut++;if(minut&gt;59){minut=0;} clock.setDateTime(2021, 8, 28, hour, minut, secon);delay(100); }// set MM++
  if(digitalRead(10)==LOW&amp;&amp;digitalRead(A1)==LOW){secon=0; clock.setDateTime(2021, 8, 28, hour, minut, secon);delay(100); }//  mute SS=0
}        
  }  // loop

void audio_R(){Write(in_reg,gain0,63-vol_reg-4+ball,  0 , 10-treb_reg,10-mid_reg,10-bass_reg );}  
void audio_L(){Write(in_reg,gain0,63-vol_reg-4-ball,  1 , 10-treb_reg,10-mid_reg,10-bass_reg );}  

void cl(){ir.value=0;delay(300);lcd.clear();}
void cl1(){ir.value=0;delay(300);}
void gain_func(){{if(gain0&lt;0){gain0=0;}if(gain0&gt;15){gain0=15;}}}
void ball_fun(){if(ball&gt;4){ball=4;}if(ball&lt;-4){ball=-4;}}
void treb_func(){if(treb_reg&lt;0){treb_reg=0;}if(treb_reg&gt;10){treb_reg=10;}}
void mid_func(){if(mid_reg&lt;0){mid_reg=0;}if(mid_reg&gt;10){mid_reg=10;}}
void bass_func(){if(bass_reg&lt;0){bass_reg=0;}if(bass_reg&gt;10){bass_reg=10;}}
void vol_func(){if(vol_reg&lt;4){vol_reg=4;}if(vol_reg&gt;63){vol_reg=63;}}
void to_Timer(){newPosition = myEnc.read()/4;}  
void digit(){switch(a[x]){
case 0: d1=1,d2=8,d3=6,d4=1,d5=3,d6=6;break;case 1: d1=32,d2=2,d3=6,d4=32,d5=32,d6=6;break;
case 2: d1=2,d2=8,d3=6,d4=1,d5=4,d6=5;break;case 3: d1=2,d2=4,d3=6,d4=7,d5=3,d6=6;break;
case 4: d1=1,d2=3,d3=6,d4=32,d5=32,d6=6;break;case 5: d1=1,d2=4,d3=5,d4=7,d5=3,d6=6;break;
case 6: d1=1,d2=4,d3=5,d4=1,d5=3,d6=6;break;case 7: d1=1,d2=8,d3=6,d4=32,d5=32,d6=6;break;
case 8: d1=1,d2=4,d3=6,d4=1,d5=3,d6=6;break;case 9: d1=1,d2=4,d3=6,d4=7,d5=3,d6=6;break;}
lcd.setCursor(e1,0);lcd.write((uint8_t)d1);lcd.setCursor(e2,0);lcd.write((uint8_t)d2);lcd.setCursor(e3,0);lcd.write((uint8_t)d3);
lcd.setCursor(e1,1);lcd.write((uint8_t)d4);lcd.setCursor(e2,1);lcd.write((uint8_t)d5);lcd.setCursor(e3,1);lcd.write((uint8_t)d6);}

void Write(byte input,byte input_gain,byte volume,byte ch_sel,byte treb,byte mid,byte bass){
  digitalWrite(CL,LOW);
  digitalWrite(CE,LOW);
  byte addr = 0b01000001;
     for(int i = 7; i &gt;= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (addr &gt;&gt; i) &amp; 0x01);
        digitalWrite(CL,HIGH);
        }  
  digitalWrite(CE,HIGH); 
      for(int i = 3; i &gt;= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (input_m[input] &gt;&gt; i) &amp; 0x01);
        digitalWrite(CL,HIGH);
        }
      for(int i = 3; i &gt;= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (input_gain_m[input_gain] &gt;&gt; i) &amp; 0x01);
        digitalWrite(CL,HIGH);
        }  
      for(int i = 5; i &gt;= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (volume_m[volume] &gt;&gt; i) &amp; 0x01);
        digitalWrite(CL,HIGH);
        }  
      for(int i = 1; i &gt;= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (ch_sel_m[ch_sel] &gt;&gt; i) &amp; 0x01);
        digitalWrite(CL,HIGH);
        }  
      for(int i = 3; i &gt;= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (tembr_m[treb] &gt;&gt; i) &amp; 0x01);
        digitalWrite(CL,HIGH);
        }        
      for(int i = 3; i &gt;= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (tembr_m[mid] &gt;&gt; i) &amp; 0x01);
        digitalWrite(CL,HIGH);
        }    
      for(int i = 3; i &gt;= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (tembr_m[bass] &gt;&gt; i) &amp; 0x01);
        digitalWrite(CL,HIGH);
        }  
      for(int i = 3; i &gt;= 0; i--){
        digitalWrite(CL,LOW);
        digitalWrite(DI, (0b1101 &gt;&gt; i) &amp; 0x01);
        digitalWrite(CL,HIGH);
        }                                      
   digitalWrite(CL,LOW);
   digitalWrite(CE,LOW);             
  }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 20 Dec 2021 10:16:31 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=428&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[W5500 - терморегулятор]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=159&amp;action=new</link>
			<description><![CDATA[<p>Основная статья - <a href="http://rcl-radio.ru/?p=77830">http://rcl-radio.ru/?p=77830</a></p><p>Оптимизация памяти</p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/05/ae1ac72192fd43163f0d40dcfa15eb71.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/05/ae1ac72192fd43163f0d40dcfa15eb71.png" /></span> </p><p>Скетч использует 16708 байт (51%) памяти устройства. Всего доступно 32256 байт.<br />Глобальные переменные используют 498 байт (24%) динамической памяти, оставляя 1550 байт для локальных переменных. Максимум: 2048 байт.</p><div class="codebox"><pre><code>#include &lt;SPI.h&gt;
#include &lt;Ethernet2.h&gt;
#include &lt;OneWire.h&gt;
#include &lt;DallasTemperature.h&gt;
#include &lt;EEPROM.h&gt;
  OneWire oneWire(A0);
  DallasTemperature t(&amp;oneWire);
 
  byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
  IPAddress ip(10,42,0,100);
  EthernetServer server(80);
 
  float temp;
  int reg,w,flag;
  String readString = String(30);
  const byte gis = 1; // гистерезис 1 градус
 
void setup() { 
  Serial.begin(9600);
  t.begin(); 
  t.setResolution(12);// 12 bit 18b20
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print(&quot;IP: &quot;);
  pinMode(3, OUTPUT); // D3 управление реле нагревательного элемента
  reg = EEPROM.read(0);
}
 
 
void loop() {
  t.requestTemperatures();
  temp = t.getTempCByIndex(0);
  if(reg &gt;= (int)temp + gis){digitalWrite(3,HIGH);flag=1;} 
  if(reg &lt;= (int)temp - gis){digitalWrite(3,LOW);flag=0;} 
 
  EthernetClient client = server.available();
  if (client) {
    Serial.println(&quot;new client&quot;);
 
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
 
        if (readString.length() &lt; 30){readString.concat(c);}//Serial.print(c);
 
        if (c == &#039;\n&#039;) {
        int a;
        a = readString.indexOf(&quot;?temp=&quot;);if(a&gt;0){reg = readString.substring(a+6, a+9).toInt();w=1;
        if(reg&lt;0){reg=0;}if(reg&gt;125){reg=125;}}
 
          client.println(F(&quot;HTTP/1.1 200 OK&quot;));
          client.println(F(&quot;Content-Type: text/html&quot;));
          client.println(F(&quot;Connection: close&quot;));
          client.println(F(&quot;Refresh: 10&quot;)); // время обновления страницы 
          client.println();
          client.println(F(&quot;&lt;!DOCTYPE HTML&gt;&quot;));
          client.println(F(&quot;&lt;html&gt;&lt;meta charset=&#039;UTF-8&#039;&gt;&quot;));
          client.println(F(&quot;&lt;style&gt;.tab1 {background-color:#F5F5F5;border-radius: 5px;margin: auto;}&lt;/style&gt;&quot;
          &quot;&lt;br&gt;&lt;TABLE class=&#039;tab1&#039; align=&#039;center&#039; width=&#039;470&#039; BORDER=&#039;1&#039; cellspacing=&#039;0&#039; cellpadding=&#039;10&#039;&gt;&quot;
          &quot;&lt;td&gt;&lt;center&gt;&lt;big&gt;&lt;b&gt;Терморегулятор DS18B20&lt;/b&gt;&lt;/big&gt;&lt;/td&gt;&lt;tr&gt;&lt;td&gt;&lt;center&gt;&quot;));
          client.println(F(&quot;&lt;h1&gt;Температура: &quot;));
          client.println(temp);
          client.println(F(&quot; &amp;#176;C&lt;/h1&gt;&quot;
          &quot;&lt;/td&gt;&lt;tr&gt;&lt;td align=&#039;center&#039;&gt;Установка температуры регулирования (0...125&amp;#176;C)&quot;)); 
          client.println(F(&quot;&lt;form action=&#039;&#039; method=&#039;GET&#039;&gt;&quot;
          &quot;&lt;br&gt;&lt;input type=&#039;text&#039; name=&#039;temp&#039; autocomplete=&#039;off&#039; size=&#039;1&#039;&gt;&lt;/input&gt;  &quot;
          &quot;&lt;button&gt;Подтвердить&lt;/button&gt;&lt;/form&gt;&lt;/td&gt;&lt;tr&gt;&quot;));
 
          client.println(F(&quot;&lt;td&gt;&lt;center&gt;Температура регулировки: &lt;b&gt;&quot;));
          client.println(reg);
          client.println(F(&quot;&amp;#176;C&lt;/b&gt;&lt;br&gt;&quot;));
 
          if(flag==1){client.print(F(&quot;ON&quot;));}
          if(flag==0){client.print(F(&quot;OFF&quot;));}
 
          client.println(F(&quot;&lt;/td&gt;&lt;/table&gt;&lt;/center&gt;&quot;));
          client.println(F(&quot;&lt;/html&gt;&quot;));
          readString=&quot;&quot;;
          break; 
        }
      }
    }
     if(w==1){w=0;EEPROM.update(0,reg);}
    delay(1);
    client.stop();
    Serial.println(&quot;client disconnected&quot;);
  }
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sat, 02 May 2020 13:10:25 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=159&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Восстановление акустической системы MB SOUND MB-2780PF]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=152&amp;action=new</link>
			<description><![CDATA[<p>Замена контроллера на Arduino</p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/04/6af842376f84a84cc45eac0f1c9779e4.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/04/6af842376f84a84cc45eac0f1c9779e4.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/04/a79eeed3f1e624c0efbba2e8abfbf82d.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/04/a79eeed3f1e624c0efbba2e8abfbf82d.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/04/5d440eff2d7fed6ac12b623f7754dd11.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/04/5d440eff2d7fed6ac12b623f7754dd11.png" /></span> </p><br /><p>Библиотека - <span class="attention-yellow"></span> </p><br /><br /><br /><p>1. Активация аудиопроцессора<br />2. Регулировка громкости (A0 A1 - коммутация кнопки на землю(без резисторов))<br />3. Индикация нажатия кнопок громкости (D4 D5) и светодиодов громкости<br />4. Активирован пульт</p><p><div class="fancy_video_tag_player"><iframe class="youtube-player" type="text/html" width="640" height="385" src="https://www.youtube.com/embed/alTY-YA1wuI" frameborder="0"></iframe></div></p><div class="codebox"><pre><code>#define POWER    0xF7AA55            // гасим все светодиоды + MUTE
#define MUTE     0xF7EA15   //  OK
#define DVD      0xF7B24D   //  OK   // включение 6-и канального входа
#define STEREO   0xF7F20D   //  OK   // включение AUX
#define AUX1     0xF7926D   //  OK   // выбор AUX
#define AUX2     0xF7D22D   //  OK
#define CH5_1    0xF7A25D   //  OK   //  активен выход 5,1
#define CH2_1    0xF7E21D   //  OK   //  активен выход 2,1 (фронт и саб)
#define VOL_UP   0xF7728D   //  OK
#define SUB_DW   0xF742BD   //  OK
#define SUB_UP   0xF75AA5   //  OK
#define VOL_DW   0xF76A95   //  OK
#define FRONT_DW 0xF7A05F   //  OK
#define FRONT_UP 0xF720DF   //  OK
#define REAR_DW  0xF7906F   //  OK
#define REAR_UP  0xF710EF   //  OK
#define CEN_DW   0xF7B04F   //  OK
#define CEN_UP   0xF730CF   //  OK
#define TREB_UP  0xF78877   //  OK
#define TREB_DW  0xF708F7   //  OK
#define BASS_UP  0xF7A857   //  OK
#define BASS_DW  0xF728D7   //  OK
#define RESET    0xF738C7            //  ??????????????
 
#include &lt;R2S15902FP.h&gt;// http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;item=517&amp;download=1
#include &lt;EEPROM.h&gt;
#include &lt;boarddefs.h&gt;
#include &lt;IRremote.h&gt;  // http://rcl-radio.ru/wp-content/uploads/2019/06/IRremote.zip
  IRrecv irrecv(12); // указываем вывод модуля IR приемника
  decode_results ir; 
  int vol,vol_old,vol_sound,in,treb,bass,front,cc,sub,rear,bbb;
  unsigned long times;
  byte w,l_r,mute,gr1,gr2,q1,q2,q3,q4,q5,q6,out,powers,blok;
 
void setup(){ //Serial.begin(9600);
  irrecv.enableIRIn();
  ///////////  Подключение 
  // BUTTON 
  pinMode (A0,INPUT_PULLUP); // VOL +   // A0  OK
  pinMode (A1,INPUT_PULLUP); // VOL -   // A1  OK
  pinMode (A2,INPUT_PULLUP); // 5.1CH  ON/OFF  // A2  OK
  pinMode (A3,INPUT_PULLUP); // STEREO ON/OFF // A3  OK
  pinMode (A4,INPUT_PULLUP); // AUX     // A4  OK
  pinMode (A5,INPUT_PULLUP); // MODE    // A5  OK = 6IN
  pinMode (A6,INPUT); // POWER   // A6 
  // LED 
  pinMode(0,OUTPUT); // LED 5.1CH_BLUE  // D0  OK
  pinMode(1,OUTPUT); // LED STEREO_RED  // D1  0K
  // audio processor
  pinMode(DATA, OUTPUT);  // DATA       // D2  OK
  pinMode(CLK, OUTPUT);   // CLK        // D3  OK
  // LED
  pinMode(4,OUTPUT); // LED VOLUME UP   // D4  OK
  pinMode(5,OUTPUT); // LED VOLUME DW   // D5  OK
  pinMode(6,OUTPUT); // LED AUX1        // D6  OK
  pinMode(7,OUTPUT); // LED AUX2        // D7  OK
  pinMode(8,OUTPUT); // LED ST_BY       // D8
  pinMode(9,OUTPUT); // LED FRONT_BLUE  // D10  OK
  pinMode(10,OUTPUT); // LED REAR_RED   // D9 OK
  pinMode(11,OUTPUT); // LED CEN_BLUE   // D13 OK
  //    IR remote                       // D12 OK
  pinMode(13,OUTPUT); // LED SUB_RED    // D11 OK
  if(EEPROM.read(100)!=0){for(int i=0;i&lt;101;i++){EEPROM.update(i,0);}}// очистка памяти при первом включении 
  vol = EEPROM.read(0);treb = EEPROM.read(1);bass = EEPROM.read(2);in = EEPROM.read(3);l_r = EEPROM.read(4);
  front = EEPROM.read(5);rear = EEPROM.read(6);sub = EEPROM.read(7);cc = EEPROM.read(8);out = EEPROM.read(9);
 
  //if(in==3){digitalWrite(6,LOW);digitalWrite(7,LOW);} // LED AUX1 ON AUX2 ON 
  //if(in==0){digitalWrite(6,LOW);digitalWrite(7,HIGH);} // LED AUX1 ON AUX2 OFF 
  //if(in==1){digitalWrite(6,HIGH);digitalWrite(7,LOW);} // LED AUX1 OFF AUX2 ON 
  //digitalWrite(4,HIGH);digitalWrite(5,HIGH); // LED VOLUME
  //if(out=0){vol_sound=vol;digitalWrite(0,LOW);}else{vol_sound=99;digitalWrite(0,HIGH);}// out 5.1 2.1
  
  if(out==0){vol_sound=vol;digitalWrite(0,HIGH);digitalWrite(1,LOW);}
  if(out==1){vol_sound=99;digitalWrite(0,LOW);digitalWrite(1,HIGH);}
  
  powers=1;digitalWrite(8,HIGH);vol_old=vol;vol=99;vol_sound=99;mute=1;audio();cl();
}
 
void loop(){
  //// IR ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  if ( irrecv.decode( &amp;ir )) {Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);irrecv.resume();times=millis();w=1;}// IR приемник - чтение, в мониторе порта отображаются коды кнопок
  if(ir.value==0){gr1=0;gr2=0;  q1=0;q2=0; q3=0;q4=0;  q5=0;q6=0;}// запрет нажатий не активных кнопок пульта
  if(blok==0){
  if(powers==0){
    if(out==0){vol_sound=vol;digitalWrite(0,HIGH);digitalWrite(1,LOW);}
    if(out==1){vol_sound=99;digitalWrite(0,LOW);digitalWrite(1,HIGH);}

/// IR VOLUME
  if(mute==0){
  if(ir.value==VOL_UP){q1=1;q2=0;gr1=1;gr2=0;vol--;fun_vol();digitalWrite(4,LOW);w=1;times=millis();vol5_1();audio();cl();} 
  if(ir.value==VOL_DW){q1=0;q2=1;gr1=0;gr2=1;vol++;fun_vol();digitalWrite(5,LOW);w=1;times=millis();vol5_1();audio();cl();}  
  if(ir.value==0xFFFFFFFF &amp;&amp; gr1==1 &amp;&amp; q1==1){vol--;gr2=0;fun_vol();digitalWrite(4,LOW);w=1;times=millis();vol5_1();audio();cl();}
  if(ir.value==0xFFFFFFFF &amp;&amp; gr2==1 &amp;&amp; q2==1){vol++;gr1=0;fun_vol();digitalWrite(5,LOW);w=1;times=millis();vol5_1();audio();cl();}
  }
/// IR TREBLE
  if(ir.value==TREB_UP){q3=1;q4=0;gr1=1;gr2=0;cl();treb++;fun_treb();w=1;times=millis();audio();}
  if(ir.value==TREB_DW){q3=0;q4=1;gr1=0;gr2=1;cl();treb--;fun_treb();w=1;times=millis();audio();}
  if(ir.value==0xFFFFFFFF &amp;&amp; gr1==1 &amp;&amp; q3==1){gr2=0;cl();treb++;fun_treb();w=1;times=millis();audio();}
  if(ir.value==0xFFFFFFFF &amp;&amp; gr2==1 &amp;&amp; q4==1){gr1=0;cl();treb--;fun_treb();w=1;times=millis();audio();}
/// IR BASS
  if(ir.value==BASS_UP){q5=1;q6=0;gr1=1;gr2=0;cl();bass++;fun_bass();w=1;times=millis();audio();}
  if(ir.value==BASS_DW){q5=0;q6=1;gr1=0;gr2=1;cl();bass--;fun_bass();w=1;times=millis();audio();}
  if(ir.value==0xFFFFFFFF &amp;&amp; gr1==1 &amp;&amp; q5==1){gr2=0;cl();bass++;fun_bass();w=1;times=millis();audio();}
  if(ir.value==0xFFFFFFFF &amp;&amp; gr2==1 &amp;&amp; q6==1){gr1=0;cl();bass--;fun_bass();w=1;times=millis();audio();}  
/// IR AUX
  if(ir.value==AUX1){in=0;l_r=0;cl();digitalWrite(6,LOW);digitalWrite(7,HIGH);w=1;times=millis();audio();delay(200);}// LED AUX1 ON AUX2 OFF 
  if(ir.value==AUX2){in=1;l_r=0;cl();digitalWrite(6,HIGH);digitalWrite(7,LOW);w=1;times=millis();audio();delay(200);}// LED AUX1 OFF AUX2 ON 
/// IR MUTE
  if(ir.value==MUTE &amp;&amp; mute==0){vol_old=vol;vol=99;vol_sound=99;mute=1;cl();vol5_1();audio();delay(200);}
  if(ir.value==MUTE &amp;&amp; mute==1){vol=vol_old;vol_sound=vol_old;mute=0;cl();vol5_1();audio();delay(200);}
/// IR FRONT  
  if(ir.value==FRONT_UP){front++;cl();fun_front();w=1;times=millis();audio();digitalWrite(10,LOW);}
  if(ir.value==FRONT_DW){front--;cl();fun_front();w=1;times=millis();audio();digitalWrite(10,LOW);}  
/// IR REAR  
  if(ir.value==REAR_UP){rear++;cl();fun_rear();w=1;times=millis();audio();digitalWrite(9,LOW);}
  if(ir.value==REAR_DW){rear--;cl();fun_rear();w=1;times=millis();audio();digitalWrite(9,LOW);}    
/// IR SUB  
  if(ir.value==SUB_UP){sub++;cl();fun_sub();w=1;times=millis();audio();digitalWrite(11,LOW);}
  if(ir.value==SUB_DW){sub--;cl();fun_sub();w=1;times=millis();audio();digitalWrite(11,LOW);}  
/// IR CEN
  if(ir.value==CEN_UP){cc++;cl();fun_cc();w=1;times=millis();audio();digitalWrite(13,LOW);}
  if(ir.value==CEN_DW){cc--;cl();fun_cc();w=1;times=millis();audio();digitalWrite(13,LOW);}    
/// IR CH5_1 CH2_1
   if(ir.value==CH5_1){out=0;cl();w=1;times=millis();vol_sound=vol;audio();digitalWrite(0,HIGH);digitalWrite(1,LOW);delay(200);}   /// LED 5.1CH ON STEREO OFF
   if(ir.value==CH2_1){out=1;cl();w=1;times=millis();vol_sound=99;audio();digitalWrite(0,LOW);digitalWrite(1,HIGH);delay(200);}    /// LED 5.1CH OFF STEREO ON
/// IR DVD = 6IN
   if(ir.value==DVD){in=3;l_r=1;cl();digitalWrite(6,LOW);digitalWrite(7,LOW);w=1;times=millis();audio();delay(200);} // LED AUX1 ON AUX2 ON 
/// IR STEREO
   if(ir.value==STEREO){in=0;l_r=0;cl();digitalWrite(6,LOW);digitalWrite(7,HIGH);w=1;times=millis();audio();delay(200);} // LED AUX1 ON AUX2 OFF 
  }// power=0
 
///  POWER
   if(ir.value==POWER &amp;&amp; powers==1){
   powers=0;cl();vol=vol_old;
   if(in==0){digitalWrite(6,LOW);digitalWrite(7,HIGH);}if(in==1){digitalWrite(6,HIGH);digitalWrite(7,LOW);}

   if(out==0){vol_sound=vol;digitalWrite(0,HIGH);digitalWrite(1,LOW);}
   if(out==1){vol_sound=99;digitalWrite(0,LOW);digitalWrite(1,HIGH);}
   if(l_r==1){digitalWrite(6,LOW);digitalWrite(7,LOW);}
   if(l_r==0&amp;&amp;in==0){digitalWrite(6,LOW);digitalWrite(7,HIGH);}
   if(l_r==0&amp;&amp;in==1){digitalWrite(6,HIGH);digitalWrite(7,LOW);}
   
   digitalWrite(8,LOW);mute=0;cl();audio();delay(200);} // ON 
   
   if(ir.value==POWER &amp;&amp; powers==0){w=0;powers=1;digitalWrite(8,HIGH);vol_old=vol;vol=99;vol_sound=99;mute=1;cl();vol5_1();audio();cl();delay(200);} // OFF
  }// blok
////////////////////////// BUTTON /////////////////////////////////////////////////////////  
  if(blok==0){
  if(powers==0){

  if(out==0){vol_sound=vol;digitalWrite(0,HIGH);digitalWrite(1,LOW);}
  if(out==1){vol_sound=99;digitalWrite(0,LOW);digitalWrite(1,HIGH);}

  //// VOLUME
  if(analogRead(A0)&lt;900){vol--;fun_vol();digitalWrite(4,LOW);w=1;times=millis();vol5_1();audio();cl();}
  if(analogRead(A1)&lt;900){vol++;fun_vol();digitalWrite(5,LOW);w=1;times=millis();vol5_1();audio();cl();}
  /// AUX
  if(analogRead(A4)&lt;900 &amp;&amp; in==0){in=1;l_r=0;digitalWrite(6,HIGH);digitalWrite(7,LOW);w=1;times=millis();audio();cl();delay(200);}// LED AUX1 OFF AUX2 ON 
  if(analogRead(A4)&lt;900 &amp;&amp; in==1){in=0;l_r=0;digitalWrite(6,LOW);digitalWrite(7,HIGH);w=1;times=millis();audio();cl();delay(200);}// LED AUX1 ON AUX2 OFF 
  /// CH5_1 выход 5,1
  if(analogRead(A2)&lt;900 ){out=0;cl();w=1;times=millis();vol_sound=vol;audio();digitalWrite(0,HIGH);digitalWrite(1,LOW);delay(200);}  /// LED 5.1CH ON STEREO OFF
  /// STEREO выход 2,1
  if(analogRead(A3)&lt;900 ){out=1;cl();w=1;times=millis();vol_sound=99;audio();digitalWrite(0,LOW);digitalWrite(1,HIGH);delay(200);}  /// LED 5.1CH OFF STEREO ON
  /// MODE
  if(analogRead(A5)&lt;900 &amp;&amp; l_r==0){in=3;l_r=1;cl();digitalWrite(6,LOW);digitalWrite(7,LOW);w=1;times=millis();audio();delay(200);} // LED AUX1 ON AUX2 ON 
  if(analogRead(A5)&lt;900 &amp;&amp; l_r==1){in=0;l_r=0;cl();digitalWrite(6,LOW);digitalWrite(7,HIGH);w=1;times=millis();audio();delay(200);} // LED AUX1 ON AUX2 OFF 
 
  }// power==0
 
///  POWER
   if(analogRead(A6)&lt;900 &amp;&amp; powers==1){
   powers=0;cl();vol=vol_old;
   if(in==0){digitalWrite(6,LOW);digitalWrite(7,HIGH);}if(in==1){digitalWrite(6,HIGH);digitalWrite(7,LOW);}
   
   if(out==0){vol_sound=vol;digitalWrite(0,HIGH);digitalWrite(1,LOW);}
   if(out==1){vol_sound=99;digitalWrite(0,LOW);digitalWrite(1,HIGH);}
   if(l_r==1){digitalWrite(6,LOW);digitalWrite(7,LOW);}
   if(l_r==0&amp;&amp;in==0){digitalWrite(6,LOW);digitalWrite(7,HIGH);}
   if(l_r==0&amp;&amp;in==1){digitalWrite(6,HIGH);digitalWrite(7,LOW);}

   digitalWrite(8,LOW);mute=0;cl();audio();delay(200);} // ON 
 
   if(analogRead(A6)&lt;900 &amp;&amp; powers==0){w=0;powers=1;digitalWrite(8,HIGH);vol_old=vol;vol=99;vol_sound=99;mute=1;cl();vol5_1();audio();cl();delay(200);} // OFF
  }// blok
  //// EEPROM //////////////////////////////////////////////////////////////////////////////
  if(millis()-times&gt;5000 &amp;&amp; w==1 &amp;&amp; powers == 0){EEPROM.update(0,vol);EEPROM.update(1,treb);EEPROM.update(2,bass);EEPROM.update(3,in);EEPROM.update(4,l_r);
                                  EEPROM.update(5,front);EEPROM.update(6,rear);EEPROM.update(7,sub);EEPROM.update(8,cc);EEPROM.update(9,out);
  w=0;}
 
  delay(50);
  if(blok==0){digitalWrite(4,HIGH);digitalWrite(5,HIGH);}
  digitalWrite(9,HIGH);digitalWrite(10,HIGH);digitalWrite(13,HIGH);digitalWrite(11,HIGH);
 
  if(powers==1){digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(9,HIGH);digitalWrite(10,HIGH);
  digitalWrite(13,HIGH);digitalWrite(11,HIGH);digitalWrite(0,HIGH);digitalWrite(1,HIGH);}
 
  /// security
  if(analogRead(A0)&lt;900 &amp;&amp; analogRead(A1)&lt;900 &amp;&amp; blok==0){blok=1;digitalWrite(4,LOW);digitalWrite(5,LOW);cl();}
  if(analogRead(A0)&lt;900 &amp;&amp; analogRead(A1)&lt;900 &amp;&amp; blok==1){bbb++;cl();}
  if((analogRead(A0)&gt;900 || analogRead(A1)&gt;900) &amp;&amp; blok==1){bbb=0;}
  if(bbb&gt;20){blok=0;bbb=0;digitalWrite(4,HIGH);digitalWrite(5,HIGH);delay(3000);}
}
void vol5_1(){if(out==0){vol_sound=vol;}if(out==1){vol_sound=99;}}
void cl(){delay(100);ir.value=0;}
void fun_vol(){if(vol&gt;99){vol=99;}if(vol&lt;0){vol=0;}}
void fun_treb(){if(treb&gt;15){treb=15;}if(treb&lt;0){treb=0;}}
void fun_bass(){if(bass&gt;15){bass=15;}if(bass&lt;0){bass=0;}}
void fun_front(){if(front&gt;7){front=7;}if(front&lt;0){front=0;}}
void fun_rear(){if(rear&gt;7){rear=7;}if(rear&lt;0){rear=0;}}
void fun_cc(){if(cc&gt;7){cc=7;}if(cc&lt;0){cc=0;}}
void fun_sub(){if(sub&gt;7){sub=7;}if(sub&lt;0){sub=0;}}
 
void audio(){
  Slot1(in,3,0,l_r,bass,treb,0); 
    // input selector  1...4 === int 0...3, in4 === multi in
    //REC-Output Gain Control int 0...6 dB === int 0...3
    //ADC Input ATT 0...-6 dB === int 0...3
    //L/R Input 0 === IN1...3, 1 === IN4 MULTI
    //bass int 0 === +14dB int 8 === 0dB int 15 === -14dB
    //treble int 0 === +14dB int 8 === 0dB int 15 === -14dB
    //Input Gain 0...14 dB === int 0...7
  Slot2(front,vol,front,vol); // gain0, volume0, gain1, volume1
  Slot3(cc,vol_sound,sub,vol); // gain2, volume2, gain3, volume3
  Slot4(rear,vol_sound,rear,vol_sound); // gain4, volume4, gain5, volume5
  // gain 0...14 dB === int 0...7
  // volume 0...-99 dB === int 0...100
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sun, 12 Apr 2020 08:00:04 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=152&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=148&amp;action=new</link>
			<description><![CDATA[<p>Начало разработки</p><p><strong>1,8 дюйма</strong><br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/03/e027507fd63f2f4938b4ea5141fa091a.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/03/e027507fd63f2f4938b4ea5141fa091a.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/03/9e74375cd77e8093a178d7cb3c049623.gif" alt="http://forum.rcl-radio.ru/uploads/images/2020/03/9e74375cd77e8093a178d7cb3c049623.gif" /></span> </p><br /><p>Размер габаритный: 56х38х11 мм<br />Высота сивмола: 45 мм</p><p>Падение напряжения на сегменте: 1.8-2 вольт<br />Ток через сегмент: 20 ма<br />Падение напряжения на точке: 1.8-2 вольта<br />Ток через точку: 20 ма</p><p><strong>Просто часы</strong></p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/03/d2a08b2a4cd62964bba6e6a3c1d72d43.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/03/d2a08b2a4cd62964bba6e6a3c1d72d43.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/03/c8eecf32779a905e7b19189172bcd363.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/03/c8eecf32779a905e7b19189172bcd363.png" /></span> <br /><span class="attention-yellow"></span> </p><br /><div class="codebox"><pre><code>#include &lt;MsTimer2.h&gt;  // http://rcl-radio.ru/wp-content/uploads/2018/11/MsTimer2.zip
#include &lt;Wire.h&gt; 
#include &lt;DS3231.h&gt;
DS3231 clock;RTCDateTime DateTime;
  int an, segm,times,i,pd,pd_p;
  byte a[4];
 
void setup(){  Wire.begin();clock.begin();
MsTimer2::set(2, to_Timer);MsTimer2::start();
  // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
 pinMode(9,OUTPUT);  // D9  === A0
 pinMode(10,OUTPUT); // D10 === A1
 pinMode(11,OUTPUT); // D11 === A2
 pinMode(12,OUTPUT); // D12 === A3
 pinMode(13,OUTPUT); // D13 === PD
 pinMode(2,OUTPUT);  // D2  === a
 pinMode(3,OUTPUT);  // D3  === b
 pinMode(4,OUTPUT);  // D4  === c
 pinMode(5,OUTPUT);  // D5  === d
 pinMode(6,OUTPUT);  // D6  === e
 pinMode(7,OUTPUT);  // D7  === f
 pinMode(8,OUTPUT);  // D8  === g
clock.setOutput(DS3231_1HZ);
 pinMode(A0,INPUT); // SQW DS3231 
}
 
void loop(){ 
  DateTime=clock.getDateTime();// опрос времени
  times = DateTime.hour*100+DateTime.minute;
  a[0]=times/1000;
  a[1]=times/100%10;
  a[2]=times/10%10;
  a[3]=times%10%10;

  if(analogRead(A0)&gt;900){pd_p=1;}else{pd_p=0;}
 }// loop
 
void to_Timer(){ 
  switch(i){
    
    case 0: cl(); segm=a[0]; pd=0; an=0; anod(); segment();break;
    case 1: cl(); segm=a[1]; pd=pd_p; an=1; anod(); segment();break;
    case 2: cl(); segm=a[2]; pd=0; an=2; anod(); segment();break;
    case 3: cl(); segm=a[3]; pd=0; an=3; anod(); segment();break;}i++;
    
    if(i&gt;3){i=0;}}
 
void segment(){
  switch(segm){                                                                 
             //  A       B       C       D       E       F       G        PD
    case 0: ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,0);ch(13,pd);break;// 0 
    case 1: ch(2,0);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// 1
    case 2: ch(2,1);ch(3,1);ch(4,0);ch(5,1);ch(6,1);ch(7,0);ch(8,1);ch(13,pd);break;// 2
    case 3: ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,0);ch(7,0);ch(8,1);ch(13,pd);break;// 3   
    case 4: ch(2,0);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,1);ch(8,1);ch(13,pd);break;// 4 
    case 5: ch(2,1);ch(3,0);ch(4,1);ch(5,1);ch(6,0);ch(7,1);ch(8,1);ch(13,pd);break;// 5 
    case 6: ch(2,1);ch(3,0);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,1);ch(13,pd);break;// 6 
    case 7: ch(2,1);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// 7 
    case 8: ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,1);ch(13,pd);break;// 8
    case 9: ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,0);ch(7,1);ch(8,1);ch(13,pd);break;// 9  
   case 10: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// пусто
  }}
void anod(){
  switch(an){                                                             
    case 0:ch(9,1);ch(10,0);ch(11,0);ch(12,0);break;  
    case 1:ch(9,0);ch(10,1);ch(11,0);ch(12,0);break; 
    case 2:ch(9,0);ch(10,0);ch(11,1);ch(12,0);break;
    case 3:ch(9,0);ch(10,0);ch(11,0);ch(12,1);break;
  }}

void cl(){
     segm=10; pd=0; an=0; segment(); anod(); an=1; segment(); anod();  an=2; segment(); anod();  an=3; segment();anod(); 
  }  
 
  void ch(int pin, int logic){digitalWrite(pin,logic);}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 23 Mar 2020 14:44:48 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=148&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Генератор прямоугольных импульсов на Arduino]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=116&amp;action=new</link>
			<description><![CDATA[<p>Потребовался генератор прямоугольных импульсов с частотой до 1 Мгц. Интернет выдал Ваш сайт. Попытался повторить схему и скетч в соответствии с рисунком и описанием. К сожалению, не удалось.<br />Что не так:<br />- все время работает показатель скважности. Непрерывно.<br />- в скетче указан пин 10, как выход на таймер (т.е. куда?).<br />- выход прямоугольного импульса&nbsp; с пина 9 не наблюдается осцилографом!!<br />- кнопки не работают, т.е. не наблюдается изменение цифр на экране.</p><p>Кнопки работают, видно по осцилографу, но когда перевожу ардуино на независимое питание - на экране цифры живут только у показателя скважности.<br />&nbsp; <br />Подскажите, как настроить показатель скважности (что в скетче изменить)?</p><p>С уважением<br />Sihi13</p>]]></description>
			<author><![CDATA[null@example.com (sihi13)]]></author>
			<pubDate>Fri, 10 Jan 2020 19:48:34 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=116&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Ретро часы на ИВ-6]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=87&amp;action=new</link>
			<description><![CDATA[<p>Скетч протестирован!!!</p><p>Основная статья - <a href="http://rcl-radio.ru/?p=67405">http://rcl-radio.ru/?p=67405</a></p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2019/11/19faced7e0276061f642229e6fcaf2d0.png" alt="http://forum.rcl-radio.ru/uploads/images/2019/11/19faced7e0276061f642229e6fcaf2d0.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2019/11/5848143977b8b3c41b5c0d2e0d089242.png" alt="http://forum.rcl-radio.ru/uploads/images/2019/11/5848143977b8b3c41b5c0d2e0d089242.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2019/11/5ae92b7d722edf5f471ddc416cf27389.gif" alt="http://forum.rcl-radio.ru/uploads/images/2019/11/5ae92b7d722edf5f471ddc416cf27389.gif" /></span> </p><p><span class="attention-yellow"></span> </p><p><a href="http://rcl-radio.ru/wp-content/uploads/2018/11/MsTimer2.zip">http://rcl-radio.ru/wp-content/uploads/ … Timer2.zip</a></p><br /><p>Настройка<br />1. Собрать схему, не подключая ардуино. При подачи питания должны загореться все сегменты индикаторов.<br />2. Подобрать сопротивление R28 для увеличения или уменьшения яркости индикаторов, напряжение на С6 не должно превышать 40 В.<br />3. Подать поочередно 5В на входы D2-D13 платы индикатора, должны поочередно гаснуть сегменты от A до G и индикаторы от A1 до А4.<br />4. Если первые три пункта настроек выполнены можно подключать ардуино, при динамической индикации яркость будет ниже, возможно потребуется повторный подбор R28.</p><p>Кнопки<br />+/sec - при нажатии и удержании кнопки должны отображаться секунды &quot;S_31&quot;<br />-/temp - при нажатии и удержании кнопки должна отображаться температура<br />set - при однократном нажатии активируется режим корректировки минут(1), далее нажимая set - часы(2), дата(3), месяц(4) и год(5)</p><div class="codebox"><pre><code>#include &lt;MsTimer2.h&gt;
#include &lt;Wire.h&gt; 
#include &lt;DS3231.h&gt;
  DS3231 clock;RTCDateTime DateTime;
  int an, segm,times,i;
  byte a[4];
  int menu,year,month,day,hour,minute,w,w2;
 
void setup(){  Wire.begin();clock.begin();MsTimer2::set(2, to_Timer);MsTimer2::start();Serial.begin(9600);
  // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
 pinMode(9,OUTPUT);  // D9  === A0
 pinMode(10,OUTPUT); // D10 === A1
 pinMode(11,OUTPUT); // D11 === A2
 pinMode(12,OUTPUT); // D12 === A3
 pinMode(2,OUTPUT);  // D2  === a
 pinMode(3,OUTPUT);  // D3  === b
 pinMode(4,OUTPUT);  // D4  === c
 pinMode(5,OUTPUT);  // D5  === d
 pinMode(6,OUTPUT);  // D6  === e
 pinMode(7,OUTPUT);  // D7  === f
 pinMode(8,OUTPUT);  // D8  === g
 pinMode(13,OUTPUT);// D13  === dp
 pinMode(A0,INPUT); // SQW
 ///// BUTTON //////
 pinMode(A1,INPUT); // SET
 pinMode(A2,INPUT); // +/sec
 pinMode(A3,INPUT); // -/temp
 ////  текущее время перенос в переменные коррекции времени
 DateTime=clock.getDateTime();// опрос времени
 year = DateTime.year;
 month = DateTime.month;
 day = DateTime.day;
 hour = DateTime.hour;
 minute = DateTime.minute;
}
 
void loop(){ DateTime=clock.getDateTime();// опрос времени
  if(analogRead(A1)&gt;900){menu++;delay(200);if(menu&gt;5){menu=0;w=1;}}

/////////// ВРЕМЯ /////////////  
  if(menu==0&amp;&amp;w2==0){times = DateTime.hour*100+DateTime.minute;
  a[0]=times/1000;
  a[1]=times/100%10;
  a[2]=times/10%10;
  a[3]=times%10%10;
   if(analogRead(A0)&gt;900){digitalWrite(13,HIGH);}else{digitalWrite(13,LOW);}// dp
  }
  w2=0;
////// вывод секунд - нажать и удерживать кнопку +/sec /////////////////////////////////////
  if(analogRead(A2)&gt;900&amp;&amp;menu==0){w2=1;times = DateTime.second;digitalWrite(13,HIGH);
  a[0]=11;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

////// вывод температуры - нажать и удерживать кнопку -/temp /////////////////////////////////////
  if(analogRead(A3)&gt;900&amp;&amp;menu==0){w2=1;times = int(clock.readTemperature());digitalWrite(13,HIGH);
  a[0]=12;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}  
  

///////// коррекция минут /////////////////
  if(menu==1){
    if(analogRead(A2)&gt;900){minute++;delay(300);if(minute&gt;59){minute=0;}}
    if(analogRead(A3)&gt;900){minute--;delay(300);if(minute&lt;0){minute=0;}}
    times=minute;
  a[0]=1;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

///////// коррекция часов /////////////////
  if(menu==2){
    if(analogRead(A2)&gt;900){hour++;delay(300);if(hour&gt;23){hour=0;}}
    if(analogRead(A3)&gt;900){hour--;delay(300);if(hour&lt;0){hour=0;}}
    times=hour;
  a[0]=2;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

///////// коррекция дата /////////////////
  if(menu==3){
    if(analogRead(A2)&gt;900){day++;delay(300);if(day&gt;31){day=0;}}
    if(analogRead(A3)&gt;900){day--;delay(300);if(day&lt;0){day=0;}}
    times=day;
  a[0]=3;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

///////// коррекция месяц /////////////////
  if(menu==4){
    if(analogRead(A2)&gt;900){month++;delay(300);if(month&gt;12){month=0;}}
    if(analogRead(A3)&gt;900){month--;delay(300);if(month&lt;0){month=0;}}
    times=month;
  a[0]=4;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}

///////// коррекция год /////////////////
  if(menu==5){
    if(analogRead(A2)&gt;900){year++;delay(300);if(year&gt;99){year=19;}}
    if(analogRead(A3)&gt;900){year--;delay(300);if(year&lt;19){year=19;}}
    times=year;
  a[0]=5;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;}
  
if(w==1){clock.setDateTime(year+2000, month, day, hour, minute, 59 );// год (19),месяц(11),день(15),час(23),минуты(32),секунды
 w=0;}

  } // loop
 
void to_Timer(){
  switch(i){
    case 0: cl();segm=a[0]; an=0; anod(); segment();break;
    case 1: cl();segm=a[1]; an=1; anod(); segment();break;
    case 2: cl();segm=a[2]; an=2; anod(); segment();break;
    case 3: cl();segm=a[3]; an=3; anod(); segment();break;
    }i++;if(i&gt;3){i=0;}}
 
 
void segment(){
  switch(segm){                                                                 
             //  A       B       C       D       E       F       G  
    case 0: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,1);break;// 0 
    case 1: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// 1
    case 2: ch(2,0);ch(3,0);ch(4,1);ch(5,0);ch(6,0);ch(7,1);ch(8,0);break;// 2
    case 3: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,1);ch(8,0);break;// 3   
    case 4: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,0);ch(8,0);break;// 4 
    case 5: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// 5 
    case 6: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// 6 
    case 7: ch(2,0);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// 7 
    case 8: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// 8
    case 9: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// 9  
    case 10:ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// ПУСТО  
    case 11:ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// S 
    case 12:ch(2,1);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// t  
  }}
void anod(){
  switch(an){                                                             
    case 0:ch(9,0);ch(10,1);ch(11,1);ch(12,1);break;  
    case 1:ch(9,1);ch(10,0);ch(11,1);ch(12,1);break; 
    case 2:ch(9,1);ch(10,1);ch(11,0);ch(12,1);break;
    case 3:ch(9,1);ch(10,1);ch(11,1);ch(12,0);break;
  }}

void cl(){
     segm=10; an=0; segment(); anod(); an=1; segment(); anod();  an=2; segment(); anod();  an=3; segment();anod(); 
  } 

  void ch(int pin, int logic){digitalWrite(pin,logic);}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 01 Nov 2019 16:18:59 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=87&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Погодная станция BME280 + DS18B20 + NOKIA5110]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=76&amp;action=new</link>
			<description><![CDATA[<p><a href="http://rcl-radio.ru/?p=66937">http://rcl-radio.ru/?p=66937</a></p><p>Подключение:<br />DS18B20 - вход А0<br />NOKIA5110 -&nbsp; RST,CE,DC,DIN,CLK&nbsp; &nbsp;VCC,BL,GND (3,4,5,6,7&nbsp; &nbsp;+3.3V(VCC) , +3.3V через резистор 200 Oм(BL - подсветка), GND)<br />BME280 - I2C&nbsp; A5 (SCL) и A4 (SDA) </p><div class="codebox"><pre><code>#include &lt;Wire.h&gt; 
#include &lt;SPI.h&gt;
#include &lt;OneWire.h&gt;          // http://rcl-radio.ru/wp-content/uploads/2018/07/OneWire.zip
#include &lt;DallasTemperature.h&gt;// http://rcl-radio.ru/wp-content/uploads/2018/07/DallasTemperature.zip
#include &lt;Adafruit_Sensor.h&gt;  // https://github.com/adafruit/Adafruit_Sensor
#include &lt;Adafruit_BME280.h&gt;  // https://github.com/adafruit/Adafruit_BME280_Library
#include &lt;PCD8544.h&gt;          // http://rcl-radio.ru/wp-content/uploads/2019/01/pcd8544.zip
 PCD8544 lcd; // RST,CE,DC,DIN,CLK   VCC,BL,GND (3,4,5,6,7   +3.3V,200 OM +3.3V, GND)
 Adafruit_BME280 bme;
 OneWire oneWire(A0);// вход датчика 18b20
 DallasTemperature temp(&amp;oneWire);
 static const byte gradus[] = { B00000110,B00001001,B00001001,B00000110,B00000000 };// градус
 float t1,t2,hpa,h;
 
 void setup() {
  Serial.begin(9600);                                  
 if (!bme.begin(0x76)) {Serial.println(&quot;Could not find a valid BME280!&quot;); while (1);}
  temp.begin(); temp.setResolution(10);//10 бит   
  lcd.begin(84, 48); 
  lcd.createChar(0, gradus);
  lcd.setContrast(60);//  контрастность 0-127
  
 }
 
 void loop() {
    temp.requestTemperatures();// опрос 18b20
    t1 = temp.getTempCByIndex(0); // снятие показаний 18b20
    t2 = bme.readTemperature();  // снятие показаний температуры с bme280
    hpa = bme.readPressure() / 100.0F;                                      
    h = bme.readHumidity();                                                   

  lcd.setCursor(0,1);// вывод темп 18b20 на экран, первая строка
  lcd.print(&quot;Temp 1:&quot;);if(t1&gt;=0){lcd.print(&quot; &quot;);}if(t1&gt;0&amp;&amp;t1&lt;10||t1&lt;0&amp;&amp;t1&gt;-10){lcd.print(&quot; &quot;);}lcd.print(t1,1); lcd.write(0);lcd.print(&quot;C&quot;);
  lcd.setCursor(0,2);
  lcd.print(&quot;Temp 2:&quot;);if(t2&gt;=0){lcd.print(&quot; &quot;);}if(t2&gt;0&amp;&amp;t2&lt;10||t2&lt;0&amp;&amp;t2&gt;-10){lcd.print(&quot; &quot;);}lcd.print(t2,1); lcd.write(0);lcd.print(&quot;C&quot;);
  lcd.setCursor(0,3);
  lcd.print(&quot;P &quot;);lcd.print(hpa*0.75,1);lcd.print(&quot; mmHg&quot;); // давление
  lcd.setCursor(0,4);
  lcd.print(&quot;H &quot;);lcd.print(h,1);lcd.print(&quot; %&quot;); // влажность                               
 }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Wed, 09 Oct 2019 16:47:17 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=76&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[max6675 + 2x18b20 >> 3xTM1637]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=75&amp;action=new</link>
			<description><![CDATA[<p><strong>Термометр</strong></p><p>3 индикатора TM1637<br />1 датчик ХА max6675<br />2 датчика DS18b20</p><p>Вывод температуры термопары от 0 до 1000 гр Цельсия<br />Вывод температуры датчиков DS18B20 от -55 до 125 гр. Цельсия</p><p><span class="attention-yellow"></span> <br /><span class="attention-yellow"></span> <br /><span class="attention-yellow"></span> <br /><span class="attention-yellow"></span> </p><br /><br /><div class="codebox"><pre><code>#include &lt;max6675.h&gt;
#include &lt;TM1637Display.h&gt;
#include &lt;OneWire.h&gt;
#include &lt;DallasTemperature.h&gt;
 
MAX6675 temp1(2, 3, 4);// CLK,CS,SO
TM1637Display display_1(5, 6);// CLK,DIO
TM1637Display display_2(7, 8);// CLK,DIO
TM1637Display display_3(9,10);// CLK,DIO
OneWire oneWire(A0);// вход для датчиков 18b20
DallasTemperature t(&amp;oneWire);
double t_c,t_sum,t_iz; 
int t1,t2;
uint8_t data[]{0,0,0,0};
 
void setup(){ Serial.begin(9600);
  display_1.setBrightness(3);// яркость TM1637 0-7
  display_2.setBrightness(3);// яркость TM1637 0-7
  display_3.setBrightness(3);// яркость TM1637 0-7
   t.begin(); 
   t.setResolution(10);//10 бит 
}
 
void loop(){
  ///////// max6675 //////////////////////////
  t_sum=0;
  for(int i=0;i&lt;5;i++){t_c=temp1.readCelsius();t_sum=t_sum+t_c;delay(200);}
  t_iz=t_sum/5;
  ///////////// 18b20 
    t.requestTemperatures();
   t1 = t.getTempCByIndex(0);
   t2 = t.getTempCByIndex(1);
  /////// индикация //////////////////////////
  display_1.showNumberDecEx(t_iz,0x00,false);
  
  if(t1 &lt; 0){t1=abs(t1);data[0] = 0x40;}else{data[0] = 0x00;}
  data[1] =  display_2.encodeDigit(t1/100);
  data[2] =  display_2.encodeDigit((t1/10)%10);
  data[3] =  display_2.encodeDigit((t1%10)%10);
  display_2.setSegments(data);
  
  if(t2 &lt; 0){t2 = abs(t2);data[0] = 0x40;}else{data[0] = 0x00;}
  data[1] =  display_3.encodeDigit(t2/100);
  data[2] =  display_3.encodeDigit((t2/10)%10);
  data[3] =  display_3.encodeDigit((t2%10)%10);
  display_3.setSegments(data);
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 08 Oct 2019 13:45:52 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=75&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Часы с будильником 1602]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=66&amp;action=new</link>
			<description><![CDATA[<p>Основная статья - <a href="http://rcl-radio.ru/?p=66530">http://rcl-radio.ru/?p=66530</a></p><p>Просто часы</p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2019/09/fe7018e4292f50e713beecae7cf39dfd.png" alt="http://forum.rcl-radio.ru/uploads/images/2019/09/fe7018e4292f50e713beecae7cf39dfd.png" /></span> </p><br /><div class="codebox"><pre><code> #include &lt;Wire.h&gt; 
  #include &lt;LiquidCrystal_I2C.h&gt; //Библиотека -  http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;item=45&amp;download=1
  #include &lt;DS3231.h&gt;//https://github.com/jarzebski/Arduino-DS3231/archive/master.zip // DS3231.zip
      DS3231 clock;RTCDateTime DateTime;
      LiquidCrystal_I2C lcd(0x27,16,2);  // Устанавливаем дисплей    
      byte v1[8] = {31,31,31,31,31,31,31,31};
      byte v2[8] = {31,31,31, 0, 0, 0, 0, 0};      
      byte v3[8] = { 0, 0, 0, 0, 0,31,31,31};
      byte v4[8] = {31,31, 0, 0, 0, 0,31,31};
      byte v5[8] = { 0, 0, 0, 0, 0, 0, 0, 0};
      byte v6[8] = { 0, 0,14,31,31,14, 0, 0}; //*
      byte v7[8] = { 0, 0, 0, 0, 0, 0,31,31};
      byte v8[8] = { 0, 4,14,14,14,31, 4, 0};// alarm
      int a[4],time,sek_old;
      byte i,d1,d2,d3,d4,d5,d6,e1,e2,e3;
      
   void setup(){ Wire.begin(); clock.begin(); 
    //clock.setDateTime(__DATE__, __TIME__);
    lcd.init();lcd.backlight();// Включаем подсветку дисплея
    //lcd.noBacklight();// Выключаем подсветку дисплея
      lcd.createChar(1, v1);lcd.createChar(2, v2);lcd.createChar(3, v3);lcd.createChar(4, v4);lcd.createChar(5, v5);lcd.createChar(6, v6);lcd.createChar(7, v7);lcd.createChar(8, v8);
   }
   
   void loop(){
    DateTime=clock.getDateTime();  
    time = DateTime.hour*100+DateTime.minute;
     a[0]=time/1000;
     a[1]=time/100%10;
     a[2]=time/10%10;
     a[3]=time%10%10;
     sek_old=DateTime.second;
    
 for(i=0;i&lt;4;i++){
      switch(i){
        case 0: e1=0,e2=1,e3=2;break;
        case 1: e1=4,e2=5,e3=6;break;
        case 2: e1=9,e2=10,e3=11;break;
        case 3: e1=13,e2=14,e3=15;break;}
      switch(a[i]){
        case 0: d1=1,d2=2,d3=1,d4=1,d5=3,d6=1;break;
        case 1: d1=2,d2=1,d3=5,d4=7,d5=1,d6=7;break;
        case 2: d1=2,d2=4,d3=1,d4=1,d5=3,d6=3;break;
        case 3: d1=2,d2=4,d3=1,d4=3,d5=3,d6=1;break;
        case 4: d1=1,d2=3,d3=1,d4=5,d5=5,d6=1;break;
        case 5: d1=1,d2=4,d3=2,d4=3,d5=3,d6=1;break;
        case 6: d1=1,d2=4,d3=2,d4=1,d5=3,d6=1;break;
        case 7: d1=2,d2=2,d3=1,d4=5,d5=5,d6=1;break;
        case 8: d1=1,d2=4,d3=1,d4=1,d5=3,d6=1;break;
        case 9: d1=1,d2=4,d3=1,d4=3,d5=3,d6=1;break;
    }
     
      lcd.setCursor(e1,0);lcd.write((uint8_t)d1);lcd.setCursor(e2,0);lcd.write((uint8_t)d2);lcd.setCursor(e3,0);lcd.write((uint8_t)d3);
      lcd.setCursor(e1,1);lcd.write((uint8_t)d4);lcd.setCursor(e2,1);lcd.write((uint8_t)d5);lcd.setCursor(e3,1);lcd.write((uint8_t)d6);
   
 }
   if(digitalRead(13) == HIGH){lcd.setCursor(7,0);lcd.write((uint8_t)6);}else{ lcd.setCursor(7,0);lcd.write((uint8_t)5);}
   lcd.setCursor(8,0);lcd.write((uint8_t)8);
   lcd.setCursor(7,1);if(DateTime.second&lt;10){lcd.print(&quot;0&quot;);}lcd.print(DateTime.second);

//tone(5,1200,500);  
   }
   </code></pre></div><p>Часы с будильником</p><div class="codebox"><pre><code>  #include &lt;Wire.h&gt; 
  #include &lt;LiquidCrystal_I2C.h&gt; //Библиотека -  http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;item=45&amp;download=1
  #include &lt;DS3231.h&gt;//https://github.com/jarzebski/Arduino-DS3231/archive/master.zip // DS3231.zip
  #include &lt;EEPROM.h&gt; 
      DS3231 clock;RTCDateTime DateTime;
      LiquidCrystal_I2C lcd(0x27,16,2);  // Устанавливаем дисплей    
      byte v1[8] = {31,31,31,31,31,31,31,31};
      byte v2[8] = {31,31,31, 0, 0, 0, 0, 0};      
      byte v3[8] = { 0, 0, 0, 0, 0,31,31,31};
      byte v4[8] = {31,31, 0, 0, 0, 0,31,31};
      byte v5[8] = { 0, 0, 0, 0, 0, 0, 0, 0};
      byte v6[8] = { 0, 0,14,31,31,14, 0, 0}; //*
      byte v7[8] = { 0, 0, 0, 0, 0, 0,31,31};
      byte v8[8] = { 0, 4,14,14,14,31, 4, 0};// alarm
      int a[4],time,k,reg,m,h,w,i0,led,ton,w1;
      byte i,d1,d2,d3,d4,d5,d6,e1,e2,e3;
      unsigned long eeprom;
      byte rom0,rom1,rom2;
      
   void setup(){ Wire.begin(); clock.begin(); 
     pinMode(2,INPUT);pinMode(3,INPUT);pinMode(4,INPUT);pinMode(5,INPUT); // кнопки
     pinMode(13,INPUT); // ds3231 SQW
    //clock.setDateTime(__DATE__, __TIME__);
    lcd.init();lcd.backlight();// Включаем подсветку дисплея
    lcd.createChar(1, v1);lcd.createChar(2, v2);lcd.createChar(3, v3);lcd.createChar(4, v4);lcd.createChar(5, v5);lcd.createChar(6, v6);lcd.createChar(7, v7);lcd.createChar(8, v8);
  rom0 = EEPROM.read(0);if(rom0&gt;59){EEPROM.update(0,0);}
  rom1 = EEPROM.read(1);if(rom1&gt;23){EEPROM.update(1,0);}
  rom2 = EEPROM.read(2);if(rom2&gt;3){EEPROM.update(2,0);}
  m=rom0;h=rom1;w=rom2;
   }
   
   void loop(){   if(digitalRead(5)==HIGH&amp;&amp;led==0&amp;&amp;w1==0){led=1;lcd.noBacklight();delay(500);}
                  if(digitalRead(5)==HIGH&amp;&amp;led==1&amp;&amp;w1==0){led=0;lcd.backlight();delay(500);}
                  
   
                i0++;if(i0&gt;4){i0=0;}
     if(digitalRead(2)==HIGH){k++;reg=1;lcd.clear();delay(300);}if(k&gt;3){k=0;reg=0;}
      if(reg==1) {
          if(k==1){
              if(digitalRead(3)==HIGH){m++;}if(m&gt;59){m=0;}
              if(digitalRead(4)==HIGH){m--;}if(m&lt;0){m=0;}}
          if(k==2){
              if(digitalRead(3)==HIGH){h++;}if(h&gt;23){h=0;}
              if(digitalRead(4)==HIGH){h--;}if(h&lt;0){h=0;}}
          if(k==3){
              if(digitalRead(3)==HIGH){w++;delay(300);}if(w&gt;3){w=0;}
              if(digitalRead(4)==HIGH){w--;delay(300);}if(w&lt;0){w=3;}
 }
  lcd.setCursor(0,0);lcd.print(&quot;Alarm &quot;);
 if(i0==1&amp;&amp;k==2){lcd.print(&quot;  &quot;);}else{if(h &lt; 10 ){lcd.print(&quot;0&quot;);}lcd.print(h);} lcd.print(&quot;:&quot;);
 if(i0==1&amp;&amp;k==1){lcd.print(&quot;  &quot;);}else{if(m &lt; 10 ){lcd.print(&quot;0&quot;);}lcd.print(m);} 
  lcd.setCursor(0,1);
 if(i0==1&amp;&amp;k==3){lcd.print(&quot;                 &quot;);}
 if(w==0){lcd.print(&quot;every day&quot;);}  //каждый день 1234567
 if(w==1){lcd.print(&quot;on weekdays&quot;);}//по будням 12345
 if(w==2){lcd.print(&quot;on weekends&quot;);}//по выходным 67
 if(w==3){lcd.print(&quot;off&quot;);}
 rom0=m;rom1=h;rom2=w;
 eeprom=0;
 } 

 if(reg==0){  if(eeprom==1){EEPROM.update(0,rom0);EEPROM.update(1,rom1);EEPROM.update(2,rom2);}
    DateTime=clock.getDateTime();  
    time = DateTime.hour*100+DateTime.minute;
     a[0]=time/1000;
     a[1]=time/100%10;
     a[2]=time/10%10;
     a[3]=time%10%10;
    
 for(i=0;i&lt;4;i++){
      switch(i){
        case 0: e1=0,e2=1,e3=2;break;
        case 1: e1=4,e2=5,e3=6;break;
        case 2: e1=9,e2=10,e3=11;break;
        case 3: e1=13,e2=14,e3=15;break;}
      switch(a[i]){
        case 0: d1=1,d2=2,d3=1,d4=1,d5=3,d6=1;break;
        case 1: d1=2,d2=1,d3=5,d4=7,d5=1,d6=7;break;
        case 2: d1=2,d2=4,d3=1,d4=1,d5=3,d6=3;break;
        case 3: d1=2,d2=4,d3=1,d4=3,d5=3,d6=1;break;
        case 4: d1=1,d2=3,d3=1,d4=5,d5=5,d6=1;break;
        case 5: d1=1,d2=4,d3=2,d4=3,d5=3,d6=1;break;
        case 6: d1=1,d2=4,d3=2,d4=1,d5=3,d6=1;break;
        case 7: d1=2,d2=2,d3=1,d4=5,d5=5,d6=1;break;
        case 8: d1=1,d2=4,d3=1,d4=1,d5=3,d6=1;break;
        case 9: d1=1,d2=4,d3=1,d4=3,d5=3,d6=1;break;
    }
     
      lcd.setCursor(e1,0);lcd.write((uint8_t)d1);lcd.setCursor(e2,0);lcd.write((uint8_t)d2);lcd.setCursor(e3,0);lcd.write((uint8_t)d3);
      lcd.setCursor(e1,1);lcd.write((uint8_t)d4);lcd.setCursor(e2,1);lcd.write((uint8_t)d5);lcd.setCursor(e3,1);lcd.write((uint8_t)d6);
   
 }
   if(digitalRead(13) == HIGH){lcd.setCursor(7,0);lcd.write((uint8_t)6);}else{ lcd.setCursor(7,0);lcd.write((uint8_t)5);}
   //lcd.setCursor(8,0);lcd.write((uint8_t)8);
   lcd.setCursor(7,1);if(DateTime.second&lt;10){lcd.print(&quot;0&quot;);}lcd.print(DateTime.second);

    if(digitalRead(5)==HIGH&amp;&amp;ton==0){lcd.backlight();ton=1;w1=0;delay(300);}
    if(DateTime.hour*60+DateTime.minute!=h*60+m){ton=0;}

    if(w==0){pic();lcd.setCursor(8,0);lcd.write((uint8_t)8);}
    else if(w==1&amp;&amp;(DateTime.dayOfWeek&lt;6)){pic();lcd.setCursor(8,0);lcd.write((uint8_t)8);}
    else if(w==2&amp;&amp;(DateTime.dayOfWeek&gt;5)){pic();lcd.setCursor(8,0);lcd.write((uint8_t)8);}
    else {lcd.setCursor(8,0);lcd.write((uint8_t)5);}
   }//reg=0
     eeprom++;
     delay(200);
   }

 void pic(){if(ton==0&amp;&amp;(DateTime.hour*60+DateTime.minute==h*60+m)){w1=1;tone(6,1200,500);delay(500);}}
   </code></pre></div><p><div class="fancy_video_tag_player"><iframe class="youtube-player" type="text/html" width="640" height="385" src="https://www.youtube.com/embed/wcxo35dTeY8" frameborder="0"></iframe></div></p><p>Atmega8_16MHz HEX - <span class="attention-yellow"></span></p><p>******************************************************************************<br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2019/09/f0e81a82f598c1c76f7748fc06da7a4b.png" alt="http://forum.rcl-radio.ru/uploads/images/2019/09/f0e81a82f598c1c76f7748fc06da7a4b.png" /></span> </p><div class="codebox"><pre><code>     
      byte v1[8] = {31,27,31,27,27,31,27,31};
      byte v2[8] = {31,27,31, 0, 0, 0, 0, 0};      
      byte v3[8] = { 0, 0, 0, 0, 0,31,27,31};
      byte v4[8] = {31,31, 0, 0, 0, 0,31,31};
      byte v5[8] = { 0, 0, 0, 0, 0, 0, 0, 0};
      byte v6[8] = { 0, 0,14,31,31,14, 0, 0}; //*
      byte v7[8] = { 0, 0, 0, 0, 0, 0,31,31};
      byte v8[8] = { 0, 4,14,14,14,31, 4, 0};// alarm</code></pre></div><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2019/09/2c921d0fd257b1847298d64583caa436.png" alt="http://forum.rcl-radio.ru/uploads/images/2019/09/2c921d0fd257b1847298d64583caa436.png" /></span> </p><div class="codebox"><pre><code> case 0: d1=1,d2=2,d3=1,d4=1,d5=3,d6=1;break;
        case 1: d1=2,d2=1,d3=5,d4=7,d5=1,d6=7;break;
        case 2: d1=2,d2=4,d3=1,d4=1,d5=7,d6=7;break;
        case 3: d1=2,d2=4,d3=1,d4=3,d5=7,d6=1;break;
        case 4: d1=1,d2=7,d3=1,d4=5,d5=5,d6=1;break;
        case 5: d1=1,d2=4,d3=2,d4=3,d5=7,d6=1;break;
        case 6: d1=1,d2=4,d3=2,d4=1,d5=3,d6=1;break;
        case 7: d1=2,d2=2,d3=1,d4=5,d5=5,d6=1;break;
        case 8: d1=1,d2=4,d3=1,d4=1,d5=7,d6=1;break;
        case 9: d1=1,d2=4,d3=1,d4=3,d5=7,d6=1;break;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 20 Sep 2019 07:58:11 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=66&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Анализатор спектра LCD1602]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=51&amp;action=new</link>
			<description><![CDATA[<p>Основная статья - <a href="http://rcl-radio.ru/?p=42903">http://rcl-radio.ru/?p=42903</a></p><p>Добавлено 5 режимов отображения полос, управление кнопкой D12 (10 К на GND, управление +5 В). Сигнал подается на вход А0 через разделительный конденсатор 0,1 мкФ.</p><div class="codebox"><pre><code>  #define AUTO_GAIN 1       // автонастройка по громкости
  #define VOL_THR 45        // порог тишины (ниже него отображения на матрице не будет)
  #define LOW_PASS 40       // нижний порог чувствительности шумов (нет скачков при отсутствии звука)
  #define DEF_GAIN 120       // максимальный порог по умолчанию 
  #define FHT_N 256         // ширина спектра х2
  #define LOG_OUT 1
  #include &lt;FHT.h&gt; 
  #include &lt;EEPROM.h&gt;
  #include &lt;LiquidCrystal.h&gt;
  LiquidCrystal lcd(7, 6, 2, 3, 4, 5);// RS,E,D4,D5,D6,D7
      byte posOffset[16] = {2, 3, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30}; // вч выше
      byte maxValue, maxValue_f,www=1,gain_sp = DEF_GAIN;
      float k = 0.1;
      int i1,yyy,spek;
      unsigned long gainTimer;

  void setup(){ 
        Serial.begin(9600);
        ADMUX  = 0b01100000; ADCSRA = 0b11010100; 
        lcd.begin(16, 2);
        pinMode(12,INPUT);
        spek = EEPROM.read(100);
}

  void loop(){
    if(digitalRead(12)==HIGH){spek++;EEPROM.update(100,spek); www=1;if(spek&gt;5){spek=0;}delay(300);}

      if(spek==0&amp;&amp;www==1){
      byte v1[8] = {0, 0, 0, 0, 0, 0, 0, 4};
      byte v2[8] = {0, 0, 0, 0, 0, 0, 4, 4};
      byte v3[8] = {0, 0, 0, 0, 0, 4, 4, 4};
      byte v4[8] = {0, 0, 0, 0, 4, 4, 4, 4};
      byte v5[8] = {0, 0, 0, 4, 4, 4, 4, 4};
      byte v6[8] = {0, 0, 4, 4, 4, 4, 4, 4};
      byte v7[8] = {0, 4, 4, 4, 4, 4, 4, 4};
      byte v8[8] = {4, 4, 4, 4, 4, 4, 4, 4};
      lcd.createChar(0, v1);lcd.createChar(1, v2);lcd.createChar(2, v3);lcd.createChar(3, v4);lcd.createChar(4, v5);lcd.createChar(5, v6);lcd.createChar(6, v7);lcd.createChar(7, v8);
      www=0;}

      if(spek==1&amp;&amp;www==1){
      byte v1[8] = {0, 0, 0, 0, 0, 0, 0, 14};
      byte v2[8] = {0, 0, 0, 0, 0, 0, 14, 14};
      byte v3[8] = {0, 0, 0, 0, 0, 14, 14, 14};
      byte v4[8] = {0, 0, 0, 0, 14, 14, 14, 14};
      byte v5[8] = {0, 0, 0, 14, 14, 14, 14, 14};
      byte v6[8] = {0, 0, 14, 14, 14, 14, 14, 14};
      byte v7[8] = {0, 14, 14, 14, 14, 14, 14, 14};
      byte v8[8] = {14, 14, 14, 14, 14, 14, 14, 14};
      lcd.createChar(0, v1);lcd.createChar(1, v2);lcd.createChar(2, v3);lcd.createChar(3, v4);lcd.createChar(4, v5);lcd.createChar(5, v6);lcd.createChar(6, v7);lcd.createChar(7, v8);
      www=0;}

      if(spek==2&amp;&amp;www==1){
      byte v1[8] = {0, 0, 0, 0, 0, 0, 0, 10};
      byte v2[8] = {0, 0, 0, 0, 0, 0, 10, 10};
      byte v3[8] = {0, 0, 0, 0, 0, 10, 10, 10};
      byte v4[8] = {0, 0, 0, 0, 10, 10, 10, 10};
      byte v5[8] = {0, 0, 0, 10, 10, 10, 10, 10};
      byte v6[8] = {0, 0, 10, 10, 10, 10, 10, 10};
      byte v7[8] = {0, 10, 10, 10, 10, 10, 10, 10};
      byte v8[8] = {10, 10, 10, 10, 10, 10, 10, 10};
      lcd.createChar(0, v1);lcd.createChar(1, v2);lcd.createChar(2, v3);lcd.createChar(3, v4);lcd.createChar(4, v5);lcd.createChar(5, v6);lcd.createChar(6, v7);lcd.createChar(7, v8);
      www=0;}

      if(spek==3&amp;&amp;www==1){
      byte v1[8] = {0, 0, 0, 0, 0, 0, 0, 27};
      byte v2[8] = {0, 0, 0, 0, 0, 0, 27, 27};
      byte v3[8] = {0, 0, 0, 0, 0, 27, 27, 27};
      byte v4[8] = {0, 0, 0, 0, 27, 27, 27, 27};
      byte v5[8] = {0, 0, 0, 27, 27, 27, 27, 27};
      byte v6[8] = {0, 0, 27, 27, 27, 27, 27, 27};
      byte v7[8] = {0, 27, 27, 27, 27, 27, 27, 27};
      byte v8[8] = {27, 27, 27, 27, 27, 27, 27, 27};
      lcd.createChar(0, v1);lcd.createChar(1, v2);lcd.createChar(2, v3);lcd.createChar(3, v4);lcd.createChar(4, v5);lcd.createChar(5, v6);lcd.createChar(6, v7);lcd.createChar(7, v8);
      www=0;}

      if(spek==4&amp;&amp;www==1){
      byte v1[8] = {0, 0, 0, 0, 0, 0, 0, 31};
      byte v2[8] = {0, 0, 0, 0, 0, 0, 31, 31};
      byte v3[8] = {0, 0, 0, 0, 0, 31, 31, 31};
      byte v4[8] = {0, 0, 0, 0, 31, 31, 31, 31};
      byte v5[8] = {0, 0, 0, 31, 31, 31, 31, 31};
      byte v6[8] = {0, 0, 31, 31, 31, 31, 31, 31};
      byte v7[8] = {0, 31, 31, 31, 31, 31, 31, 31};
      byte v8[8] = {31, 31, 31, 31, 31, 31, 31, 31};
      lcd.createChar(0, v1);lcd.createChar(1, v2);lcd.createChar(2, v3);lcd.createChar(3, v4);lcd.createChar(4, v5);lcd.createChar(5, v6);lcd.createChar(6, v7);lcd.createChar(7, v8);
      www=0;}

      if(spek==5&amp;&amp;www==1){
      byte v1[8] = {0, 0, 0, 0, 0, 0, 0, 21};
      byte v2[8] = {0, 0, 0, 0, 0, 0, 21, 21};
      byte v3[8] = {0, 0, 0, 0, 0, 21, 21, 21};
      byte v4[8] = {0, 0, 0, 0, 21, 21, 21, 21};
      byte v5[8] = {0, 0, 0, 21, 21, 21, 21, 21};
      byte v6[8] = {0, 0, 21, 21, 21, 21, 21, 21};
      byte v7[8] = {0, 21, 21, 21, 21, 21, 21, 21};
      byte v8[8] = {21, 21, 21, 21, 21, 21, 21, 21};
      lcd.createChar(0, v1);lcd.createChar(1, v2);lcd.createChar(2, v3);lcd.createChar(3, v4);lcd.createChar(4, v5);lcd.createChar(5, v6);lcd.createChar(6, v7);lcd.createChar(7, v8);
      www=0;}
    
      analyzeAudio();   // функция FHT, забивает массив fht_log_out[] величинами по спектру

      for (int pos = 0; pos &lt; 16; pos++) {  
        if (fht_log_out[posOffset[pos]] &gt; maxValue) maxValue = fht_log_out[posOffset[pos]];
        lcd.setCursor(pos, 0);
        int posLevel = map(fht_log_out[posOffset[pos]], LOW_PASS, gain_sp, 0, 15);posLevel = constrain(posLevel, 0, 15);
        
  while(yyy&lt;2){yyy++;delay(2);
    if (posLevel &gt; 7) {lcd.write((uint8_t)posLevel-8);lcd.setCursor(pos, 1);lcd.write((uint8_t)7);} 
     else {lcd.print(&quot; &quot;);lcd.setCursor(pos, 1);lcd.write((uint8_t)posLevel); }}yyy=0;}

   if (AUTO_GAIN) {
    maxValue_f = maxValue * k + maxValue_f * (1 - k);
    if (millis() - gainTimer &gt; 1500) {   
    if (maxValue_f &gt; VOL_THR) gain_sp = maxValue_f;
      else gain_sp = 150;gainTimer = millis();}
      else {gain_sp = DEF_GAIN;}}
  }// loop

void analyzeAudio() { 
 while(i1 &lt; FHT_N){i1++; 
    do{ADCSRA |= (1 &lt;&lt; ADSC);} 
    while((ADCSRA &amp; (1 &lt;&lt; ADIF)) == 0);fht_input[i1] = (ADCL|ADCH &lt;&lt; 8);}i1=0;
    fht_window(); // window the data for better frequency response
    fht_reorder(); // reorder the data before doing the fht
    fht_run(); // process the data in the fht
    fht_mag_log(); // take the output of the fht
}
 
  </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sun, 01 Sep 2019 08:02:21 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=51&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Миллиомметр 0 — 20 Ом (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=39&amp;action=new</link>
			<description><![CDATA[<p>Новый скетч позволяет расширить верхний предел измерения сопротивления до 1000 Ом</p><p><a href="http://rcl-radio.ru/?p=45805">http://rcl-radio.ru/?p=45805</a></p><p>Требуется тестирование!!!</p><div class="codebox"><pre><code>#include &lt;Wire.h&gt;
#include &lt;Adafruit_ADS1015.h&gt;//https://github.com/adafruit/Adafruit_ADS1X15/archive/master.zip
#include &lt;LiquidCrystal.h&gt;
Adafruit_ADS1115 ads;//(0x48);
/* в файле библиотеки Adafruit_ADS1015.cpp найти все строчки: ADS1015_REG_CONFIG_DR_1600SPS и заменить на: ADS1015_REG_CONFIG_DR_128SPS */
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);// RS,E,D4,D5,D6,D7
 
float multiplier = 0.0078125;
const int u_pogr=10;       // 10 мВ - погрешность ADS1115 при измерении 5 В
const float r_ogr=100.00;  // эталонное сопротивление 100 Ом
float u3300;
int  u_digital;
byte n,k;
long u_sum,u_an,x;
float u_iz,rx,rx_m;
 
void setup(void){Serial.begin(9600);lcd.begin(16, 2);ads.begin();delay(1000);}
 
void loop(){
  while(x&lt;50){
x++;ads.setGain(GAIN_TWOTHIRDS);u3300=ads.readADC_SingleEnded(2)*0.1875-u_pogr;}
k++;if(k==60){x=0;k=0;}  // измерение напряжения 5В каждую минуту
 
if(n==0){ads.setGain(GAIN_SIXTEEN);multiplier = 0.0078125;}
if(u_iz&gt;250&amp;&amp;n==0){n=1;}
if(n==1){ads.setGain(GAIN_EIGHT);multiplier = 0.015625;}
if(u_iz&gt;500&amp;&amp;n==1){n=2;}
if(n==2){ads.setGain(GAIN_FOUR);multiplier = 0.03125;}
if(u_iz&gt;1000&amp;&amp;n==2){n=3;}
if(n==3){ads.setGain(GAIN_TWO);multiplier = 0.0625;}
if(u_iz&gt;2000&amp;&amp;n==3){n=4;}
if(n==4){ads.setGain(GAIN_ONE);multiplier = 0.125;}
if(u_iz&gt;4000&amp;&amp;n==4){n=5;}
if(n==5){ads.setGain(GAIN_TWOTHIRDS);multiplier = 0.1875;}

if(u_iz&lt;4000&amp;&amp;n==5){n=4;}
if(u_iz&lt;2000&amp;&amp;n==4){n=3;}
if(u_iz&lt;1000&amp;&amp;n==3){n=2;}
if(u_iz&lt;500&amp;&amp;n==2){n=1;}
if(u_iz&lt;250&amp;&amp;n==1){n=0;}
 
lcd.setCursor(1,0);
if(rx&lt;1){rx_m=rx*1000;lcd.print(&quot;R = &quot;);lcd.print(rx_m,1);lcd.print(&quot; mOm&quot;);}
if(rx&gt;=1&amp;&amp;rx&lt;100){lcd.print(&quot;R = &quot;);lcd.print(rx,3);lcd.print(&quot; Om&quot;);}
if(rx&gt;=100&amp;&amp;rx&lt;1000){lcd.print(&quot;R = &quot;);lcd.print(rx,2);lcd.print(&quot; Om&quot;);}
if(rx&gt;=1000){lcd.print(&quot; Rx &gt; 1000 Om    &quot;);}
lcd.setCursor(1,1);lcd.print(&quot;U = &quot;);lcd.print(u3300,1);lcd.print(&quot; mV&quot;);
u_sum=0;
for(int i=0;i&lt;100;i++){  // измерение
u_digital = ads.readADC_Differential_0_1();
u_sum = u_sum + u_digital;
delay(1);
}
u_an=u_sum/100;
u_iz=u_an * multiplier;
//rx=(u3300/((u3300-u_iz)/r_ogr))-r_ogr;
rx = (r_ogr*u_iz)/(u3300-u_iz);
 
lcd.clear();
}</code></pre></div><p><span class="attention-yellow"></span><br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2019/09/1e53b07cad4443bbe5ede245aee4f18d.png" alt="http://forum.rcl-radio.ru/uploads/images/2019/09/1e53b07cad4443bbe5ede245aee4f18d.png" /></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 27 Aug 2019 12:21:46 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=39&amp;action=new</guid>
		</item>
	</channel>
</rss>
