This tutorial describes how to implement decimal counter which will increment from 0000 to 9999 ; in multiplexed seven segment display using ARDUINO Board in PROTEUS ISIS.
Multiplexing is required when we want to interface 3 or 4 or even more such displays with MCUs since it we go for normal way it will require lots of IO port.
What is a Seven Segment Display ?
A Seven Segment Display (SSD) is one of the most common, cheap and simple to use display. Seven Segment Displays are of two types :
- Common cathode : In the common cathode type SSD, the –ve terminal of all the LEDs are commonly connected to the ‘COM’ pin. A segment can be lighted up when ‘1’ is given to the respective LED segment and ground is connected to the common.
- Common anode : In the common anode type SSD, the +ve terminal of all the LEDs is commonly connected to the ‘COM’ port of the SSD. A segment can be lighted up when the ‘COM’ port is connected to the +ve battery supply, and ground is given to the respective segment.
It looks like this :
For more information about seven segment https://www.electronify.org/basic-component-introduction/seven-segment-interface
All the similar segments of multiple LED displays are connected together and driven through a single I/O pin.
Instead, 4 NPN transistors are used as switches to connect or disconnect the cathode terminals from Gnd. When the base of the NPN transistor is high, the transistor conducts and corresponding digit’s common cathode is connected to Gnd. Therefore, the transistor selects which displays is active. The conduction of the transistors are controlled by PIN10 through PIN13 pins of the Arduino board. Suppose, if wewant to display 7 in the units digit place, then segments a, b, and c should beturned on first (which means PIN2, PIN3, PIN4 are 1 and PIN5-PIN9are 0) and then PIN10 should be pulled up (while keeping PIN11-PIN13 low) so that only units digit display will be active. In order to display all 4 digits, each seven-segment display is activated sequentially using an appropriate refresh frequency so that it will appear that all the them are turned on at the same time.
We have four 7-segment displays connected to the same PINS on the Arduino board. Because the circuit is connected in this way we have to multiplex the output.
The firmware is written in C and compiled with Arduino 1.670.
After the c code is successfully compiled, a HEX file is generated.
For simulating with PROTEUS ISIS hit run button and and then you will get above output.
we can drive more than one Seven Segment Display by using a technique called ‘Multiplexing’. This technique is based on the principle of Persistence of Vision of our eyes. If the frames change at a rate of 25 (or more) frames per second, human eye can’t detect that visual change. Each display is turned on above this rate and our eyes will think that the display is turned on for whole the time.
We have used Common Cathode Seven Segment Display in this example. Pins PIN2 – PIN9 are connected to the A – G of the display. This will count from 0000 to 9999.
You can download the Source Code and Proteus files etc from here MUXED SEVEN SEGMENT DISPLAY WITH ARDUINO :
This Our Group (thanks to join and participate) : https://www.facebook.com/groups/816450708460518/
Facebook page (thanks to join and share) : https://www.facebook.com/Lets-Think-Binary-1728910547340654/
Youtube Channel (thanks to subscribe) :https://www.youtube.com/channel/UCTIAzxEkyeA6HTvl_VHd-Tw