Seven Segment Displays are good to look at and are always a handy tool to display data in the form of digits but there is a drawback in them which is that when we control a Seven Segment Display in reality we are controlling 8 different LEDs and to control each of them we require different outputs but if we use a separate GPIO pin for each of the LEDs on seven segment display we might face a shortage of Pins on our microcontroller and ultimately we will be left with no place to do other important connections. This may seem to you as a big problem but the solution to this problem is very simple. We just need to use the 74HC595 Shift register IC. A single 74HC595 IC can be used to provide outputs to 8 different points apart from that we can also connect a number of these ICs and use them to control a large number of devices that too by consuming just 3 GPIO pins of your microcontroller.
So in this project, we will use a 74HC595 Shift register IC with Arduino to control a Seven Segment display just by using 3 GPIO pins of the Arduino and understand how can this IC prove to be a great tool.
Get PCBs for Your Projects Manufactured
You must check out PCBWAY for ordering PCBs online for cheap!
You get 10 good quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto PCBWAY to get them manufactured with good quality and quick turnaround time. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.
About 74HC595 Shift Register
A 74HC595 Shift Register is a 16 Pin SIPO IC. SIPO stands for Serial In and Parallel Out which means that it takes input serially one bit at a time and provides output parallelly or simultaneously on all the output pins. We know that Shift registers are generally used for storage purposes and that property of the registers is used here. The data slides in through the serial input pin and goes on to the first output pin and remains there until another Input comes inside the IC as soon as another input is received, the previously stored input shifts to the next output and the newly entered data comes on to the first pin.
This process continues until the storage of the IC is not full i.e until receiving 8 inputs. But when the IC storage becomes full as soon as it receives the 9th input the first input goes out through the QH' pin if there is another shift register daisy-chained to the current register through the QH' pin then the data shifts on to that register otherwise it gets lost and the incoming data keeps coming in by sliding the previously stored data. This process is known as Overflowing. This IC uses only 3 GPIO pins to connect to the microcontroller and hence by consuming only 3 GPIO pins of the microcontroller we can control infinite devices by daisy-chaining a number of these ICs to each other.
A real-world example that uses shift register is the ‘Original Nintendo Controller’. The main controller of the Nintendo Entertainment System needed to get all button presses serially, and it used a shift register to accomplish that task.