Cómo funciona el 74HC595 Shift Register y su interfaz con Arduino Deja un comentario

74HC595, Shift Register de 8 bits

74HC595 IC es un IC de registro de turnos de 16 pines que consiste en un pestillo de tipo D junto con un registro de turnos dentro del chip. Recibe datos de entrada en serie y, a continuación, envía estos datos a través de pines paralelos. Además de las salidas paralelas, también proporciona una salida serie. Tiene entradas de reloj independientes para el registro de turnos y el pestillo D. Este IC pertenece a la familia HC de dispositivos lógicos que está diseñado para su uso en aplicaciones CMOS.

74hc595 pinout - Cómo funciona el 74HC595 Shift Register y su interfaz con Arduino

Configuración de pines

Número pin Nombre del pin descripción
1,2,3,4,5,6,7 Pines de salida (de Q1 a Q7) El 74hc595 tiene 8 pines de salida de los cuales 7 son estos pines. Se pueden controlar en serie
8 tierra Conectado al suelo del circuito
9 (P7) Salida en serie Este pin se utiliza para conectar más de un 74hc595 como cascada
10 (MR) Restablecimiento maestro Restablece todas las salidas como bajas. Debe mantenerse alto para el funcionamiento normal
11 (SH_CP) Reloj Éste es el pin del reloj al cual la señal del reloj tiene que ser proporcionada del MCU/MPU
12 (ST_CP) Pestillo El pasador de pestillo se utiliza para actualizar los datos a los pinesde salida. Es activo alto
13 (OE) Activación de salida El permiso de salida se utiliza para desactivar las salidas. Debe mantenerse bajo para el funcionamiento normal
14 (DS) Datos en serie Este es el pin al que se envíanlos datos, basado en el cual se controlan las 8 salidas
15 (P0) salida El primer pasador de salida.
16 Vcc Este pin alimenta el IC, normalmente se utiliza +5V.

Funciones

  • Registro de desplazamiento de 8 bits, entrada en serie y salida en paralelo
  • Tensión de funcionamiento: 2V a 6V
  • Consumo de energía: 80uA
  • Corriente de salida: 35mA
  • La tensión de salida es igual a la tensión de funcionamiento
  • Tensión de entrada mínima de alto nivel: 3,15V @(Vcc=4,5V)
  • Tensión de entrada máxima de bajo nivel: 1,35V @(Vcc=4,5V)
  • Puede ser fácilmente conectado en cascada con más IC para obtener más salidas
  • Máxima frecuencia de reloj: 25Mhz @4.5V
  • Disponible en paquetes PDIP, GDIP y PDSO de 16 pines

Nota: Los detalles técnicos completos se pueden encontrar en la hoja de datos de 74hc595 en este enlace.

Alternativas al 74HC595

S.No: nombre tipo
1 4035 Paralelo de 4 bits en el registro de turnos de salida paralela
2 74LS379 Registro de turnos paralelos cuádruples
3 4014 Registro de turno estático de 4 bits
4 74LS166 Registro de turnos de 8 bits
5 74LS323 Registro de almacenamiento/cambio de 8 bits
6 74LS164 Registro de turnos S/P
7 4015 Registro estático dual de 4 bits
8 74LS299 Registro de almacenamiento/cambio de 8 bits

¿Qué es un registro de turnos?

Un registro de turnos es básicamente un IC convertidor en seriea-paralelo. Básicamente toma una entrada en serie a través de un solo pin(bueno, técnicamente necesita al menos 3 pines, que voy a hablar más adelante)y lo convierte en salida paralela de 8 bits reduciendo así eficazmente el número de pines de interfaz entre un Microcontrolador y sus dispositivosde salida.

Hay otros sabores de registros de turnos como Serial IN Parallel OUT (el que nos interesa), Serial IN Serial OUT, Parallel IN Serial OUT y Parallel IN Parallel OUT.

Los registros de turnos se utilizan a menudo con el propósito de guardar pines en el microcontrolador, ya que cada microcontrolador tiene un número limitado de pines de E/S (GPIO).

Si su proyecto necesita controlar 16 LED individuales, normalmente requeriría 16 pines de un Arduino. En el caso de que no tenga 16 pines de E/S disponibles, aquí es donde el registro de turnos es útil. Con dos registros de turnos conectados en serie, podemos realizar la tarea de controlar los 16 LED con el uso de sólo 3 pines de E/S. Y no sólo esto; puede guardar aún más pines cuantos más registros de turnos haya encadenado.

Un ejemplo del mundo real que utiliza el registro de turnos es el ‘Controlador original de Nintendo’. El controlador principal del Nintendo Entertainment System necesitaba obtener todas las pulsaciones de botón en serie, y utilizó un registro de turnos para realizar esa tarea.

nintendo entertainment system nes controller fl - Cómo funciona el 74HC595 Shift Register y su interfaz con Arduino Dónde se utiliza el 74HC595 IC

El 74HC595 es un registro de desplazamiento de salida paralela de 8bits, es decir, puede recibir (entrada) datos en serie y controlar 8 pines de salida en paralelo. Esto es muy útil cuando no tienen suficientes pines GPIO en nuestro MCU/MPU para controlar el número requerido de salidas. A menudo se utiliza en proyectos donde relativamente un gran número de LED tiene que ser controlado a través del Microcontrolador. También se puede utilizar para interconectar la pantalla LCD, ya que pueden actuar como el bit de datos para las pantallas LCD. También se puede utilizar para controlar cargas de 5V como relés a través de un microcontrolador de 3.3V ya que el voltaje de alto nivel es sólo 3.15. Así que si usted está buscando un IC para ahorrar en sus pines GPIO en el Microcontrolador entonces este IC podría ser la elección correcta para usted.

Cómo usar un IC de 74HC595

