HEF4051B — увеличение количества аналоговых входов Arduino

ИМС HEF4051B (4051) представляет собой 8 канальный аналоговый CMOS мультиплексор/демультиплексор. HEF4051B можно применить для увеличения числа аналоговых входов Arduino, для этого будет задействован одни аналоговый вход и три цифровых входа Arduino.

#include <HEF4051.h>  // http://forum.rcl-radio.ru/misc.php?action=pan_download&item=748&download=1
HEF4051 hef(A0,2,3,4);// analog_input A0, D2,D3,D4 

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

}

void loop() {
  for(byte i=0;i<8;i++){
  Serial.println("ADC" + String(i) + " = " + String(hef.Read(i)));
  }
  Serial.println();
   delay(1000);
}

Для вывода значения аналогового выхода служит функция hef.Read(i), где i от 0 до 7 — номер аналогового входа мультиплексора.

Аналогично можно использовать мультиплексор для увеличения числа цифровых входов, например для увеличения числа подключаемых кнопок.

#include <HEF4051.h> 

HEF4051 hef(7,2,3,4);// input - D7 ,D2,D3,D4

void setup() {
  Serial.begin(9600);
  pinMode(13,OUTPUT);
}

void loop() {
  if(hef.d_Read(0)==HIGH){digitalWrite(13,HIGH);}else{digitalWrite(13,LOW);}
}

Для увеличения числа цифровых входов используется функция hef.d_Read(x), где х номер входа от 0 до 7.

В показанном выше скетче при нажатии кнопки 0 (13 ножка мультиплексора), загорается светодиод расположенный на плате Arduino.

Добавить комментарий

Войти с помощью: