Yes, Christmas is close and we have already lightened our houses. If you haven't done anything special besides the festive Christmas lights for decoration, you might want to consider building this project for the next year. This is a big animated Christmas sign made from scratch using different color LEDs to wish Merry Christmas to our neighbors and visitors. It displays the text ‘MERRY XMAS’, where each character is created with 5mm diameter red-color LEDs. Multi-color LEDs surrounding the display text from all four sides make it look bright and attractive in the night. The animation and display controller circuit consists of only three discrete logic ICs (two 74HC595 shift registers and one 74HC14 inverting Schmitt trigger), while the LED driver is made of transistor arrays.
Step 1: LED math and driver circuit
First we will see how to construct the LED sign board. The text message on the signboard is “MERRY XMAS”. Each character is made up of red LEDs (5 mm diameter) connected in series and parallel fashions. The forward voltage of a RED LED is around 1.9 V. Most 5mm LEDs operate close to their peak brightness at a driving current of 20 mA. In this project, I am limiting current through my LEDs to 15 mA and they still glow pretty bright. So, all of my calculations are based for 15 mA current through the LEDs. I found the forward voltage across my LEDs is about 1.95 V. Calculating the value of the series resistor for an LED is simple. Suppose, if you want to drive a LED through a 5 V power source, you need a resistor of value (5-1.95)V/15 mA = 203 Ω to limit the current to 15 mA. The closest available resistor (on the higher end) is of 220 Ω.
Now, let’s see how to make display letters with LEDs. The LED connections for the first character of the signboard (MERRY XMAS) is shown above. 17 LEDs are used in creating 'M'. If you have to drive each LED through a 5V supply, you require 17 series resistors, and the current will sum up to 17×15 = 255 mA. If you add up the current requirements of other LED characters in the signboard, the net current would go up to 2 A, which is quite a bit of current and you probably need a bigger heat sink for your voltage regulator. So I thought of doing it differently that would lower the net current consumption in the project and also save me from soldering to many resistors and transistors. This can be done by using a higher supply voltage.
I used a power supply unit from one of my old printers that provides +32 V, +16V, and ground to its 3 output pins. The +32 V is used to drive the chain of LEDs connected in series, and +16V goes to an LM78L05 IC to derive +5V regulated output for the control circuit. By doing so the net current required to drive all the LEDs in a chain is same as required for a single LED as they are in series, and therefore, only 1 resistor is required per chain.
The picture above shows how I constructed the character 'M'. With +32 V, I can only drive up to 16 red LEDs in series, and the letter ‘M’ in the sign consists of 17 LEDs. So I have to divide it into two chains of 9 and 8 LEDs, as shown here. For the first chain, the value of the series resistor would be,
R1 = (32.0 – 1.95 x 9) V/15 mA = 963 Ω.
I used 1 K for this. Similarly, for the second chain of 8 LEDs, the estimated resistor value is R2 = 1.1 K.
The anode terminal is connected to 32 V supply whereas the cathode is connected to the collector of a NPN transistor (BC547). The transistor acts as a switch with a control signal applied to its base terminal through a resistor. Whenever the control signal is HIGH, the switching transistor is turned on and all the LEDs will glow to display ‘M’.
This whole process is repeated for constructing other LED characters in the signboard. The series resistor values are calculated in exactly the same way by considering the number of LEDs in each of the chains formed. The attached table shows the number of LEDs, number of chains, and the value of series resistor used for constructing each LED character.