Step 5Modular concepts
Math
I am driving the LEDs at about 15mA (5V-1.8vDrop/220ohms=14.5mA). This means I can drive up to 33 columns with the mic2981 driver (500mA/15mA=33.3). Divided by 8 we can see that this allows us to string together 4 shift registers.Also consider that you do not need to have all 32 columns stretch from left to right. You could instead create a 16x16 array that is wired the same way you would an 8x32 array. This would be addressed by shifting in 4 bytes.... the first two would shift all the way to the leds for the 9th row, the second two bytes would shift into the first row. Both rows would be sourced by one pin on the row driver.
Cascading Shift Registers
The shift registers used are cascading shift register. This means that when you shift in data, the overflow appears on the Os pin. The becomes very useful as a set of shift registers can be connected to each other, Os pin to Data pin, adding 8 columns with each new chip.All of the shift registers will connect to the same Latch, Clock, and Enable Output pins on the microcontroller. The "cascading" effect is created when the Os of the first shift register is connected to the Data pin of the second. The programming will need to be altered to reflect the increased number of columns. Both the buffer that stores the information and the function that shifts information in for each column need to be updated to reflect the actual number of columns.
A schematic of this is given below as an example.
Multiple Row Drivers
The row driver (mic2981) can source enough current to drive 32 columns. What if you want more than 32 columns? It should be possible to use multiple row drivers without using more microcontroller pins.We need the row drivers to source enough current to light the LEDs. If you are using more columns than it is possible to light at one time, addition row drivers can supply the needed current. The same input pins from the microcontroller are used so there is no need to alter the scanning of the rows. In other words, each driver controls the rows for an 8x32 block. Even though 64 columns may have the same PHYSICAL row placement, we divide the row buses in two, using one driver for the 8 rows of the first 32 columns, and a second driver for the 8 rows of the second 32 columns and so forth.
A schematic of this is given below as an example.
Potential Missteps:
1. Do not use multiple row drivers with the same number of columns. Doing so would mean that each shift register pin would be driving more than one LED at a time.
2. You must have a set of 8 resistors (3k3) for each row driver, one set for multiple row drivers will not work as it will not provide the necessary current to switch the gates.
For Example
I decided to expand on the matrix I built earlier. I have added 7 more rows for a total of 15 as that's all I can fit on this protoboard.I also just found out about a contest that Instructables is doing called "Let it Glow". Here is a video of my take on that. Once again, the digital camera I used to take the video doesn't do it justice. This looks great to the human eye, especially where all the LEDs flash, but doesn't look nearly as good in the video. Enjoy:
Source code for this larger display is included below.
Let_It_Glo.zip11 KB| « Previous Step | Download PDFView All Steps | Next Step » |














































The problem is that Im kinda new with microcontrollers and can't write the code, Where can I get it?? can you help me write it??
plz help,
really interested in ur project.
Thanks.