Arduino 75hc595


Aprende a usar el Arduino 74HC595 para controlar 8 o más LEDs utilizando solo 3 pines. Incluye conexiones, código explicado y ejemplos prácticos

arduino 75hc595
oscar Escrito por oscar 01 July 2026 6 0

El 74HC595 es un registro de desplazamiento de 8 bits que permite ampliar la cantidad de salidas digitales de tu Arduino. Al conectar este chip a tu placa, puedes controlar 8 salidas independientes (como LEDs, relés o displays) utilizando únicamente 3 pines de tu Arduino.

Simulación del circuito

Revisa el funcionamiento con la simulacion creada en distintas platformas

Wokwi

Tinkercad

¿Qué es el 74HC595?

El 74HC595 es un registro de desplazamiento (Shift Register) con salida serie y salida paralela. https://codigoelectronica.com/blog/74hc595

Su objetivo principal es permitir controlar múltiples salidas digitales usando solamente 3 pines del Arduino.

Ejemplo:

Sin 74HC595:

Con 74HC595:

Esto es muy útil cuando trabajas con:

Conocimientos que debes tener antes de montar el circuito

Entender el registro de desplazamiento

Cada nuevo bit empuja al anterior.

Inicial:
00000000

Llega 1:
00000001

Llega 0:
00000010

Llega 1:
00000101

Función shiftOut

La función shiftOut() sirve para enviar datos bit a bit (serialmente) desde el Arduino hacia otro dispositivo usando solo dos pines de control (datos y reloj).

¿Qué hace internamente?

Supongamos que quieres enviar el número: 13

En binario: 00001101

shiftOut() envía esos bits uno por uno: 0 → 0 → 0 → 0 → 1 → 1 → 0 → 1

Mientras envía cada bit:

  1. Coloca el valor en el pin de datos.
  2. Genera un pulso en el pin reloj.
  3. El dispositivo receptor guarda ese bit.

Sintaxis

shiftOut(dataPin, clockPin, bitOrder, value);

Componentes necesarios

  1. 1 x Arduino UNO (o Nano)
  2. 1 x integrado 74HC595
  3. 8 x LEDs
  4. 8 x resistencias de 220Ω
  5. 1 x Protoboard
  6. 15 x Cables Dupont
  7. 1 x Cable USB

Entendiendo los pines del 74HC595

Pines 16 Pines 74hc595 package
Pines 16 Pines 74hc595 package

Pines importantes

DS (14)
Entrada de datos.

SH_CP (11)
Reloj del desplazamiento.

ST_CP (12)
Actualiza las salidas.

OE (13)
Debe ir a GND para habilitar salidas.

MR (10)
Debe ir a 5V para evitar reinicio.

QA–QH
Salidas hacia LEDs.

Conexión del circuito

Circuito Arduino 74hc595
Circuito Arduino 74hc595

Conecta cada salida QA–QH → Resistencia 220Ω → LED → GND.

Código explicado paso a paso

//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;

void setup() {
  //set pins to output because they are addressed in the main loop
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}

void loop() {
  //count up routine
  for (int j = 0; j < 256; j++) {
    //ground latchPin and hold low for as long as you are transmitting
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, LSBFIRST, j);
    //return the latch pin high to signal chip that it
    //no longer needs to listen for information
    digitalWrite(latchPin, HIGH);
    delay(1000);
  }
}

Explicación del código

Definimos los pines:

int dataPin = 8;

Envía los bits.

int latchPin = 12;

Actualiza las salidas.

int clockPin = 11;

Marca el ritmo de envío.

Antes de enviar:

digitalWrite(latchPin, LOW);

Se bloquean las salidas.

Enviar información:

shiftOut(
  dataPin,
  clockPin,
  MSBFIRST,
  B10101010
);

Parámetros:

Aplicar cambios:

digitalWrite(latchPin, HIGH);

Ahora los LEDs cambian al mismo tiempo.

Cómo pensar el patrón de LEDs

B11111111

Todos encendidos.

B00000000

Todos apagados.

B10000001

Solo extremos.

B01010101

Alternados.

Errores comunes


Comentario

Debe aceptar antes de enviar