The CD74HC4067 is a versatile 16-channel analog multiplexer/demultiplexer. It features a digital control interface that allows one of 16 inputs to be connected to a single output. This component is widely used in applications requiring multiple analog or digital signals to be routed to a single point, such as in data acquisition systems, signal routing, and sensor multiplexing.
Parameter | Value |
---|---|
Supply Voltage | 2V to 6V |
Input Voltage | 0V to Vcc |
On-State Resistance | 70Ω (typical) at Vcc = 4.5V |
Propagation Delay | 6ns (typical) at Vcc = 5V |
Control Inputs | 4-bit binary (S0, S1, S2, S3) |
Enable Input | Active Low (EN) |
Operating Temperature | -55°C to 125°C |
Pin No. | Name | Description |
---|---|---|
1 | S1 | Control Input 1 |
2 | S2 | Control Input 2 |
3 | S3 | Control Input 3 |
4 | S4 | Control Input 4 |
5 | Z | Common Output/Input |
6 | Y15 | Channel 15 Input/Output |
7 | Y14 | Channel 14 Input/Output |
8 | Y13 | Channel 13 Input/Output |
9 | Y12 | Channel 12 Input/Output |
10 | Y11 | Channel 11 Input/Output |
11 | Y10 | Channel 10 Input/Output |
12 | Y9 | Channel 9 Input/Output |
13 | Y8 | Channel 8 Input/Output |
14 | Y7 | Channel 7 Input/Output |
15 | Y6 | Channel 6 Input/Output |
16 | Y5 | Channel 5 Input/Output |
17 | Y4 | Channel 4 Input/Output |
18 | Y3 | Channel 3 Input/Output |
19 | Y2 | Channel 2 Input/Output |
20 | Y1 | Channel 1 Input/Output |
21 | Y0 | Channel 0 Input/Output |
22 | EN | Enable Input (Active Low) |
23 | Vcc | Supply Voltage |
24 | GND | Ground |
// Example code to use CD74HC4067 with Arduino UNO
const int S0 = 2; // Control pin S0 connected to Arduino pin 2
const int S1 = 3; // Control pin S1 connected to Arduino pin 3
const int S2 = 4; // Control pin S2 connected to Arduino pin 4
const int S3 = 5; // Control pin S3 connected to Arduino pin 5
const int EN = 6; // Enable pin connected to Arduino pin 6
const int Z = A0; // Common output connected to Arduino analog pin A0
void setup() {
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(EN, OUTPUT);
digitalWrite(EN, LOW); // Enable the multiplexer
Serial.begin(9600);
}
void loop() {
for (int channel = 0; channel < 16; channel++) {
selectChannel(channel);
int value = analogRead(Z); // Read the value from the selected channel
Serial.print("Channel ");
Serial.print(channel);
Serial.print(": ");
Serial.println(value);
delay(500); // Wait for 500ms before reading the next channel
}
}
void selectChannel(int channel) {
digitalWrite(S0, channel & 0x01);
digitalWrite(S1, (channel >> 1) & 0x01);
digitalWrite(S2, (channel >> 2) & 0x01);
digitalWrite(S3, (channel >> 3) & 0x01);
}
No Signal Output:
Incorrect Channel Selection:
Signal Distortion or Noise:
By following these guidelines and best practices, you can effectively use the CD74HC4067 in your projects and applications.