<?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; Часы на ИВ-18 (разработка)]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=299</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=299&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Часы на ИВ-18 (разработка)».]]></description>
		<lastBuildDate>Mon, 23 Dec 2024 11:32:47 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11168#p11168</link>
			<description><![CDATA[<p>Благодарю. Как попробую, отпишусь.</p>]]></description>
			<author><![CDATA[null@example.com (MORO-1986)]]></author>
			<pubDate>Mon, 23 Dec 2024 11:32:47 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11168#p11168</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11167#p11167</link>
			<description><![CDATA[<p>Кнопка с А2 перенести на А6, кнопка будет иметь следующий вид</p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/12/343e52766fd15d5355930f040f50d793.png" alt="http://forum.rcl-radio.ru/uploads/images/2024/12/343e52766fd15d5355930f040f50d793.png" /></span> </p><p>Вход DS18B20 A2</p><p>Скетч не тестировал</p><div class="codebox"><pre><code>#include &lt;OneWire.h&gt;            // http://rcl-radio.ru/wp-content/uploads/2018/07/OneWire.zip

#define SDA PC4
#define SCL PC5

OneWire  ds(16); // Вход датчика 18b20 A2

int i, a[8], segm, an,dp=0b10000000,zz,yy,sett,mig;
long times,times0;
int temper;

void setup() {
  DDRD = 0B11111111;
  DDRB = 0B00111111;
  DDRC = 0B00000011;
 // PORTC |= (1 &lt;&lt; 2) | (1 &lt;&lt; 3);

  cli();
  TCCR1A = 0;
  TCCR1B = 0;
  OCR1A = 100;
  TCCR1B |= (1 &lt;&lt; WGM12);
  TCCR1B |= (1 &lt;&lt; CS11) | (1 &lt;&lt; CS10);
  TIMSK1 |= (1 &lt;&lt; OCIE1A);
  sei();
    // set_time(21,5,4,29,9,57,0);// год 00-99, ДН 1-7 (1=ВС), месяц 1-12, дата 1-31, час 0-23, минуты 0-59, секунды 0-59
}


void loop() {
  byte sec =  (ds_read(0) &amp; 0x0F) + (((ds_read(0) &amp; 0x70) &gt;&gt; 4) * 10);
  byte min =  (ds_read(1) &amp; 0x0F) + (((ds_read(1) &amp; 0x70) &gt;&gt; 4) * 10);
  byte hour = ((ds_read(2) &amp; 0x0F) + ((ds_read(2) &amp; 0x70) &gt;&gt; 4) * 10);
  byte day =  (ds_read(3) &amp; 0x0F);
  byte datat = ((ds_read(4) &amp; 0x0F) + ((ds_read(4) &amp; 0x70) &gt;&gt; 4) * 10);
  byte mont = ((ds_read(5) &amp; 0x0F) + ((ds_read(5) &amp; 0x70) &gt;&gt; 4) * 10);
  byte year = ((ds_read(6) &amp; 0x0F) + ((ds_read(6) &amp; 0x70) &gt;&gt; 4) * 10);
  if(millis()-times0&gt;3000){ temper = dsRead(0);times0=millis();}

  if(analogRead(A6)&lt;300){sett++;if(sett&gt;6){sett=0;}}
  if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 1){hour++;if(hour&gt;23){hour=0;}set_time(255,255,255,255,hour,255,255);}
  if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 2){min++;if(min&gt;59){min=0;}set_time(255,255,255,255,255,min,255);}
  if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 3){sec=0;set_time(255,255,255,255,255,255,sec);}
  if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 4){datat++;if(datat&gt;31){datat=1;}set_time(255,255,255,datat,255,255,255);}
  if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 5){mont++;if(mont&gt;12){mont=1;}set_time(255,255,mont,255,255,255,255);}
  if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 6){year++;if(year&gt;50){year=21;}set_time(year,255,255,255,255,255,255);}


  if(sec&gt;=30&amp;&amp;sec&lt;35&amp;&amp;sett==0||sett&gt;3){
  zz=1;yy=0;
  if(sett==4&amp;&amp;mig==2){a[0]=10;}else{a[0] = datat / 10;}
  if(sett==4&amp;&amp;mig==2){a[1]=10;}else{a[1] = datat % 10;}
  if(sett==5&amp;&amp;mig==2){a[2]=10;}else{a[2] = mont / 10;}
  if(sett==5&amp;&amp;mig==2){a[3]=10;}else{a[3] = mont % 10;}
  if(sett==6&amp;&amp;mig==2){a[4]=10;}else{a[4] = 2;}
  if(sett==6&amp;&amp;mig==2){a[5]=10;}else{a[5] = 0;}
  if(sett==6&amp;&amp;mig==2){a[6]=10;}else{a[6] = year / 10;}
  if(sett==6&amp;&amp;mig==2){a[7]=10;}else{a[7] = year % 10;}
  }
  else if(sec&gt;=35&amp;&amp;sec&lt;40&amp;&amp;sett==0){
  zz=0;yy=1;
  a[0] = 10;
  a[1] = 10;
  a[2] = temper / 1000;
  a[3] = temper / 100 % 10;
  a[4] = temper / 10 % 10;
  a[5] = 12;
  a[6] = 13;
  a[7] = 10;
  } 
  else{
  zz=0;yy=0; 
  if(sett==1&amp;&amp;mig==2){a[0]=10;}else{a[0] = hour / 10;}
  if(sett==1&amp;&amp;mig==2){a[1]=10;}else{a[1] = hour % 10;}
  a[2] = 11;
  if(sett==2&amp;&amp;mig==2){a[3]=10;}else{a[3] = min / 10;}
  if(sett==2&amp;&amp;mig==2){a[4]=10;}else{a[4] = min % 10;}
  a[5] = 11;
  if(sett==3&amp;&amp;mig==2){a[6]=10;}else{a[6] = sec / 10;}
  if(sett==3&amp;&amp;mig==2){a[7]=10;}else{a[7] = sec % 10;}
  }
  delay(200);
  mig++;
  if(mig&gt;2){mig=0;}
}// loop