El registro de turnos 74HC595 se utiliza comúnmente con microcontroladores o microprocesadores para ampliar las funcionalidadesde GIPO. Requiere solamente 3 pines conectados con el MCU, que son reloj,datos y pestillo. Tiene una amplia tensión de funcionamiento de 2V a 6V. A continuación se muestra un circuito de aplicación del IC:

circuito de ejemplo 74hc595 - Cómo funciona el 74HC595 Shift Register y su interfaz con Arduino

Los pines 11, 14 y 12 están conectados a los pines GPIO del Microcontrolador. En qué pin 11 está el reloj que envía un pulso constante para mantener el tiempo. El pin 14 es datos que realmente envía los datos sobre qué pines de salida tiene que permanecer bajo y cuál debe ir alto. El Pin 12 es el Pestillo que actualiza los datos recibidos a los pines de salida cuando se hacen altos, este pin también se puede mantener permanentemente alto. La siguiente imagen le ayudará a entender mejor.

reloj 74hc595 - Cómo funciona el 74HC595 Shift Register y su interfaz con Arduino

Como se puede ver el reloj es continúa tren de pulsos, y los datos va alto sólo en el lugar respectivo donde la salida tiene que conseguir alto. Aquí, por ejemplo, el valor binario 0b10110011 se pasa al microcontrolador. El restablecimiento maestro del pasador (MR) se utiliza para restablecer las salidas, cuando no está en uso se mantiene alto a vcc, del mismo modo, el pasador debe mantenerse bajo cuando no está en uso.

Otra ventaja importante del IC de 74hc595 es que se puede conectar en cascada para controlar más de 8 salidas. Para ello utilizamos el Q7′ (pin 9), este pin debe estar conectado al pin de datos del segundo IC 74HC595. De esta manera el primer 8-bit enviado de MCU será utilizado por el 1er IC y el segundo 8-bit será utilizado por el 2º IC.

Aplicaciones

  • Amplía el pin GPIO en un MCU/MPU
  • Proyectos led matrix/cube
  • Interfaz LCD
  • Aplicaciones en cascada
  • Controlador de alto nivel lógico

Modelo 2D de 74HC595 (PDIP)

dimensiones ic 74hc595 - Cómo funciona el 74HC595 Shift Register y su interfaz con Arduino

¿Cómo utilizar 74HC595 Shift Register con Arduino?

Vamos a construir un circuito simple donde voy a utilizar sólo tres pines de Arduino UNO y controlar 8 LED. Esto será posible mediante el uso del Registro de Turnos 74HC595 con Arduino.

Los tres pines del registro de turnos que se necesitan para conectarse a Arduino son los pines 11 (la entrada del reloj), 12 (la entrada del reloj del registro de almacenamiento o simplemente la entrada del pestillo) y 14 (laentradade datos).

Todos los 8 LED estarán conectados al IC del registro de turnos.

Diagrama de circuitos

La siguiente imagen muestra el diagrama de circuitos de interconexión del registro de turnos 74HC595 con Arduino UNO.

Arduino UNO

  • 74HC595 Registro de turnos IC
  • Protoboard
  • 8 X LED
  • Resistencias de 8 X 1KΩ
  • Fuente de alimentación de 5V
  • Conexión de cables
  • Diseño de circuitos

    En primer lugar, conecta el pin de entrada serie de 74HC595 Shift Register al pin 4 de Arduino. A continuación, conecta el reloj y los pasadores de pestillo, es decir, los pines 11 y 12 de 74HC595 a los pines 6 y 5 de Arduino respectivamente.

    Ahora, conecta 8 LED con resistencias individuales de corriente limitante de 1KΩ a los 8 pines de salida de IC de 74HC595. Llegando a la fuente de alimentación, conecte una fuente de alimentación separada de 5V a IC 74HC595 con GND común a Arduino en lugar de suministrar 5V desde Arduino.

    Código

    A continuación se encuentra un código simple para activar los LED en una secuencia.

    int latchPin = 5;
    int clkPin = 6;
    int dataPin = 4;
    
    byte LED = 0;
    
    void setup() 
    {
      Serial.begin(9600);
      pinMode(latchPin, OUTPUT);
      pinMode(dataPin, OUTPUT);  
      pinMode(clkPin, OUTPUT);
    }
    
    void loop() 
    {
      int i=0;
      LED = 0;
      shiftLED();
      delay(500);
      for (i = 0; i < 8; i++)
      {
        bitSet(LED, i);
        Serial.println(LED);
        shiftLED();
        delay(500);
      }
    }
    
    void shiftLED()
    {
       digitalWrite(latchPin, LOW);
       shiftOut(dataPin, clkPin, MSBFIRST, LED);
       digitalWrite(latchPin, HIGH);
    }

    Cómo funciona

    Ahora tratemos de entender el funcionamiento de este proyecto. Inicialmente, todos los LED estarán apagados, ya que el LED de la variable de byte se establece en 0. Ahora, cada bit se establece en 1 mediante la función “bitSet” y se desplaza hacia fuera mediante la función “shiftOut”.

    En consecuencia, cada LED se encenderá en la misma secuencia. Si desea desactivar el LED, puede utilizar la función “bitClear”.

    Aplicaciones

    El 74HC595 Shift Register IC o cualquier registro de turno similar para el caso se puede utilizar en las siguientes aplicaciones:

    • LED Control
    • Interruptores de red
    • Servidores
    • Infraestructura eléctrica
    • Industrial Control
    • Aparatos electrónicos
    • Simple conversión de datos en serie a-paralelo
    • Capturar y mantener la lógica

    Ejemplo: Arduino y 74HC595 con LEDs

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

    Enviar Whatsapp
    Hola 👋
    ¿En qué podemos ayudarte?