<?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; Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=488</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=488&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт».]]></description>
		<lastBuildDate>Sat, 21 May 2022 21:05:18 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6086#p6086</link>
			<description><![CDATA[<p>Так же было с моим скетчем во 2м сообщении который, но когда ваш поставил эта проблема ушла , и вот опять появилась , перезаписывал скетчи, ничего не помогает</p>]]></description>
			<author><![CDATA[null@example.com (bobrusev11)]]></author>
			<pubDate>Sat, 21 May 2022 21:05:18 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6086#p6086</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6085#p6085</link>
			<description><![CDATA[<p><div class="fancy_video_tag_player"><iframe class="youtube-player" type="text/html" width="640" height="385" src="https://www.youtube.com/embed/8r1nvWrdfJE" frameborder="0"></iframe></div></p>]]></description>
			<author><![CDATA[null@example.com (bobrusev11)]]></author>
			<pubDate>Sat, 21 May 2022 21:01:38 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6085#p6085</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6084#p6084</link>
			<description><![CDATA[<p>Ставил все как было, результат такой же плюс писк</p>]]></description>
			<author><![CDATA[null@example.com (bobrusev11)]]></author>
			<pubDate>Sat, 21 May 2022 19:21:19 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6084#p6084</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6081#p6081</link>
			<description><![CDATA[<ul><li><p>поставил 2 стабилизатора на 5 и 9 вольт пленочные и электролиты, пропал писк, но появилась новая проблема,при нажатии mute треск в колонках, звук когда убавляешь доходит до 6 треск и звук громче становится как будто на половину громкости и треск от вращения энкодера от 0-7</p></li></ul><div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Поставьте емкости 100-220 мкф (электролит) + 0,1 мкФ по питанию всех модулей.</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (bobrusev11)]]></author>
			<pubDate>Sat, 21 May 2022 18:16:26 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6081#p6081</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6079#p6079</link>
			<description><![CDATA[<p>Поставьте емкости 100-220 мкф (электролит) + 0,1 мкФ по питанию всех модулей.</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sat, 21 May 2022 12:12:29 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6079#p6079</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6078#p6078</link>
			<description><![CDATA[<p>Есть ещё вопрос как писк побороть, не сильный но все же не приятный</p>]]></description>
			<author><![CDATA[null@example.com (bobrusev11)]]></author>
			<pubDate>Sat, 21 May 2022 11:41:00 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6078#p6078</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6075#p6075</link>
			<description><![CDATA[<ul><li><p>да все хорошо работает, спасибо большое</p></li></ul><div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Если все работает то я разбираю схему.</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (bobrusev11)]]></author>
			<pubDate>Fri, 20 May 2022 19:17:18 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6075#p6075</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6074#p6074</link>
			<description><![CDATA[<p>Если все работает то я разбираю схему.</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 20 May 2022 19:12:53 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6074#p6074</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6073#p6073</link>
			<description><![CDATA[<ul><li><p>не соответствовали, раньше записывал кнопки , сейчас заново посмотрел коды&nbsp; исправил, вроде работает хорошо</p></li></ul><div class="quotebox"><cite>liman324 пишет:</cite><blockquote><div class="quotebox"><blockquote><p>в мониторе порта четко работает с любого расстояния</p></blockquote></div><p>На расстоянии коды кнопок соответствуют скетчу?</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (bobrusev11)]]></author>
			<pubDate>Fri, 20 May 2022 18:59:43 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6073#p6073</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6072#p6072</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>в мониторе порта четко работает с любого расстояния</p></blockquote></div><p>На расстоянии коды кнопок соответствуют скетчу?</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 20 May 2022 18:55:10 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6072#p6072</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6071#p6071</link>
			<description><![CDATA[<p>Что-то у Вас с пультом, у меня отлично работает на расстоянии 2-3 метра</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 20 May 2022 18:41:46 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6071#p6071</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6070#p6070</link>
			<description><![CDATA[<p>прям в плотную всегда работает, дальше отхожу то работает то нет ,светодиод всегда отрабатывает. в мониторе порта четко работает с любого расстояния</p>]]></description>
			<author><![CDATA[null@example.com (bobrusev11)]]></author>
			<pubDate>Fri, 20 May 2022 18:37:52 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6070#p6070</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6069#p6069</link>
			<description><![CDATA[<ul><li><p>то работает то не работает пульт, ик приемник на нажатия всегда реагирует, то прибавляет то нет</p></li></ul><div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Добавлен пульт, впишите в скетч коды своих кнопок пульта</p><div class="codebox"><pre><code>#define IR1    0x33B820DF // button encoder
#define IR2    0x33B8946B // mute
#define IR3    0x33B810EF // &gt;&gt;&gt;
#define IR4    0x33B8E01F // &lt;&lt;&lt;


#include &lt;Wire.h&gt;
#include &lt;EEPROM.h&gt;
#include &lt;PT2257.h&gt;
#include &lt;LiquidCrystal_I2C.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;Encoder.h&gt;           // http://rcl-radio.ru/wp-content/uploads/2019/05/Encoder.zip 
  PT2257 rt;
  IRrecv irrecv(12); // указываем вывод модуля IR приемника
  decode_results ir; 
  Encoder myEnc(8, 9);//CLK, DT
  LiquidCrystal_I2C lcd(0x27,16,4);  // Устанавливаем дисплей
  int menu,vol,vol_d,z,balans,balans_d,z1;
  byte w,mute,w1=1,gr1,gr2;
  long time,time1,oldPosition  = -999,newPosition;
  byte a1[8]={0b00000,0b00000,0b11011,0b11011,0b11011,0b11011,0b00000,0b00000};
  byte a2[8]={0b00000,0b00000,0b11000,0b11000,0b11000,0b11000,0b00000,0b00000};
  byte a3[8]={0b00000,0b00000,0b00000,0b11011,0b11011,0b00000,0b00000,0b00000};
  byte a4[8]={0b00000,0b00000,0b00000,0b11000,0b11000,0b00000,0b00000,0b00000};

  
void setup() {
  Wire.begin();Serial.begin(9600);lcd.init();lcd.backlight();irrecv.enableIRIn();
  MsTimer2::set(1, to_Timer);MsTimer2::start();
  pinMode(10,INPUT);// кнопка энкодера
  pinMode(A1,INPUT_PULLUP);// кнопка mute
   lcd.createChar(0,a1); lcd.createChar(1,a2);lcd.createChar(2,a3); lcd.createChar(3,a4);
   vol = EEPROM.read(0);// vol eeprom
   balans = EEPROM.read(1)-7;
   delay(1000);
   audio();
}

void loop() { 
  /// IR ////////////////////////////////////////
   if ( irrecv.decode( &amp;ir )) {Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);irrecv.resume();time=millis();w=1;}// IR приемник - чтение, в мониторе порта отображаются коды кнопок
   if(ir.value==0){gr1=0;gr2=0;}// запрет нажатий не активных кнопок пульта 
   
/// encoder ////////////////////////
    if((digitalRead(10)==LOW || ir.value==IR1) &amp;&amp; mute==0){menu++;w1=1;myEnc.write(0);cl();time=millis();w=1;w1=1;delay(300);if(menu&gt;1||menu&lt;0){menu=0;}}
/////////////////////////////////////// vol /////////////////////////////////////
if(menu==0){ 
   if(ir.value==IR3){vol++;gr1=1;gr2=0;cl();time=millis();w=1;w1=1;if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;} audio();}// кнопка &gt; 
   if(ir.value==0xFFFFFFFF and gr1==1){vol++;gr2=0;cl();time=millis();w=1;w1=1;if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;} audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==IR4){vol--;gr1=0;gr2=1;cl();time=millis();w=1;w1=1;if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;} audio();}// кнопка &lt;
   if(ir.value==0xFFFFFFFF and gr2==1){vol--;gr1=0;cl();time=millis();w=1;w1=1;if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;} audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
    
   if (newPosition != oldPosition) { 
    oldPosition = newPosition; if(newPosition&gt;1){newPosition=1;}if(newPosition&lt;-1){newPosition=-1;}
    vol=vol-newPosition;myEnc.write(0);newPosition=0; 
    if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;} 
    audio();time = millis();w=1;w1=1;    
}}

// индикация баланс + управление кнопками +\- 4 дБ ///////
if(menu==1){  
   if(ir.value==IR3){balans++;gr1=1;gr2=0;cl();time=millis();w=1;w1=1;if(balans&gt;7){balans=7;}if(balans&lt;-7){balans=-7;}  audio();}// кнопка &gt; 
   if(ir.value==IR4){balans--;gr1=0;gr2=1;cl();time=millis();w=1;w1=1;if(balans&gt;7){balans=7;}if(balans&lt;-7){balans=-7;}  audio();}// кнопка &lt;
   
   if (newPosition != oldPosition) { 
    oldPosition = newPosition; if(newPosition&gt;1){newPosition=1;}if(newPosition&lt;-1){newPosition=-1;}
    balans=balans-newPosition;myEnc.write(0);newPosition=0; 
    if(balans&gt;7){balans=7;}if(balans&lt;-7){balans=-7;} 
    audio();time = millis();w=1;w1=1;   
}}
/////////////////////////////////////////////////////////////
if(w1==1){w1=0;vol_d=vol/3;
   if(vol_d&gt;=0){for(z=0;z&lt;=vol_d;z++){lcd.setCursor(z/2,0);if(menu==0){lcd.write((uint8_t)0);}else{lcd.write((uint8_t)2);}}lcd.print(&quot;  &quot;);}
   if((vol_d)%2==0){lcd.setCursor(z/2,0);if(menu==0){lcd.write((uint8_t)1);}else{lcd.write((uint8_t)3);}}
   lcd.setCursor(14,0);if(vol&lt;10){lcd.print(&quot; &quot;);}lcd.print(vol);time1=millis();

   if(balans&lt;=-1){lcd.setCursor(6+balans,1);if(menu==1){if(balans&lt;-6){}else{lcd.print(&quot; &quot;);}lcd.write((uint8_t)0);lcd.print(&quot; &quot;);}
      else{if(balans&lt;-6){}else{lcd.print(&quot; &quot;);}lcd.write((uint8_t)2);lcd.print(&quot; &quot;);}}
   if(balans&gt;=1){lcd.setCursor(balans+7,1);if(menu==1){lcd.print(&quot; &quot;);lcd.write((uint8_t)0);lcd.print(&quot; &quot;);}else{lcd.print(&quot; &quot;);lcd.write((uint8_t)2);lcd.print(&quot; &quot;);}}
   
   if(balans==0){lcd.setCursor(6,1);lcd.print(&quot; &quot;);}
   if(balans&gt;=0){lcd.setCursor(7,1);lcd.print(&quot;+&quot;);lcd.print(&quot; &quot;);}else{lcd.setCursor(7,1);lcd.print(&quot;-&quot;);}
   lcd.setCursor(8,1);lcd.print(abs(balans));if(balans==0){lcd.print(&quot; &quot;);}
   }
///////////// mute ////////////////////////////////
  if((digitalRead(A1)==LOW || ir.value==IR2) &amp;&amp; mute==0){mute=1;cl();menu=100;audio();lcd.clear();lcd.setCursor(6,0);lcd.print(&quot;MUTE&quot;);delay(300);}
  if((digitalRead(A1)==LOW || ir.value==IR2) &amp;&amp; mute==1){mute=0;cl();w1=1;lcd.clear();menu=0;audio();delay(300);}
  
///////////// eeprom //////////////////////////////
if(millis()-time&gt;10000 &amp;&amp; w==1){// запись всех настроек в EEPROM через 10 сек неактивности
     EEPROM.update(0,vol);EEPROM.update(1,balans+7); w=0;}
}

void audio(){
  rt.setLeft(vol-8+balans); // int 0...79
  rt.setRight(vol-8-balans);// int 0...79
  rt.setMute(mute);  // int 0...1
}

void to_Timer(){newPosition = myEnc.read()/4;} 
void cl(){ir.value=0;delay(100);}</code></pre></div></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (bobrusev11)]]></author>
			<pubDate>Fri, 20 May 2022 18:34:41 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6069#p6069</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6068#p6068</link>
			<description><![CDATA[<p>Добавлен пульт, впишите в скетч коды своих кнопок пульта</p><div class="codebox"><pre><code>#define IR1    0x33B820DF // button encoder
#define IR2    0x33B8946B // mute
#define IR3    0x33B810EF // &gt;&gt;&gt;
#define IR4    0x33B8E01F // &lt;&lt;&lt;


#include &lt;Wire.h&gt;
#include &lt;EEPROM.h&gt;
#include &lt;PT2257.h&gt;
#include &lt;LiquidCrystal_I2C.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;Encoder.h&gt;           // http://rcl-radio.ru/wp-content/uploads/2019/05/Encoder.zip 
  PT2257 rt;
  IRrecv irrecv(12); // указываем вывод модуля IR приемника
  decode_results ir; 
  Encoder myEnc(8, 9);//CLK, DT
  LiquidCrystal_I2C lcd(0x27,16,4);  // Устанавливаем дисплей
  int menu,vol,vol_d,z,balans,balans_d,z1;
  byte w,mute,w1=1,gr1,gr2;
  long time,time1,oldPosition  = -999,newPosition;
  byte a1[8]={0b00000,0b00000,0b11011,0b11011,0b11011,0b11011,0b00000,0b00000};
  byte a2[8]={0b00000,0b00000,0b11000,0b11000,0b11000,0b11000,0b00000,0b00000};
  byte a3[8]={0b00000,0b00000,0b00000,0b11011,0b11011,0b00000,0b00000,0b00000};
  byte a4[8]={0b00000,0b00000,0b00000,0b11000,0b11000,0b00000,0b00000,0b00000};

  
void setup() {
  Wire.begin();Serial.begin(9600);lcd.init();lcd.backlight();irrecv.enableIRIn();
  MsTimer2::set(1, to_Timer);MsTimer2::start();
  pinMode(10,INPUT);// кнопка энкодера
  pinMode(A1,INPUT_PULLUP);// кнопка mute
   lcd.createChar(0,a1); lcd.createChar(1,a2);lcd.createChar(2,a3); lcd.createChar(3,a4);
   vol = EEPROM.read(0);// vol eeprom
   balans = EEPROM.read(1)-7;
   delay(1000);
   audio();
}

void loop() { 
  /// IR ////////////////////////////////////////
   if ( irrecv.decode( &amp;ir )) {Serial.print(&quot;0x&quot;);Serial.println( ir.value,HEX);irrecv.resume();time=millis();w=1;}// IR приемник - чтение, в мониторе порта отображаются коды кнопок
   if(ir.value==0){gr1=0;gr2=0;}// запрет нажатий не активных кнопок пульта 
   
/// encoder ////////////////////////
    if((digitalRead(10)==LOW || ir.value==IR1) &amp;&amp; mute==0){menu++;w1=1;myEnc.write(0);cl();time=millis();w=1;w1=1;delay(300);if(menu&gt;1||menu&lt;0){menu=0;}}
/////////////////////////////////////// vol /////////////////////////////////////
if(menu==0){ 
   if(ir.value==IR3){vol++;gr1=1;gr2=0;cl();time=millis();w=1;w1=1;if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;} audio();}// кнопка &gt; 
   if(ir.value==0xFFFFFFFF and gr1==1){vol++;gr2=0;cl();time=millis();w=1;w1=1;if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;} audio();}// кнопка &gt;&gt;&gt;&gt;&gt;&gt;
   if(ir.value==IR4){vol--;gr1=0;gr2=1;cl();time=millis();w=1;w1=1;if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;} audio();}// кнопка &lt;
   if(ir.value==0xFFFFFFFF and gr2==1){vol--;gr1=0;cl();time=millis();w=1;w1=1;if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;} audio();}// кнопка &lt;&lt;&lt;&lt;&lt;&lt;
    
   if (newPosition != oldPosition) { 
    oldPosition = newPosition; if(newPosition&gt;1){newPosition=1;}if(newPosition&lt;-1){newPosition=-1;}
    vol=vol-newPosition;myEnc.write(0);newPosition=0; 
    if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;} 
    audio();time = millis();w=1;w1=1;    
}}