ISR(TIMER1_COMPA_vect) {
  switch (i) {
    case 0:  dp=0b10000000;segm = a[0]; an = 0; cl();anod(); segment(); break;
    case 1:  if(zz==1){dp=0;}else{dp=0b10000000;}segm = a[1]; an = 1; cl();anod(); segment(); break;
    case 2:  dp=0b10000000;segm = a[2]; an = 2; cl();anod(); segment(); break;
    case 3:  if(zz==1||yy==1){dp=0;}else{dp=0b10000000;}segm = a[3]; an = 3; cl();anod(); segment(); break;
    case 4:  dp=0b10000000;segm = a[4]; an = 4; cl();anod(); segment(); break;
    case 5:  dp=0b10000000;segm = a[5]; an = 5; cl();anod(); segment(); break;
    case 6:  dp=0b10000000;segm = a[6]; an = 6; cl();anod(); segment(); break;
    case 7:  dp=0b10000000;segm = a[7]; an = 7; cl();anod(); segment(); break;
  } i++; if (i &gt; 7) {
    i = 0;
  }
}

void segment() {
  switch (segm) {
    //
    case 0: PORTD = 0B01000000 + dp; break; // 0 0000001
    case 1: PORTD = 0B01111001 + dp; break; // 1 1001111
    case 2: PORTD = 0B00100100 + dp; break; // 2 0010010
    case 3: PORTD = 0B00110000 + dp; break; // 3 0000110
    case 4: PORTD = 0B00011001 + dp; break; // 4 1001100
    case 5: PORTD = 0B00010010 + dp; break; // 5 0100100
    case 6: PORTD = 0B00000010 + dp; break; // 6 0100000
    case 7: PORTD = 0B01111000 + dp; break; // 7 0001111
    case 8: PORTD = 0B00000000 + dp; break; // 8 0000000
    case 9: PORTD = 0B00010000 + dp; break; // 9 0000100
    case 10:PORTD = 0B01111111 + dp; break; // ПУСТО
    case 11:PORTD = 0B00111111 + dp; break; // -
    case 12:PORTD = 0B00011100 + dp; break; // ГРАДУС
    case 13:PORTD = 0B01000110 + dp; break; // С

  }
}
void anod() {
  switch (an) {
    case 0: PORTC &amp;= ~(1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;
    case 1: PORTC |= (1 &lt;&lt; 1); PORTC &amp;= ~(1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;
    case 2: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB &amp;= ~(1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;
    case 3: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB &amp;= ~(1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;
    case 4: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB &amp;= ~(1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;
    case 5: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB &amp;= ~(1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;
    case 6: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB &amp;= ~(1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;
    case 7: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB &amp;= ~(1 &lt;&lt; 0); break;
  }
}
void cl(){
  PORTD = 0B11111111;
  PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |=(1 &lt;&lt; 0);
  delayMicroseconds(200);
  }

bool i2c_read_bit() {
    bool i2c_bit = 1;       
    DDRC &amp;= ~(1 &lt;&lt; SDA);           
    delayMicroseconds(10);
    DDRC &amp;= ~(1 &lt;&lt; SCL);               
    if((PINC &gt;&gt; SDA) &amp; 1) i2c_bit=0;                           
    delayMicroseconds(10); 
    DDRC |= (1 &lt;&lt; SCL);             
    return i2c_bit; 
}

byte i2c_write_byte(byte data){
    for (byte i=0; i&lt;8; i++){i2c_write_bit((data&amp;0x80)==0);data&lt;&lt;=1;}   
    return i2c_read_bit();
}

byte i2c_read_byte(byte a){
    byte i, data=0;               
    for(i=0; i&lt;8; i++){if (!i2c_read_bit()) data++;if(i!=7) data&lt;&lt;=1;}       
    i2c_write_bit(a);return data; 
}

void i2c_write_bit(byte b){
    delayMicroseconds(5);
    if(b){DDRC |= (1 &lt;&lt; SDA);}else{DDRC &amp;= ~(1 &lt;&lt; SDA);}
    delayMicroseconds(5);
    DDRC &amp;= ~(1 &lt;&lt; SCL);       
    delayMicroseconds(10);
    DDRC |= (1 &lt;&lt; SCL);
}

void i2c_start(){
     delayMicroseconds(10); 
     DDRC &amp;= ~(1 &lt;&lt; SDA); DDRC &amp;= ~(1 &lt;&lt; SCL);
     delayMicroseconds(10);
     DDRC |= (1 &lt;&lt; SDA);  PORTC &amp;= ~(1 &lt;&lt; SDA);
     delayMicroseconds(10);
     DDRC |= (1 &lt;&lt; SCL);  PORTC &amp;= ~(1 &lt;&lt; SCL);   
     delayMicroseconds(10);
}

void i2c_stop()  {
     DDRC |= (1 &lt;&lt; SDA);           
     delayMicroseconds(10);
     DDRC &amp;= ~(1 &lt;&lt; SCL);               
     delayMicroseconds(10);
     DDRC &amp;= ~(1 &lt;&lt; SDA);             
}

byte ds_read(byte reg){
     byte data = 0;
     i2c_start();
     i2c_write_byte(0b11010000);
     i2c_write_byte(reg);
     i2c_start();
     i2c_write_byte(0b11010001);
     data = i2c_read_byte(0);
     i2c_stop();
     return data;
  }

void ds_write(byte reg, byte data){
     i2c_start();
     i2c_write_byte(0b11010000);
     i2c_write_byte(reg);
     i2c_write_byte(data);
     i2c_stop();
  } 

void set_time(byte years, byte days, byte monts, byte datas, byte hours ,byte minute, byte second){
    if(second &lt; 255){ds_write(0x00,(second/10&lt;&lt;4)+second%10);}
    if(minute &lt; 255){ds_write(0x01,(minute/10&lt;&lt;4)+minute%10);}
    if(hours &lt; 255){ds_write(0x02,(hours/10&lt;&lt;4)+hours%10);}
    if(days &lt; 255){ds_write(0x03,days);}
    if(datas &lt; 255){ds_write(0x04,(datas/10&lt;&lt;4)+datas%10);}
    if(monts &lt; 255){ds_write(0x05,(monts/10&lt;&lt;4)+monts%10);}
    if(years &lt; 255){ds_write(0x06,(years/10&lt;&lt;4)+years%10);}
  }


float dsRead(byte x) {
  byte data[2], addr[8][8], kol = 0;
  while (ds.search(addr[kol])) {  // поиск датчиков, определение адреса и кол-ва датчиков
    kol++;
  } 
  ds.reset_search();  // Сброс поиска датчика
  ds.reset();         // Инициализация, выполняется сброс шины
  ds.select(addr[x]); // Обращение к датчику по адресу
  ds.write(0x44, 0);  // Измерение температуры с переносом данных в память
  ds.reset();         // Инициализация, выполняется сброс шины
  ds.select(addr[x]); // Обращение к датчику по адресу
  ds.write(0xBE);     // Обращение памяти
  for (byte i=0; i&lt;9; i++) data[i]=ds.read();
  int raw=(data[1]&lt;&lt;8)|data[0];
  float value = (float)raw / 1.60; return value; // Расчет температуры и вывод
}  </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 23 Dec 2024 11:25:32 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11167#p11167</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11166#p11166</link>
			<description><![CDATA[<div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Нужен цифровой с&nbsp; D0 по D13 и c А0 по А5</p></blockquote></div><p>Кнопки висят на пинах А2 и А3. Им тоже нужен цифровой пин? Их нельзя перенести на А6 и А7?</p>]]></description>
			<author><![CDATA[null@example.com (MORO-1986)]]></author>
			<pubDate>Mon, 23 Dec 2024 11:13:57 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11166#p11166</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11165#p11165</link>
			<description><![CDATA[<p>Нужен цифровой с&nbsp; D0 по D13 и c А0 по А5</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 23 Dec 2024 11:09:24 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11165#p11165</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11164#p11164</link>
			<description><![CDATA[<div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Какой пин у Вас свободен под Ds18B20?</p></blockquote></div><p>Свободны пины А6 и А7</p>]]></description>
			<author><![CDATA[null@example.com (MORO-1986)]]></author>
			<pubDate>Mon, 23 Dec 2024 11:07:34 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11164#p11164</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11163#p11163</link>
			<description><![CDATA[<p>Какой пин у Вас свободен под Ds18B20?</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 23 Dec 2024 11:06:09 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11163#p11163</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11162#p11162</link>
			<description><![CDATA[<div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Опубликуйте скетч который Вы используете</p></blockquote></div><p>#define SDA PC4 <br />#define SCL PC5 </p><p>int i, a[8], segm, an,dp=0b10000000,zz,yy,sett,mig;<br />long times;</p><p>void setup() {<br />&nbsp; DDRD = 0B11111111;<br />&nbsp; DDRB = 0B00111111;<br />&nbsp; DDRC = 0B00000011;<br />&nbsp; PORTC |= (1 &lt;&lt; 2) | (1 &lt;&lt; 3);<br />&nbsp; cli();<br />&nbsp; TCCR1A = 0;<br />&nbsp; TCCR1B = 0;<br />&nbsp; OCR1A = 100;<br />&nbsp; TCCR1B |= (1 &lt;&lt; WGM12);<br />&nbsp; TCCR1B |= (1 &lt;&lt; CS11) | (1 &lt;&lt; CS10); <br />&nbsp; TIMSK1 |= (1 &lt;&lt; OCIE1A);<br />&nbsp; sei();<br />&nbsp; &nbsp; // set_time(21,5,4,29,9,57,0);// год 00-99, ДН 1-7 (1=ВС), месяц 1-12, дата 1-31, час 0-23, минуты 0-59, секунды 0-59<br />}</p> <br /><p>void loop() {<br />&nbsp; byte sec =&nbsp; (ds_read(0) &amp; 0x0F) + (((ds_read(0) &amp; 0x70) &gt;&gt; 4) * 10);<br />&nbsp; byte min =&nbsp; (ds_read(1) &amp; 0x0F) + (((ds_read(1) &amp; 0x70) &gt;&gt; 4) * 10);<br />&nbsp; byte hour = ((ds_read(2) &amp; 0x0F) + ((ds_read(2) &amp; 0x70) &gt;&gt; 4) * 10);<br />&nbsp; byte day =&nbsp; (ds_read(3) &amp; 0x0F);<br />&nbsp; byte datat = ((ds_read(4) &amp; 0x0F) + ((ds_read(4) &amp; 0x70) &gt;&gt; 4) * 10);<br />&nbsp; byte mont = ((ds_read(5) &amp; 0x0F) + ((ds_read(5) &amp; 0x70) &gt;&gt; 4) * 10);<br />&nbsp; byte year = ((ds_read(6) &amp; 0x0F) + ((ds_read(6) &amp; 0x70) &gt;&gt; 4) * 10);<br />&nbsp; int temper = (ds_read(0x11)*100 + ((ds_read(0x12) &amp; 0b11000000) &gt;&gt; 6)*25)*0.82;</p><p>&nbsp; if(((PINC &gt;&gt; 2) &amp; 1) == 0){sett++;if(sett&gt;6){sett=0;}}<br />&nbsp; if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 1){hour++;if(hour&gt;23){hour=0;}set_time(255,255,255,255,hour,255,255);}<br />&nbsp; if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 2){min++;if(min&gt;59){min=0;}set_time(255,255,255,255,255,min,255);}<br />&nbsp; if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 3){sec=0;set_time(255,255,255,255,255,255,sec);}<br />&nbsp; if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 4){datat++;if(datat&gt;31){datat=1;}set_time(255,255,255,datat,255,255,255);}<br />&nbsp; if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 5){mont++;if(mont&gt;12){mont=1;}set_time(255,255,mont,255,255,255,255);}<br />&nbsp; if(((PINC &gt;&gt; 3) &amp; 1) == 0 &amp;&amp; sett == 6){year++;if(year&gt;50){year=21;}set_time(year,255,255,255,255,255,255);}</p> <br /><p>&nbsp; if(sec&gt;=30&amp;&amp;sec&lt;35&amp;&amp;sett==0||sett&gt;3){<br />&nbsp; zz=1;yy=0;<br />&nbsp; if(sett==4&amp;&amp;mig==2){a[0]=10;}else{a[0] = datat / 10;}<br />&nbsp; if(sett==4&amp;&amp;mig==2){a[1]=10;}else{a[1] = datat % 10;}<br />&nbsp; if(sett==5&amp;&amp;mig==2){a[2]=10;}else{a[2] = mont / 10;}<br />&nbsp; if(sett==5&amp;&amp;mig==2){a[3]=10;}else{a[3] = mont % 10;}<br />&nbsp; if(sett==6&amp;&amp;mig==2){a[4]=10;}else{a[4] = 2;}<br />&nbsp; if(sett==6&amp;&amp;mig==2){a[5]=10;}else{a[5] = 0;}<br />&nbsp; if(sett==6&amp;&amp;mig==2){a[6]=10;}else{a[6] = year / 10;}<br />&nbsp; if(sett==6&amp;&amp;mig==2){a[7]=10;}else{a[7] = year % 10;}<br />&nbsp; }<br />&nbsp; else if(sec&gt;=35&amp;&amp;sec&lt;40&amp;&amp;sett==0){<br />&nbsp; zz=0;yy=1;<br />&nbsp; a[0] = 10;<br />&nbsp; a[1] = 10;<br />&nbsp; a[2] = temper / 1000;<br />&nbsp; a[3] = temper / 100 % 10;<br />&nbsp; a[4] = temper / 10 % 10;<br />&nbsp; a[5] = 12;<br />&nbsp; a[6] = 13;<br />&nbsp; a[7] = 10;<br />&nbsp; }&nbsp; <br />&nbsp; else{<br />&nbsp; zz=0;yy=0;&nbsp; <br />&nbsp; if(sett==1&amp;&amp;mig==2){a[0]=10;}else{a[0] = hour / 10;}<br />&nbsp; if(sett==1&amp;&amp;mig==2){a[1]=10;}else{a[1] = hour % 10;}<br />&nbsp; a[2] = 11;<br />&nbsp; if(sett==2&amp;&amp;mig==2){a[3]=10;}else{a[3] = min / 10;}<br />&nbsp; if(sett==2&amp;&amp;mig==2){a[4]=10;}else{a[4] = min % 10;}<br />&nbsp; a[5] = 11;<br />&nbsp; if(sett==3&amp;&amp;mig==2){a[6]=10;}else{a[6] = sec / 10;}<br />&nbsp; if(sett==3&amp;&amp;mig==2){a[7]=10;}else{a[7] = sec % 10;}<br />&nbsp; }<br />&nbsp; delay(200);<br />&nbsp; mig++;<br />&nbsp; if(mig&gt;2){mig=0;}<br />}// loop</p> <br /><p>ISR(TIMER1_COMPA_vect) {<br />&nbsp; switch (i) {<br />&nbsp; &nbsp; case 0:&nbsp; dp=0b10000000;segm = a[0]; an = 0; cl();anod(); segment(); break;<br />&nbsp; &nbsp; case 1:&nbsp; if(zz==1){dp=0;}else{dp=0b10000000;}segm = a[1]; an = 1; cl();anod(); segment(); break;<br />&nbsp; &nbsp; case 2:&nbsp; dp=0b10000000;segm = a[2]; an = 2; cl();anod(); segment(); break;<br />&nbsp; &nbsp; case 3:&nbsp; if(zz==1||yy==1){dp=0;}else{dp=0b10000000;}segm = a[3]; an = 3; cl();anod(); segment(); break;<br />&nbsp; &nbsp; case 4:&nbsp; dp=0b10000000;segm = a[4]; an = 4; cl();anod(); segment(); break;<br />&nbsp; &nbsp; case 5:&nbsp; dp=0b10000000;segm = a[5]; an = 5; cl();anod(); segment(); break;<br />&nbsp; &nbsp; case 6:&nbsp; dp=0b10000000;segm = a[6]; an = 6; cl();anod(); segment(); break;<br />&nbsp; &nbsp; case 7:&nbsp; dp=0b10000000;segm = a[7]; an = 7; cl();anod(); segment(); break;<br />&nbsp; } i++; if (i &gt; 7) {<br />&nbsp; &nbsp; i = 0;<br />&nbsp; }<br />}</p><p>void segment() {<br />&nbsp; switch (segm) {<br />&nbsp; &nbsp; //<br />&nbsp; &nbsp; case 0: PORTD = 0B01000000 + dp; break; // 0 0000001<br />&nbsp; &nbsp; case 1: PORTD = 0B01111001 + dp; break; // 1 1001111<br />&nbsp; &nbsp; case 2: PORTD = 0B00100100 + dp; break; // 2 0010010<br />&nbsp; &nbsp; case 3: PORTD = 0B00110000 + dp; break; // 3 0000110<br />&nbsp; &nbsp; case 4: PORTD = 0B00011001 + dp; break; // 4 1001100<br />&nbsp; &nbsp; case 5: PORTD = 0B00010010 + dp; break; // 5 0100100<br />&nbsp; &nbsp; case 6: PORTD = 0B00000010 + dp; break; // 6 0100000<br />&nbsp; &nbsp; case 7: PORTD = 0B01111000 + dp; break; // 7 0001111<br />&nbsp; &nbsp; case 8: PORTD = 0B00000000 + dp; break; // 8 0000000<br />&nbsp; &nbsp; case 9: PORTD = 0B00010000 + dp; break; // 9 0000100<br />&nbsp; &nbsp; case 10:PORTD = 0B01111111 + dp; break; // ПУСТО<br />&nbsp; &nbsp; case 11:PORTD = 0B00111111 + dp; break; // -<br />&nbsp; &nbsp; case 12:PORTD = 0B00011100 + dp; break; // ГРАДУС<br />&nbsp; &nbsp; case 13:PORTD = 0B01000110 + dp; break; // С</p><p>&nbsp; }<br />}<br />void anod() {<br />&nbsp; switch (an) {<br />&nbsp; &nbsp; case 0: PORTC &amp;= ~(1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;<br />&nbsp; &nbsp; case 1: PORTC |= (1 &lt;&lt; 1); PORTC &amp;= ~(1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;<br />&nbsp; &nbsp; case 2: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB &amp;= ~(1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;<br />&nbsp; &nbsp; case 3: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB &amp;= ~(1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;<br />&nbsp; &nbsp; case 4: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB &amp;= ~(1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;<br />&nbsp; &nbsp; case 5: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB &amp;= ~(1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;<br />&nbsp; &nbsp; case 6: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB &amp;= ~(1 &lt;&lt; 1); PORTB |= (1 &lt;&lt; 0); break;<br />&nbsp; &nbsp; case 7: PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB &amp;= ~(1 &lt;&lt; 0); break;<br />&nbsp; }<br />}<br /> void cl(){<br />&nbsp; PORTD = 0B11111111;<br />&nbsp; PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |=(1 &lt;&lt; 0);<br />&nbsp; delayMicroseconds(200);<br />&nbsp; }</p><p>bool i2c_read_bit() {<br />&nbsp; &nbsp; bool i2c_bit = 1;&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; DDRC &amp;= ~(1 &lt;&lt; SDA);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; delayMicroseconds(10); <br />&nbsp; &nbsp; DDRC &amp;= ~(1 &lt;&lt; SCL);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; if((PINC &gt;&gt; SDA) &amp; 1) i2c_bit=0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; delayMicroseconds(10);&nbsp; <br />&nbsp; &nbsp; DDRC |= (1 &lt;&lt; SCL);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; return i2c_bit;&nbsp; <br />}</p><p>byte i2c_write_byte(byte data){<br />&nbsp; &nbsp; for (byte i=0; i&lt;8; i++){i2c_write_bit((data&amp;0x80)==0);data&lt;&lt;=1;}&nbsp; &nbsp; <br />&nbsp; &nbsp; return i2c_read_bit(); <br />}</p><p>byte i2c_read_byte(byte a){<br />&nbsp; &nbsp; byte i, data=0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; for(i=0; i&lt;8; i++){if (!i2c_read_bit()) data++;if(i!=7) data&lt;&lt;=1;}&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; i2c_write_bit(a);return data;&nbsp; <br />}</p><p>void i2c_write_bit(byte b){<br />&nbsp; &nbsp; delayMicroseconds(5);<br />&nbsp; &nbsp; if(b){DDRC |= (1 &lt;&lt; SDA);}else{DDRC &amp;= ~(1 &lt;&lt; SDA);}<br />&nbsp; &nbsp; delayMicroseconds(5);<br />&nbsp; &nbsp; DDRC &amp;= ~(1 &lt;&lt; SCL);&nbsp; &nbsp; &nbsp; &nbsp;<br />&nbsp; &nbsp; delayMicroseconds(10);<br />&nbsp; &nbsp; DDRC |= (1 &lt;&lt; SCL);<br />}</p><p>void i2c_start(){<br />&nbsp; &nbsp; &nbsp;delayMicroseconds(10);&nbsp; <br />&nbsp; &nbsp; &nbsp;DDRC &amp;= ~(1 &lt;&lt; SDA); DDRC &amp;= ~(1 &lt;&lt; SCL); <br />&nbsp; &nbsp; &nbsp;delayMicroseconds(10); <br />&nbsp; &nbsp; &nbsp;DDRC |= (1 &lt;&lt; SDA);&nbsp; PORTC &amp;= ~(1 &lt;&lt; SDA);<br />&nbsp; &nbsp; &nbsp;delayMicroseconds(10); <br />&nbsp; &nbsp; &nbsp;DDRC |= (1 &lt;&lt; SCL);&nbsp; PORTC &amp;= ~(1 &lt;&lt; SCL);&nbsp; &nbsp;<br />&nbsp; &nbsp; &nbsp;delayMicroseconds(10);<br />}</p><p>void i2c_stop()&nbsp; {<br />&nbsp; &nbsp; &nbsp;DDRC |= (1 &lt;&lt; SDA);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp;delayMicroseconds(10);<br />&nbsp; &nbsp; &nbsp;DDRC &amp;= ~(1 &lt;&lt; SCL);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />&nbsp; &nbsp; &nbsp;delayMicroseconds(10); <br />&nbsp; &nbsp; &nbsp;DDRC &amp;= ~(1 &lt;&lt; SDA);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />}</p><p>byte ds_read(byte reg){<br />&nbsp; &nbsp; &nbsp;byte data = 0;<br />&nbsp; &nbsp; &nbsp;i2c_start();<br />&nbsp; &nbsp; &nbsp;i2c_write_byte(0b11010000);<br />&nbsp; &nbsp; &nbsp;i2c_write_byte(reg);<br />&nbsp; &nbsp; &nbsp;i2c_start(); <br />&nbsp; &nbsp; &nbsp;i2c_write_byte(0b11010001); <br />&nbsp; &nbsp; &nbsp;data = i2c_read_byte(0);<br />&nbsp; &nbsp; &nbsp;i2c_stop();<br />&nbsp; &nbsp; &nbsp;return data;<br />&nbsp; }</p><p>void ds_write(byte reg, byte data){<br />&nbsp; &nbsp; &nbsp;i2c_start();<br />&nbsp; &nbsp; &nbsp;i2c_write_byte(0b11010000);<br />&nbsp; &nbsp; &nbsp;i2c_write_byte(reg);<br />&nbsp; &nbsp; &nbsp;i2c_write_byte(data);<br />&nbsp; &nbsp; &nbsp;i2c_stop();<br />&nbsp; }&nbsp; </p><p>void set_time(byte years, byte days, byte monts, byte datas, byte hours ,byte minute, byte second){<br />&nbsp; &nbsp; if(second &lt; 255){ds_write(0x00,(second/10&lt;&lt;4)+second%10);}<br />&nbsp; &nbsp; if(minute &lt; 255){ds_write(0x01,(minute/10&lt;&lt;4)+minute%10);} <br />&nbsp; &nbsp; if(hours &lt; 255){ds_write(0x02,(hours/10&lt;&lt;4)+hours%10);}<br />&nbsp; &nbsp; if(days &lt; 255){ds_write(0x03,days);}<br />&nbsp; &nbsp; if(datas &lt; 255){ds_write(0x04,(datas/10&lt;&lt;4)+datas%10);}<br />&nbsp; &nbsp; if(monts &lt; 255){ds_write(0x05,(monts/10&lt;&lt;4)+monts%10);}<br />&nbsp; &nbsp; if(years &lt; 255){ds_write(0x06,(years/10&lt;&lt;4)+years%10);}<br />&nbsp; }</p>]]></description>
			<author><![CDATA[null@example.com (MORO-1986)]]></author>
			<pubDate>Mon, 23 Dec 2024 11:03:20 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11162#p11162</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11161#p11161</link>
			<description><![CDATA[<p>Опубликуйте скетч который Вы используете</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 23 Dec 2024 10:57:16 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11161#p11161</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11160#p11160</link>
			<description><![CDATA[<div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>В <a href="http://forum.rcl-radio.ru/viewtopic.php?pid=11100#p11100">http://forum.rcl-radio.ru/viewtopic.php … 100#p11100</a><br />речь идет об ds18b20</p></blockquote></div><p>Разве? Измерение температуры в схеме ведь идет с RTC. И корректирующий коэффициент о котором вы писали ранее на ней работает. Про ds18b20 ранее нигде не упоминалось.</p>]]></description>
			<author><![CDATA[null@example.com (MORO-1986)]]></author>
			<pubDate>Mon, 23 Dec 2024 10:24:46 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11160#p11160</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11158#p11158</link>
			<description><![CDATA[<p>В <a href="http://forum.rcl-radio.ru/viewtopic.php?pid=11100#p11100">http://forum.rcl-radio.ru/viewtopic.php … 100#p11100</a><br />речь идет об ds18b20</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sun, 22 Dec 2024 04:17:48 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11158#p11158</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11154#p11154</link>
			<description><![CDATA[<div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Вам нужно в Ваш код добавить фунцию</p><p>void cl(){<br />&nbsp; PORTD = 0B11111111;<br />&nbsp; PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |=(1 &lt;&lt; 0);<br />&nbsp; delayMicroseconds(200);<br />&nbsp; }</p><p>И немного изменить следующий код</p><p>ISR(TIMER1_COMPA_vect) {<br />&nbsp; switch (i) {<br />&nbsp; &nbsp; case 0:&nbsp; dp=0b10000000;segm = a[0]; an = 0; anod(); segment(); break;</p><p>и далее во всех строках перед anod(); segment();&nbsp; добавить cl();</p></blockquote></div><p>Уважаемый Лиман, благодарю вас за подсказки, все получилось! Подскажите, а можно скорректировать скетч на измерение температуры с ds18b20, а не RTC? Не внушает она что-то доверия для измерения температуры.</p>]]></description>
			<author><![CDATA[null@example.com (MORO-1986)]]></author>
			<pubDate>Sat, 21 Dec 2024 20:16:21 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11154#p11154</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11109#p11109</link>
			<description><![CDATA[<p>Вам нужно в Ваш код добавить фунцию</p><p>void cl(){<br />&nbsp; PORTD = 0B11111111;<br />&nbsp; PORTC |= (1 &lt;&lt; 1); PORTC |= (1 &lt;&lt; 0); PORTB |= (1 &lt;&lt; 5); PORTB |= (1 &lt;&lt; 4); PORTB |= (1 &lt;&lt; 3); PORTB |= (1 &lt;&lt; 2); PORTB |= (1 &lt;&lt; 1); PORTB |=(1 &lt;&lt; 0);<br />&nbsp; delayMicroseconds(200);<br />&nbsp; }</p><p>И немного изменить следующий код</p><p>ISR(TIMER1_COMPA_vect) {<br />&nbsp; switch (i) {<br />&nbsp; &nbsp; case 0:&nbsp; dp=0b10000000;segm = a[0]; an = 0; anod(); segment(); break;</p><p>и далее во всех строках перед anod(); segment();&nbsp; добавить cl();</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 17 Dec 2024 11:33:41 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11109#p11109</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11108#p11108</link>
			<description><![CDATA[<div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Посмотрите эту тему <a href="http://forum.rcl-radio.ru/viewtopic.php?pid=6478#p6478">http://forum.rcl-radio.ru/viewtopic.php?pid=6478#p6478</a></p><p>В коде применено программное устранение паразитной засветки</p></blockquote></div><p>А в этом коде только часы? Без температуры и даты? Только сейчас заметил что они не отображаются.</p>]]></description>
			<author><![CDATA[null@example.com (MORO-1986)]]></author>
			<pubDate>Tue, 17 Dec 2024 11:29:25 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11108#p11108</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11107#p11107</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Помогает, но сильно падает яркость.</p></blockquote></div><p>По другому ни как, при динамической индикации паразитная подсветка всегда имеет место быть.</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 17 Dec 2024 11:05:45 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11107#p11107</guid>
		</item>
		<item>
			<title><![CDATA[Re: Часы на ИВ-18 (разработка)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11106#p11106</link>
			<description><![CDATA[<div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Посмотрите эту тему <a href="http://forum.rcl-radio.ru/viewtopic.php?pid=6478#p6478">http://forum.rcl-radio.ru/viewtopic.php?pid=6478#p6478</a></p><p>В коде применено программное устранение паразитной засветки</p></blockquote></div><p>Залил скетч, поигрался с задержкой. Помогает, но сильно падает яркость. Поднял анодное напряжение до 38 вольт (до этого было 25), смотрю, засветка осталась. Не такая сильная конечно, и теперь она как бы зеркально стала. Не слева направо, а справа налево.</p>]]></description>
			<author><![CDATA[null@example.com (MORO-1986)]]></author>
			<pubDate>Tue, 17 Dec 2024 10:58:14 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11106#p11106</guid>
		</item>
	</channel>
</rss>
