The concept of multiplexing is an interesting and efficient one. It is the key to having a bunch of peripherals connected to our Arduino boards.
Multiplexing provides a way to use few I/O pins on the board while using a lot of external components. The link between Arduino and these external components is made by using a multiplexer/demultiplexer (also shortened to mux/demux).
We spoke about input multiplexing in Chapter 6, Playing with Analog Inputs.
We are going to use the 74HC595 component here. Its datasheet can be found at http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf.
This component is an 8-bit serial-in / serial-or-parallel-out. This means it is controlled through a serial interface, basically using three pins with ...