// индикация баланс + управление кнопками +\- 4 дБ ///////
if(menu==1){  
   if(ir.value==IR3){balans++;gr1=1;gr2=0;cl();time=millis();w=1;w1=1;if(balans&gt;7){balans=7;}if(balans&lt;-7){balans=-7;}  audio();}// кнопка &gt; 
   if(ir.value==IR4){balans--;gr1=0;gr2=1;cl();time=millis();w=1;w1=1;if(balans&gt;7){balans=7;}if(balans&lt;-7){balans=-7;}  audio();}// кнопка &lt;
   
   if (newPosition != oldPosition) { 
    oldPosition = newPosition; if(newPosition&gt;1){newPosition=1;}if(newPosition&lt;-1){newPosition=-1;}
    balans=balans-newPosition;myEnc.write(0);newPosition=0; 
    if(balans&gt;7){balans=7;}if(balans&lt;-7){balans=-7;} 
    audio();time = millis();w=1;w1=1;   
}}
/////////////////////////////////////////////////////////////
if(w1==1){w1=0;vol_d=vol/3;
   if(vol_d&gt;=0){for(z=0;z&lt;=vol_d;z++){lcd.setCursor(z/2,0);if(menu==0){lcd.write((uint8_t)0);}else{lcd.write((uint8_t)2);}}lcd.print(&quot;  &quot;);}
   if((vol_d)%2==0){lcd.setCursor(z/2,0);if(menu==0){lcd.write((uint8_t)1);}else{lcd.write((uint8_t)3);}}
   lcd.setCursor(14,0);if(vol&lt;10){lcd.print(&quot; &quot;);}lcd.print(vol);time1=millis();

   if(balans&lt;=-1){lcd.setCursor(6+balans,1);if(menu==1){if(balans&lt;-6){}else{lcd.print(&quot; &quot;);}lcd.write((uint8_t)0);lcd.print(&quot; &quot;);}
      else{if(balans&lt;-6){}else{lcd.print(&quot; &quot;);}lcd.write((uint8_t)2);lcd.print(&quot; &quot;);}}
   if(balans&gt;=1){lcd.setCursor(balans+7,1);if(menu==1){lcd.print(&quot; &quot;);lcd.write((uint8_t)0);lcd.print(&quot; &quot;);}else{lcd.print(&quot; &quot;);lcd.write((uint8_t)2);lcd.print(&quot; &quot;);}}
   
   if(balans==0){lcd.setCursor(6,1);lcd.print(&quot; &quot;);}
   if(balans&gt;=0){lcd.setCursor(7,1);lcd.print(&quot;+&quot;);lcd.print(&quot; &quot;);}else{lcd.setCursor(7,1);lcd.print(&quot;-&quot;);}
   lcd.setCursor(8,1);lcd.print(abs(balans));if(balans==0){lcd.print(&quot; &quot;);}
   }
