Have you ever found yourself wanting to control lots of LED’s? Or just needed more I/O pins to control buttons, sensors, servos all at once? Well, you could wire up few sensors to Arduino pins, but you would rapidly start to run out of pins on your Arduino.
The solution for this is to use a ‘Shift Register’. A shift register allows you to expand the number of I/O pins you can use from your Arduino (or any microcontroller for that matter). And the 74HC595 shift register (nicknamed ‘595’) is one of the most famous among all.