INFORMACIÓN
¿Qué es 74HC595?
El circuito integrado 74HC595 es un registro de desplazamiento que cuenta con entrada en serie y salida en paralelo de 8 bits (SIPO). Se alimenta un registro de almacenamiento de tipo D.
¿Para qué sirve 74HC595?
El 74HC595 es de gran ayuda cuando se requiere ampliar la cantidad de salidas digitales ya que se puede conectar 8 LEDs con tan solo 3 pines del microcontrolador o Arduino.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Número de serie: SN74HC595N
- Tipo de montaje: THT Orificio pasante
- Paquete: PDIP-16
- Familia lógica: 74HC
- Tipo lógico: CMOS
- Número de bits: 8 bit
- Voltaje de alimentación (VCC): MIN 2V | TYP 5V | MAX 6V
- Consumo de corriente: 80 μA max
- Función: Serie a paralelo
- Frecuencia de reloj máxima opera dependiendo el VCC:
- 2 Vcc la frecuencia es 4.8 ns
- 4.5 Vcc la frecuencia es 24 ns
- 6 Vcc la frecuencia es 28 ns
- Temperatura de trabajo: – 40 C a + 85 C
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
Descripción de los pines
- Salida de datos paralela QA, QB, QC, QD, QE, QF, QG, QH (PIN 15, 1, 2, 3, 4, 5, 6, 7): Son todas las salidas de datos que se tiene.
- GND (PIN 8) Tierra
- QH complementaria (PIN 9): Salida en serie Permite la conexión en cascada
- SCLR o Reset (PIN 10): Si se activa se borran los datos ya cargados anteriormente.
- SCK o Clock (PIN 11): Ayuda al desplazamiento de los datos.
- RCK o latch (PIN 12). Funciona para cargar los datos del pin 14 de datos, al momento que se activa con el estado lógico «1»
- OE o Output Enable (PIN 13): Se recomienda mandar a 0.
- SI o (PIN 14): Entrada de datos.
- VCC (PIN 16): Alimentación
Tutorial de como usar el Arduino uno y el 74HC595
A continuación se presentara un pequeño tutorial para poder usar este CI 74HC595 con un Arduino uno y poder así hacer un corrimiento básico con diodos led.
¿Cómo se conectan todos los elementos que intervienen en esta pequeña practica?
¿Cómo programar el Arduino uno para que funcione correctamente el 74HC595?
// Código demostrativo int pinLactch = 12; // Declaración del pin para el Latch o RCK int PinReloj = 13; // Declaración del pin para el pulso de reloj int PinDatos = 11; // Declaración del pin de datos que se mandaran byte leds = 0; // Se utiliza para poder declarar una variable de 8 bits void setup() // Declaración de como funcionarán los pines, para este caso serán comos salidas { pinMode(pinLactch, OUTPUT); pinMode(PinDatos, OUTPUT); pinMode(PinReloj, OUTPUT); } void loop() { leds = 0; // Todos los leds se encuentran en 0 o apagados updateShiftRegister(); // Se manda a llamar a la función para que comience la transmisión // de datos al 74HC595 delay(100); // un retraso de 100 ms for (int i = 0; i < 8; i++) // Se inicia un ciclo for y se declara una variable de tipo entero // esto con el fin de poder ir encendiendo led tras led { bitSet(leds, i); // bitSet funciona con dos parámetros, el primero que es leds es la variable numérica que se quiere activar // y el siguiente parámetro es el bit a activar, comenzando por el bit menos significativo updateShiftRegister(); // nuevamente se manda a llamar a la función para que el estado de los led cambie con respecto //a la variable "leds" delay(100); // se genera un retraso de 100ms } } void updateShiftRegister() //Función de usuario { digitalWrite(pinLactch, LOW); // Primero el latch se encuentra un estado bajo o 0 shiftOut(PinDatos, PinReloj, LSBFIRST, leds); // la función shiftOut desplaza a la salida un byte de datos, bit por bit. // Comenzando la transmisión dependiendo de como se mande, puede ser por el bit // más significativo o el bit menos significativo // Parámetros // PinDatos : pin de salidas de los bits // PinReloj : el pin que cambia cada que el PinDatos a sido establecido de manera correcta // LSBFIRST : Dirección de desplazamiento de los bits, este caso es el pin de datos menos significativo. // Si se quiere cambiar el orden se debe poner MSBFIRST, esto manda el bit más significativo al comienzo. // El bit más significativo del 74HC595 es el QA y el menos significativo es el QH // leds : Los datos que se desplazan. digitalWrite(pinLactch, HIGH); // Nuevamente cambiar el latch de estado para poder hacer la transmisión de datos. }
Valoraciones
No hay valoraciones aún.