CD4051 Multiplexor

CD4051 Multiplexor

  • $1.500

¡Solo 4 restantes!

El CD4051 es un multiplexor/demultiplexor analógico de 8 canales que se usa para ampliar la cantidad de entradas o salidas en microcontroladores como Arduino. Puede manejar señales analógicas y digitales, permitiendo seleccionar uno de los ocho canales mediante tres pines de selección.

Características principales:

  • Alimentación: 3V a 15V (funciona bien con 5V en Arduino).
  • 8 canales (S0, S1, S2): Permite seleccionar cuál de las 8 señales se conecta a la salida común.
  • Baja resistencia de encendido (~125Ω a 5V).
  • Capacidad bidireccional: Puede actuar como multiplexor (1 entrada → varias salidas) o demultiplexor (varias entradas → 1 salida).
  • Baja corriente de consumo.
  • Compatible con señales analógicas y digitales.

Pines del CD4051

Pin Nombre Función
1 Y4 Canal 4
2 Y6 Canal 6
3 Y7 Canal 7
4 Y5 Canal 5
5 Y3 Canal 3
6 Y0 Canal 0
7 Y1 Canal 1
8 GND Tierra
9 Y2 Canal 2
10 Z (COM) Entrada/Salida común
11 INH Inhibición (desactiva el chip si está en HIGH)
12 S1 Selección de canal (bit 2)
13 S0 Selección de canal (bit 1).
14 S2 Selección de canal (bit 3)
15 VCC Voltaje de alimentación (5V en Arduino)

Ejemplo de conexión con Arduino

Si usas el CD4051 como multiplexor para leer 8 sensores con una sola entrada analógica:

  1. Conecta los pines de selección:

    • S0 → Pin 8 Arduino
    • S1 → Pin 9 Arduino
    • S2 → Pin 10 Arduino
  2. Entrada común (Z) → A0 de Arduino.

  3. Habilitar el chip: Conecta INH a GND.

  4. Conectar sensores a los pines Y0-Y7.

Código de ejemplo en Arduino


const int S0 = 8;
const int S1 = 9;
const int S2 = 10;
const int Z = A0;

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

void loop() {
  for (int i = 0; i < 8; i++) {
    digitalWrite(S0, bitRead(i, 0));
    digitalWrite(S1, bitRead(i, 1));
    digitalWrite(S2, bitRead(i, 2));

    int lectura = analogRead(Z);
    Serial.print("Canal ");
    Serial.print(i);
    Serial.print(": ");
    Serial.println(lectura);
    delay(500);
  }
}

 

Con este código, Arduino lee los 8 canales secuencialmente usando el multiplexor.


También recomendamos