<?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; Двухканальный диммер Attiny13]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=664</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=664&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Двухканальный диммер Attiny13».]]></description>
		<lastBuildDate>Mon, 09 Sep 2024 12:28:22 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10741#p10741</link>
			<description><![CDATA[<p>Спасибо Александр! <br />Всё как надо у Вас получилось <img src="http://forum.rcl-radio.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (Karl2233)]]></author>
			<pubDate>Mon, 09 Sep 2024 12:28:22 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10741#p10741</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10740#p10740</link>
			<description><![CDATA[<div class="codebox"><pre><code>// PB3 PB4 === +-
// PB2 === led

#include &lt;avr/io.h&gt;
#include &lt;util/delay.h&gt;

int a=0,set=0;
unsigned long milliss,times;
bool w;

int main(void) {
  cli();
  DDRB |= (1&lt;&lt;PB0)|(1&lt;&lt;PB1)|(1&lt;&lt;PB2);
  PORTB |= (1&lt;&lt;PB3)|(1&lt;&lt;PB4);
   
  TCCR0A = 0;
  TCCR0B = 0;
  TCNT0 = 0;
  TCCR0A |= (1&lt;&lt;COM0B1)|(1&lt;&lt;COM0A1);
  TCCR0A |= (1&lt;&lt;WGM01) | (1&lt;&lt;WGM00);
  TCCR0B |= (1 &lt;&lt; CS01) | (1 &lt;&lt; CS00); 
  a=EEPROM_read(0);
  set=EEPROM_read(1);
  OCR0B = a; 
  OCR0A = a;
  sei();  
  
while(1) { 
  if(((PINB &gt;&gt; PB3) &amp; 1)==LOW &amp;&amp; ((PINB &gt;&gt; PB4) &amp; 1)==HIGH){a++;if(a&gt;255){a=255;}OCR0A=a;OCR0B=a;times=milliss;w=1;PORTB &amp;=~ (1&lt;&lt;PB2);}
  if(((PINB &gt;&gt; PB4) &amp; 1)==LOW &amp;&amp; ((PINB &gt;&gt; PB3) &amp; 1)==HIGH){a--;if(a&lt;0){a=0;}OCR0A=a;OCR0B=a;times=milliss;w=1;PORTB &amp;=~ (1&lt;&lt;PB2);}
  
  if(((PINB &gt;&gt; PB4) &amp; 1)==LOW &amp;&amp; ((PINB &gt;&gt; PB3) &amp; 1)==LOW){set++;if(set&gt;3){set=0;}PORTB &amp;=~ (1&lt;&lt;PB2);_delay_ms(300);EEPROM_write(1,set);
  }
  switch(set){
    case 0: TCCR0A &amp;=~ (1&lt;&lt;COM0B1);TCCR0A |=(1&lt;&lt;COM0A1);break;
    case 1: TCCR0A &amp;=~ (1&lt;&lt;COM0A1);TCCR0A |=(1&lt;&lt;COM0B1);break;
    case 2: TCCR0A |= (1&lt;&lt;COM0B1);TCCR0A |=(1&lt;&lt;COM0A1);break;
    case 3: TCCR0A &amp;=~ (1&lt;&lt;COM0B1);TCCR0A &amp;=~(1&lt;&lt;COM0A1);break;
    }
  milliss++;
  _delay_ms(20);
 if(set&lt;3){PORTB |= (1&lt;&lt;PB2);} else{PORTB &amp;=~ (1&lt;&lt;PB2);}
  if(milliss-times&gt;20&amp;&amp;w==1){w=0;EEPROM_write(0,a);}
}}

unsigned char EEPROM_read(unsigned int uiAddress){
  while(EECR &amp; (1&lt;&lt;EEPE));  // проверка готовности EEPROM 
    EEAR = uiAddress; // регистр адреса
    EECR |= (1&lt;&lt;EERE);// чтение EEPROM
    return EEDR; // вывод значения
}
 
void EEPROM_write(unsigned int uiAddress, unsigned char ucData){
  while(EECR &amp; (1&lt;&lt;EEPE)); // проверка готовности EEPROM 
      EEAR = uiAddress; // регистр адреса
      EEDR = ucData; // регистр данных 
      EECR |= (1&lt;&lt;EEMPE);// Разрешение записи в EEPROM
      EECR |= (1&lt;&lt;EEPE); // Запись в EEPROM
} 
 </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Mon, 09 Sep 2024 03:08:52 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10740#p10740</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10738#p10738</link>
			<description><![CDATA[<p>Да, всё верно.<br />Режим 0,1,2 - светодиод светит, при нажатии(во время нажатия) гаснет.<br />Режим 3 - не светит.</p>]]></description>
			<author><![CDATA[null@example.com (Karl2233)]]></author>
			<pubDate>Sun, 08 Sep 2024 12:47:10 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10738#p10738</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10737#p10737</link>
			<description><![CDATA[<p>Вам нужно инвертировать работу светодиода, что бы он всегда горел, а при нажатии кнопок происходило гашение. Но при переходе в режим OFF светодиод гас? <br />Я верно все понял?</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sun, 08 Sep 2024 04:15:57 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10737#p10737</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10736#p10736</link>
			<description><![CDATA[<p>Подключил chat GPT&nbsp; для комментариев к коду.<br />Пока нифига не понятно: как сделать работу светодиода индикации <img src="http://forum.rcl-radio.ru/img/smilies/hmm.png" width="15" height="15" alt="hmm" /></p>]]></description>
			<author><![CDATA[null@example.com (Karl2233)]]></author>
			<pubDate>Sun, 08 Sep 2024 01:19:14 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10736#p10736</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10727#p10727</link>
			<description><![CDATA[<p>Вау!<br />Класс!<br />Всё работает как надо!<br />Данке, Александр!<br />А можно, что б светодиод в режиме &quot;выкл&quot; не светился, а во всех остальных - светился и при нажатии кнопок не загорался как сейчас, а наоборот происходило б гашение(нажал=погас) ?</p>]]></description>
			<author><![CDATA[null@example.com (Karl2233)]]></author>
			<pubDate>Wed, 04 Sep 2024 11:47:16 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10727#p10727</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10726#p10726</link>
			<description><![CDATA[<p>10 - нажата первая +++<br />01 - нажата вторая ---<br />11 - нажаты обе === как нажатие кнопки SET</p><p>индикатор на pb2</p><div class="codebox"><pre><code>// PB3 PB4 === +-|set
// PB2 === led

#include &lt;avr/io.h&gt;
#include &lt;util/delay.h&gt;

int a=0,set=0;
unsigned long milliss,times;
bool w;

int main(void) {
  cli();
  DDRB |= (1&lt;&lt;PB0)|(1&lt;&lt;PB1)|(1&lt;&lt;PB2);
  PORTB |= (1&lt;&lt;PB3)|(1&lt;&lt;PB4);
  TCCR0A = 0;
  TCCR0B = 0;
  TCNT0 = 0;
  TCCR0A |= (1&lt;&lt;COM0B1)|(1&lt;&lt;COM0A1);
  TCCR0A |= (1&lt;&lt;WGM01) | (1&lt;&lt;WGM00);
  TCCR0B |= (1 &lt;&lt; CS01) | (1 &lt;&lt; CS00); 
  a=EEPROM_read(0);
  set=EEPROM_read(1);
  OCR0B = a; 
  OCR0A = a;
  sei();  
  
while(1) { 
  if(((PINB &gt;&gt; PB3) &amp; 1)==LOW &amp;&amp; ((PINB &gt;&gt; PB4) &amp; 1)==HIGH){a++;if(a&gt;255){a=255;}OCR0A=a;OCR0B=a;times=milliss;w=1;PORTB |= (1&lt;&lt;PB2);}
  if(((PINB &gt;&gt; PB4) &amp; 1)==LOW &amp;&amp; ((PINB &gt;&gt; PB3) &amp; 1)==HIGH){a--;if(a&lt;0){a=0;}OCR0A=a;OCR0B=a;times=milliss;w=1;PORTB |= (1&lt;&lt;PB2);}
  
  if(((PINB &gt;&gt; PB4) &amp; 1)==LOW &amp;&amp; ((PINB &gt;&gt; PB3) &amp; 1)==LOW){set++;if(set&gt;3){set=0;}PORTB |= (1&lt;&lt;PB2);_delay_ms(300);EEPROM_write(1,set);
  }
  switch(set){
    case 0: TCCR0A &amp;=~ (1&lt;&lt;COM0B1);TCCR0A |=(1&lt;&lt;COM0A1);break;
    case 1: TCCR0A &amp;=~ (1&lt;&lt;COM0A1);TCCR0A |=(1&lt;&lt;COM0B1);break;
    case 2: TCCR0A |= (1&lt;&lt;COM0B1);TCCR0A |=(1&lt;&lt;COM0A1);break;
    case 3: TCCR0A &amp;=~ (1&lt;&lt;COM0B1);TCCR0A &amp;=~(1&lt;&lt;COM0A1);break;
    }
  milliss++;
  _delay_ms(20);
  PORTB &amp;=~ (1&lt;&lt;PB2);
  if(milliss-times&gt;20&amp;&amp;w==1){w=0;EEPROM_write(0,a);}
}}

unsigned char EEPROM_read(unsigned int uiAddress){
  while(EECR &amp; (1&lt;&lt;EEPE));  // проверка готовности EEPROM 
    EEAR = uiAddress; // регистр адреса
    EECR |= (1&lt;&lt;EERE);// чтение EEPROM
    return EEDR; // вывод значения
}
 
void EEPROM_write(unsigned int uiAddress, unsigned char ucData){
  while(EECR &amp; (1&lt;&lt;EEPE)); // проверка готовности EEPROM 
      EEAR = uiAddress; // регистр адреса
      EEDR = ucData; // регистр данных 
      EECR |= (1&lt;&lt;EEMPE);// Разрешение записи в EEPROM
      EECR |= (1&lt;&lt;EEPE); // Запись в EEPROM
} 
 </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Wed, 04 Sep 2024 03:40:09 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10726#p10726</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10725#p10725</link>
			<description><![CDATA[<div class="quotebox"><cite>liman324 пишет:</cite><blockquote><p>Есть вариант использовать только 2 кнопки</p><p>10 - нажата первая +++<br />01 - нажата вторая ---<br />11 - нажаты обе === как нажатие кнопки SET</p></blockquote></div><p>Вполне себе годный вариант.<br />Про reset&nbsp; знаю, собрал себе доктора на такой случай.</p>]]></description>
			<author><![CDATA[null@example.com (Karl2233)]]></author>
			<pubDate>Tue, 03 Sep 2024 23:01:50 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10725#p10725</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10724#p10724</link>
			<description><![CDATA[<p>Есть вариант использовать только 2 кнопки</p><p>10 - нажата первая +++<br />01 - нажата вторая ---<br />11 - нажаты обе === как нажатие кнопки SET</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 03 Sep 2024 15:36:50 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10724#p10724</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10723#p10723</link>
			<description><![CDATA[<p>Нашел информацию:</p><div class="quotebox"><blockquote><p>Первый состоит в том, что у МК есть специальный флаг (fuse) RSTDISBL, который, будучи запрограммированным (установленным в «0») превращает вывод RESET в обычный порт ввода-вывода, который можно использовать наряду с другими. Этот способ прост, но имеет один существенный недостаток: после такого переключения МК невозможно будет запрограммировать с помощью низковольтного программатора, обычно самого распространенного типа устройств. Если вы вдруг захотите зашить в МК новую программу, потребуется программатор, использующий напряжение 12Вольт на выводе RESET.</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 03 Sep 2024 15:30:28 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10723#p10723</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10722#p10722</link>
			<description><![CDATA[<p>Завтра попробую поработать с пином reset, пока не знаю как его переназначить, при подачи на него GND всегда происходит перезагрузка контроллера. Буду думать.</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 03 Sep 2024 15:23:59 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10722#p10722</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10721#p10721</link>
			<description><![CDATA[<p>Всё работает как надо, спасибо Александр!<br />Проблема была в светодиодах - зеленый и красный.<br />Зеленый отказывался работать без красного, хотя вместе зажигались. <br />Когда поставил оба красных, всё заработало!<br />Ещё раз - спасибо!<br />Бутылка рома с меня. </p><p>P. S. Про индикацию режима вкл и мигание светодиодом при нажатии кнопок - есть же вывод reset&nbsp; или можно было б на аналоговый вывод кнопки &quot;+/-&quot; подцепить? <br />Но то такое, и так всё отлично работает.</p>]]></description>
			<author><![CDATA[null@example.com (Karl2233)]]></author>
			<pubDate>Tue, 03 Sep 2024 14:13:17 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10721#p10721</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10720#p10720</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/09/e11fd2dd42c125a97d78c3727ba505ac.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2024/09/e11fd2dd42c125a97d78c3727ba505ac.jpg" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/09/da5b918c46bf9b9504c818189940741b.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2024/09/da5b918c46bf9b9504c818189940741b.jpg" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/09/934e31c9db74188c1920c354beb09b3e.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2024/09/934e31c9db74188c1920c354beb09b3e.jpg" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/09/c0bd47d113d52324f13b5e4fd7c8ecf5.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2024/09/c0bd47d113d52324f13b5e4fd7c8ecf5.jpg" /></span></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 03 Sep 2024 01:42:44 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10720#p10720</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10719#p10719</link>
			<description><![CDATA[<p>Все еще раз проверил, все работает как надо, шим регуируется, каналы переключаются. К выходам шим подключал светодиоды.</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 03 Sep 2024 01:38:24 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10719#p10719</guid>
		</item>
		<item>
			<title><![CDATA[Re: Двухканальный диммер Attiny13]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10718#p10718</link>
			<description><![CDATA[<p>Спасибо! <br />Ага, про назначение этого куска кода я догадался, даже попробовал менять... Но бестолку.</p><p>Правда Ваши комментарии к коду немного запутали - после загрузки, как я понимаю, case 0, но включены оба канала.</p>]]></description>
			<author><![CDATA[null@example.com (Karl2233)]]></author>
			<pubDate>Mon, 02 Sep 2024 23:15:07 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10718#p10718</guid>
		</item>
	</channel>
</rss>
