Shift Register 74HC595

What is?
A shift register is a sequential digital circuit, this means that the values ​​of their outputs depends on the values ​​of its inputs and previous values ​​of its inputs. It is a series of flip-flops connected in cascade which oscillate synchronously with the same clock signal.

*flip-flops: is a multi-vibrator able to stay in one of two possible states for an indefinite time into the absence of disturbances. This feature is highly used in digital electronics to store information.

Like all the integrated circuits, this has a data sheet. The data sheets give us all necessary information about the integrated circuit, such as: conditions to work, the inputs and outputs for each pin, the voltage input, temperature, etc.

In the data sheet we can find the Pin Config:

And the Pins Description:

Symbol Pin Description
Q1 1 parallel data output 1
Q2 2 parallel data output 2
Q3 3 parallel data output 3
Q4 4 parallel data output 4
Q5 5 parallel data output 5
Q6 6 parallel data output 6
Q7 7 parallel data output 7
GND 8 ground (0 V)
Q7′ 9 serial data output
MR 10 master reset (active LOW)
SHcp 11 shift register clock input
STcp 12 storage register clock input
OE 13 output enable input (active LOW)
DS 14 serial data input
Q0 15 parallel data output 0
Vcc 16 supply voltage

When I need one?
The shift register, if we work with Arduino or Raspberry Pi, can increase the number of pins to us. In this case the 74HC595 requires 3 input pins but returned 8 output pins.
This means that using only 3 pins on the Raspberry Pi or Arduino, we can manage until 8 pins. Very usefull when we are doing projects that requires more than the pines available in our Arduino or Raspberry Pi.

Example:

See what we can do in this example