///////////// mute ////////////////////////////////
  if((digitalRead(A1)==LOW || ir.value==IR2) &amp;&amp; mute==0){mute=1;cl();menu=100;audio();lcd.clear();lcd.setCursor(6,0);lcd.print(&quot;MUTE&quot;);delay(300);}
  if((digitalRead(A1)==LOW || ir.value==IR2) &amp;&amp; mute==1){mute=0;cl();w1=1;lcd.clear();menu=0;audio();delay(300);}
  
///////////// eeprom //////////////////////////////
if(millis()-time&gt;10000 &amp;&amp; w==1){// запись всех настроек в EEPROM через 10 сек неактивности
     EEPROM.update(0,vol);EEPROM.update(1,balans+7); w=0;}
}

void audio(){
  rt.setLeft(vol-8+balans); // int 0...79
  rt.setRight(vol-8-balans);// int 0...79
  rt.setMute(mute);  // int 0...1
}

void to_Timer(){newPosition = myEnc.read()/4;} 
void cl(){ir.value=0;delay(100);}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 20 May 2022 17:57:08 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6068#p6068</guid>
		</item>
		<item>
			<title><![CDATA[Re: Pt2257 + энкодер+ lcd1602 i2c+ ИК пульт]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=6067#p6067</link>
			<description><![CDATA[<ul><li><p>да теперь в норме</p></li></ul><div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Звук я поправил:</p><div class="codebox"><pre><code>#include &lt;Wire.h&gt;
#include &lt;EEPROM.h&gt;
#include &lt;PT2257.h&gt;
#include &lt;LiquidCrystal_I2C.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;Encoder.h&gt;           // http://rcl-radio.ru/wp-content/uploads/2019/05/Encoder.zip 
  PT2257 rt;
  IRrecv irrecv(12); // указываем вывод модуля IR приемника
  decode_results ir; 
  Encoder myEnc(8, 9);//CLK, DT
  LiquidCrystal_I2C lcd(0x27,16,4);  // Устанавливаем дисплей
  int menu,vol,vol_d,z,balans,balans_d,z1;
  byte w,mute,w1=1;
  long time,time1,oldPosition  = -999,newPosition;
  byte a1[8]={0b00000,0b00000,0b11011,0b11011,0b11011,0b11011,0b00000,0b00000};
  byte a2[8]={0b00000,0b00000,0b11000,0b11000,0b11000,0b11000,0b00000,0b00000};
  byte a3[8]={0b00000,0b00000,0b00000,0b11011,0b11011,0b00000,0b00000,0b00000};
  byte a4[8]={0b00000,0b00000,0b00000,0b11000,0b11000,0b00000,0b00000,0b00000};

  
void setup() {
  Wire.begin();Serial.begin(9600);lcd.init();lcd.backlight();
  MsTimer2::set(1, to_Timer);MsTimer2::start();
  pinMode(10,INPUT);// кнопка энкодера
  pinMode(A1,INPUT_PULLUP);// кнопка mute
   lcd.createChar(0,a1); lcd.createChar(1,a2);lcd.createChar(2,a3); lcd.createChar(3,a4);
   vol = EEPROM.read(0);// vol eeprom
   balans = EEPROM.read(1)-7;
   delay(1000);
   audio();
}

void loop() { 
    if(digitalRead(10)==LOW){menu++;w1=1;myEnc.write(0);delay(300);if(menu&gt;1||menu&lt;0){menu=0;}}
/////////////////////////////////////// vol /////////////////////////////////////
if(menu==0){   
  if (newPosition != oldPosition) { 
    oldPosition = newPosition; if(newPosition&gt;1){newPosition=1;}if(newPosition&lt;-1){newPosition=-1;}
    vol=vol-newPosition;myEnc.write(0);newPosition=0; 
    if(vol&gt;79){vol=79;}if(vol&lt;0){vol=0;} 
    audio();time = millis();w=1;w1=1;    
}}

// индикация баланс + управление кнопками +\- 4 дБ ///////
if(menu==1){   
   if (newPosition != oldPosition) { 
    oldPosition = newPosition; if(newPosition&gt;1){newPosition=1;}if(newPosition&lt;-1){newPosition=-1;}
    balans=balans-newPosition;myEnc.write(0);newPosition=0; 
    if(balans&gt;7){balans=7;}if(balans&lt;-7){balans=-7;} 
    audio();time = millis();w=1;w1=1;   
}}
/////////////////////////////////////////////////////////////
if(w1==1){w1=0;vol_d=vol/3;
   if(vol_d&gt;=0){for(z=0;z&lt;=vol_d;z++){lcd.setCursor(z/2,0);if(menu==0){lcd.write((uint8_t)0);}else{lcd.write((uint8_t)2);}}lcd.print(&quot;  &quot;);}
   if((vol_d)%2==0){lcd.setCursor(z/2,0);if(menu==0){lcd.write((uint8_t)1);}else{lcd.write((uint8_t)3);}}
   lcd.setCursor(14,0);if(vol&lt;10){lcd.print(&quot; &quot;);}lcd.print(vol);time1=millis();

   if(balans&lt;=-1){lcd.setCursor(6+balans,1);if(menu==1){if(balans&lt;-6){}else{lcd.print(&quot; &quot;);}lcd.write((uint8_t)0);lcd.print(&quot; &quot;);}
      else{if(balans&lt;-6){}else{lcd.print(&quot; &quot;);}lcd.write((uint8_t)2);lcd.print(&quot; &quot;);}}
   if(balans&gt;=1){lcd.setCursor(balans+7,1);if(menu==1){lcd.print(&quot; &quot;);lcd.write((uint8_t)0);lcd.print(&quot; &quot;);}else{lcd.print(&quot; &quot;);lcd.write((uint8_t)2);lcd.print(&quot; &quot;);}}
   
   if(balans==0){lcd.setCursor(6,1);lcd.print(&quot; &quot;);}
   if(balans&gt;=0){lcd.setCursor(7,1);lcd.print(&quot;+&quot;);lcd.print(&quot; &quot;);}else{lcd.setCursor(7,1);lcd.print(&quot;-&quot;);}
   lcd.setCursor(8,1);lcd.print(abs(balans));if(balans==0){lcd.print(&quot; &quot;);}
   }
///////////// mute ////////////////////////////////
  if(digitalRead(A1)==LOW &amp;&amp; mute==0){mute=1;menu=100;audio();lcd.clear();lcd.setCursor(6,0);lcd.print(&quot;MUTE&quot;);delay(300);}
  if(digitalRead(A1)==LOW &amp;&amp; mute==1){mute=0;w1=1;lcd.clear();menu=0;audio();delay(300);}
  
///////////// eeprom //////////////////////////////
if(millis()-time&gt;10000 &amp;&amp; w==1){// запись всех настроек в EEPROM через 10 сек неактивности
     EEPROM.update(0,vol);EEPROM.update(1,balans+7); w=0;}
}

void audio(){
  rt.setLeft(vol-8+balans); // int 0...79
  rt.setRight(vol-8-balans);// int 0...79
  rt.setMute(mute);  // int 0...1
}

void to_Timer(){newPosition = myEnc.read()/4;} </code></pre></div></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (bobrusev11)]]></author>
			<pubDate>Fri, 20 May 2022 17:52:20 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=6067#p6067</guid>
		</item>
	</channel>
</rss>
