<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[forum.rcl-radio.ru &mdash; Увеличиваем количество аналоговых входов на ИМС 4051]]></title>
	<link rel="self" href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=192&amp;type=atom" />
	<updated>2020-08-10T06:14:24Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=192</id>
		<entry>
			<title type="html"><![CDATA[Увеличиваем количество аналоговых входов на ИМС 4051]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=2008#p2008" />
			<content type="html"><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/08/f0155ef47ea42f7ab8ba5bc3caa32f20.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/08/f0155ef47ea42f7ab8ba5bc3caa32f20.png" /></span> </p><br /><p>скетч без библиотеки</p><div class="codebox"><pre><code>#define PIN_Y0 2
#define PIN_Y1 3
#define PIN_Y2 4
#define PIN_ANALOG A0


void setup(){
  Serial.begin(9600);
  pinMode(PIN_ANALOG,INPUT); // A0
  pinMode(PIN_Y0,OUTPUT); // Y0
  pinMode(PIN_Y1,OUTPUT); // Y1
  pinMode(PIN_Y2,OUTPUT); // Y2
  }

void loop(){
  Serial.print(&quot;ADC_0 = &quot;); Serial.println(hef4051Read(0));
  Serial.print(&quot;ADC_1 = &quot;); Serial.println(hef4051Read(1));
  Serial.print(&quot;ADC_2 = &quot;); Serial.println(hef4051Read(2));
  Serial.print(&quot;ADC_3 = &quot;); Serial.println(hef4051Read(3));
  Serial.print(&quot;ADC_4 = &quot;); Serial.println(hef4051Read(4));
  Serial.print(&quot;ADC_5 = &quot;); Serial.println(hef4051Read(5));
  Serial.print(&quot;ADC_6 = &quot;); Serial.println(hef4051Read(6));
  Serial.print(&quot;ADC_7 = &quot;); Serial.println(hef4051Read(7)); 
  Serial.println();
   delay(1000);
  
  }

int hef4051Read(byte adc){
  switch(adc){
    case 0: digitalWrite(PIN_Y2,LOW);digitalWrite(PIN_Y1,LOW);digitalWrite(PIN_Y0,LOW);break;
    case 1: digitalWrite(PIN_Y2,LOW);digitalWrite(PIN_Y1,LOW);digitalWrite(PIN_Y0,HIGH);break;
    case 2: digitalWrite(PIN_Y2,LOW);digitalWrite(PIN_Y1,HIGH);digitalWrite(PIN_Y0,LOW);break;
    case 3: digitalWrite(PIN_Y2,LOW);digitalWrite(PIN_Y1,HIGH);digitalWrite(PIN_Y0,HIGH);break;
    case 4: digitalWrite(PIN_Y2,HIGH);digitalWrite(PIN_Y1,LOW);digitalWrite(PIN_Y0,LOW);break;
    case 5: digitalWrite(PIN_Y2,HIGH);digitalWrite(PIN_Y1,LOW);digitalWrite(PIN_Y0,HIGH);break;
    case 6: digitalWrite(PIN_Y2,HIGH);digitalWrite(PIN_Y1,HIGH);digitalWrite(PIN_Y0,LOW);break;
    case 7: digitalWrite(PIN_Y2,HIGH);digitalWrite(PIN_Y1,HIGH);digitalWrite(PIN_Y0,HIGH);break;
    }
    int value = analogRead(PIN_ANALOG);
  //  delay(1);
    return value;
  }
    </code></pre></div><p>скетч с библиотекой</p><p><span class="attention-yellow"></span> </p><br /><div class="codebox"><pre><code>#include &lt;HEF4051.h&gt; 

HEF4051 hef(A0,2,3,4);// analog_input, 0,1,2

void setup() {
  Serial.begin(9600);

}

void loop() {
  for(byte i=0;i&lt;8;i++){
  Serial.println(&quot;ADC&quot; + String(i) + &quot; = &quot; + String(hef.Read(i)));
  }
  Serial.println();
   delay(1000);
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2020-08-10T06:14:24Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=2008#p2008</id>
		</entry>
</feed>
