74HC4067 16-Channel Analog Multiplexer Module

Rs 400.00

In stock

Quick Info :

  • 16 bi-directional channels
  • Can be used as multiplexer or demultiplexer
  • Channels can handle analog or digital signals
SKU: D36 Categories: ,

Introducing 16-Channel Analog/Digital Mux Module featuring the 74HC4067 IC. This versatile module handles both analog and digital signals bidirectionally. With 16 channels, it serves as a multiplexer or demultiplexer and is compatible with 3.3V and 5V logic. Ideal for various applications, from analog sensors to digital switches. Includes two male header strips.

The 16-Ch Analog/Digital 74HC4067 Mux Module offers versatile signal routing. Choose 1 of 16 input channels to 1 output or route 1 input to 1 of 16 outputs. It manages analog signals from sensors or potentiometers and digital signals from switches, sensors, or serial communications.

Operating at 2 to 6V, compatible with both 3.3V and 5V logic, the 74HC4067 ensures flexibility. Binary addressing via S0-S3 lines selects channels (0000 to 1111). Channels ON exhibit about 70-ohm resistance (measured 60 ohms with 5V). Max current is 25mA per channel.

Utilize the active LOW enable pin (EN) to enable the selected channel. Pulling EN HIGH disables all channels, providing adaptable control for various applications.

Features:

  • 16 bi-directional channels
  • Can be used as multiplexer or demultiplexer
  • Channels can handle analog or digital signals
  • 3.3 and 5V logic compatible

Pinout :

1×8 Header :
  • SIG = Signal Input / Output. This will usually connect to an analog input or digital I/O on the microcontroller
  • S3 = Binary Address Bit 3. The address bits (3…0) connect to 4 digital output pins on the microcontroller to select channel.
  • S2 = Binary Address Bit 2
  • S1 = Binary Address Bit 1
  • S0 = Binary Address Bit 0
  • EN = Enable. Internally pulled LOW to enable by default. Can be pulled HIGH to disable all channels.
  • VCC = 2 to 6V. Usually connected to 5V or 3.3V to match the microcontroller power.
  • GND = Ground, must be common with the microcontroller.
1×16 Header :
  • C15 = Channel 15
  • C14 = Channel 14
  • ….
  • C1 = Channel 1
  • C0 = Channel 0

Specifications :

  • Voltage : 2 to 6V (3.3V or 5V typical)
  • I(max) Source or Sink active channel : 25mA
  • I(max) Device quiescent current : < 8mA

 

Sample Code :


// Define pins used below
#define S0_PIN 4  // Use any 4 available digital pins for addressing the 74HC4067
#define S1_PIN 5
#define S2_PIN 6
#define S3_PIN 7
#define SIG_PIN A0  // Use any available analog pin.

// Table below is used to translate from 0-15 to binary address of device.
int channel_address_table[16][4] = {
  // s0, s1, s2, s3     channel
    {0,  0,  0,  0},    // 0
    {1,  0,  0,  0},    // 1
    {0,  1,  0,  0},    // 2
    {1,  1,  0,  0},    // 3
    {0,  0,  1,  0},    // 4
    {1,  0,  1,  0},    // 5
    {0,  1,  1,  0},    // 6
    {1,  1,  1,  0},    // 7
    {0,  0,  0,  1},    // 8
    {1,  0,  0,  1},    // 9
    {0,  1,  0,  1},    // 10
    {1,  1,  0,  1},    // 11
    {0,  0,  1,  1},    // 12
    {1,  0,  1,  1},    // 13
    {0,  1,  1,  1},    // 14
    {1,  1,  1,  1}     // 15
};

void setup() {
  pinMode(S0_PIN, OUTPUT);  // Set addressing pins as outputs
  pinMode(S1_PIN, OUTPUT);
  pinMode(S2_PIN, OUTPUT);
  pinMode(S3_PIN, OUTPUT);

  Serial.begin(9600);          // Set Serial Monitor window comm speed
}

void loop() {
  int mux_Value;
  // Step through each much channel and report what we are seeing
  for (int i=0; i<16; i++){
    Mux_Addr (i);
    delay(1000);  // Slow things down for readability and allow address to settle
    mux_Value = analogRead(SIG_PIN); // Read analog value from mux
    Serial.print("Ch");
    Serial.print(i);
    Serial.print(": ");
    Serial.println(mux_Value);
    //delay(1000);  // Delay 1 second to slow everything down for readability
  }
  Serial.println();
  delay(3000);  // Read the mux channels every 3 seconds
}

// Function to update the mux binary address bits given the channel number 0-15
void Mux_Addr (int ch_Addr)
{
    digitalWrite(S0_PIN, channel_address_table[ch_Addr][0]);
    digitalWrite(S1_PIN, channel_address_table[ch_Addr][1]);
    digitalWrite(S2_PIN, channel_address_table[ch_Addr][2]);
    digitalWrite(S3_PIN, channel_address_table[ch_Addr][3]);
}

Only logged in customers who have purchased this product may leave a review.

Reviews

There are no reviews yet.

Main Menu

74HC4067 16-Channel Analog Multiplexer Module in Sri Lanka

74HC4067 16-Channel Analog Multiplexer Module

Rs 400.00

Add to Cart