<?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; x9c103s]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=595</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=595&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «x9c103s».]]></description>
		<lastBuildDate>Wed, 29 Nov 2023 08:08:31 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[x9c103s]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=8943#p8943</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2023/11/8226fb219d5824d1761ca0da2ef55152.png" alt="http://forum.rcl-radio.ru/uploads/images/2023/11/8226fb219d5824d1761ca0da2ef55152.png" /></span> </p><br /><div class="codebox"><pre><code>#define CS   2
#define INC  4
#define UD   3

#define STEP 5

int pop,dat=0,dat_old;
bool w=1;


void setup() {
  analogReadResolution(12);
  analogReference(INTERNAL4V096);
  Serial.begin(9600);
  pinMode(CS,OUTPUT);
  pinMode(INC,OUTPUT);
  pinMode(UD,OUTPUT);
  pinMode(A0,INPUT);
  pinMode(11,INPUT_PULLUP);
  pinMode(12,INPUT_PULLUP);
  digitalWrite(CS,LOW);
  cl();
}

void loop() {
   if(digitalRead(11)==LOW){dat+=STEP;w=1;if(dat&gt;100){dat=100;}delay(200);digitalWrite(CS,LOW);}
   if(digitalRead(12)==LOW){dat-=STEP;w=1;if(dat&lt;0){dat=0;}delay(200);digitalWrite(CS,LOW);}
   
   if(dat_old!=dat){pop = dat-pop;
   if(pop&gt;0){up(abs(pop));}
   if(pop&lt;0){dw(abs(pop));}
   pop=dat;
   digitalWrite(CS,HIGH); 
   }
   dat_old=dat;
  if(w==1){w=0;
   delay(50);
   Serial.print(analogRead(A0)/1000.0,3);Serial.println(&quot; V&quot;); 
   Serial.print(pop);Serial.println(&quot; %&quot;);
 }
}

void cl(){digitalWrite(UD,LOW);for(int i=0;i&lt;100;i++){digitalWrite(INC,LOW);digitalWrite(INC,HIGH);}}
void up(byte data){digitalWrite(UD,HIGH);for(int i=0;i&lt;data;i++){digitalWrite(INC,LOW);digitalWrite(INC,HIGH);}} 
void dw(byte data){digitalWrite(UD,LOW);for(int i=0;i&lt;data;i++){digitalWrite(INC,LOW);digitalWrite(INC,HIGH);}}    </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Wed, 29 Nov 2023 08:08:31 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=8943#p8943</guid>
		</item>
	</channel>
</rss>
