Модуль Аналоговый 16-канальный мультиплексор CD74HC4067

150.00

11 в наличии

Артикул: 2706181#A26-1 Категория: Метка:

Описание

Модуль Аналоговый 16-канальный мультиплексор CD74HC4067

Модуль аналогового мультиплексора на 16 каналов на микросхеме CD74HC4067. Позволяет значительно увеличить количество входов/выходов контроллера. Наличие контакта выбора чипа EN позволяет каскадировать модули для увеличения вводов/выводов.

Характеристики

  • Напряжение питания: 2-6 В
  • Внутреннее сопротивление ключей: 70 Ом при напряжении питания 4.5 В.
  • Скорость срабатывания: 6 нс при напряжении питания 4.5 В;
  • Диапазон рабочих температур: -55..125 °C

Назначение выводов

Контакт Описание
GND Земля
VCC Питание
EN Выбор кристалла
S0..S3 Выбор канала
SIG Выход выбранного канала
C0..C15 Входы

Мультиплексор это что-то вроде галетного переключателя, он имеет один сигнальный вход или выход, который подключается к одному из 16 входов или выходов в зависимости от состояния управляющих входов.

Модуль Аналоговый 16-канальный мультиплексор CD74HC4067вот табличка из даташита.

Из нее видно, если на управляющих входах Sx логический 0, то сигнальный вход подключен 0 входу мультиплексора, а если 8, то соответственно на 8 вход.

вход Е, это включение микросхемы, если на нем логическая единица, то нечего не к чему не подключено.

#define EN 3
#define S0 4
#define S1 5
#define S2 6
#define S3 7 
#define SIG A0


void setup(){
  Serial.begin(9600);
  
  pinMode(S0, OUTPUT); 
  pinMode(S1, OUTPUT); 
  pinMode(S2, OUTPUT); 
  pinMode(S3, OUTPUT);   

  digitalWrite(S0, LOW);
  digitalWrite(S1, LOW);
  digitalWrite(S2, LOW);
  digitalWrite(S3, LOW);

  pinMode(EN, OUTPUT); 
  digitalWrite(EN, LOW);

  
}


void loop(){

  //Loop through and read all 16 values
  //Reports back Value at channel 6 is: 346
  for(int i = 0; i < 16; i ++){
//    Serial.print("Value at channel ");
//    Serial.print(i);
//    Serial.print(": ");
    Serial.print(readMux(i));
    Serial.print(". ");
    
  }
  Serial.println();
  delay(100);
}


int readMux(int channel){
  int controlPin[] = {S0, S1, S2, S3};

  int muxChannel[16][4]={
    {0,0,0,0}, //channel 0
    {1,0,0,0}, //channel 1
    {0,1,0,0}, //channel 2
    {1,1,0,0}, //channel 3
    {0,0,1,0}, //channel 4
    {1,0,1,0}, //channel 5
    {0,1,1,0}, //channel 6
    {1,1,1,0}, //channel 7
    {0,0,0,1}, //channel 8
    {1,0,0,1}, //channel 9
    {0,1,0,1}, //channel 10
    {1,1,0,1}, //channel 11
    {0,0,1,1}, //channel 12
    {1,0,1,1}, //channel 13
    {0,1,1,1}, //channel 14
    {1,1,1,1}  //channel 15
  };

  //loop through the 4 sig
  for(int i = 0; i < 4; i ++){
    digitalWrite(controlPin[i], muxChannel[channel][i]);
  }

  //read the value at the SIG pin
  int val = analogRead(SIG);

  //return the value
  return val;
}

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “Модуль Аналоговый 16-канальный мультиплексор CD74HC4067”