Introduction To Shift Registers

A shift register is a device that allows additional inputs or outputs to be added to a microcontroller. This is accomplished by converting data between parallel and serial formats. Shift registers come in two basic types, either SIPO, Serial-In-Parallel-Out, or PISO, Parallel-In-Serial-Out. . Here is a SIPO, the 74HC595, and the PISO, the 74HC165. The first type, SIPO, is useful for controlling a large number of outputs, including LEDs, while the latter type, PISO, is good for gathering a large number of inputs, like buttons.  If you need more than 8 additional I/O lines, you can easily chain multiple shift registers together.
In this discussion, I will be using two of  the SIPO version of the shift register, 74HC95N. The video and the code for this project can be found on this page. I would like to thank CreativeStuff & DroneBot Workshop for insight on some of the Arduino code in this project. Shift Registers and many other electronic parts and supplies can be found at Sparkfun.
PISO Pin Out
Project Wiring

Using Shift Registers

In this video, I show how you can use two shift registers to control 16 LEDs in various sequences. The 74HC595N chip is an I2C device that requires only three wires other than power and ground on your Arduino, Latch, Clock, & Data. That’s all there is to it! The working end of the project where the outputs are, is where you find all the LEDs, resistors, and wiring

Results Of The Code In This Project

Looking at the mess of wires required for the outputs of these two shift registers, it would be a great idea to purchase the breakout board to tidy up the wiring mess!
PHOTO BELOW
Arduino Connections
Chip Wiring