UPDATE 1: I HAVE ADDED THE CODE FOR CONWAY’S GAME OF LIFE
UPDATE 2: NOW YOU CAN SAVE SOME ARDUINO PINS WITH THE HELP OF 1 SHIFT REGISTER.
In this instructable I will show you how to build a quite fancy 8 by 10 L.E.D matrix(with scrolling text and animations) using the Arduino and 4017 decade counter. This type of matrix is easy to make and program and it is a good way learn how to multiplex.
I have added another part to this instructable about using the 74HC595 shift register which will help to save some arduino pins for other thing you would like to do.
So now you have to ways to go from here. You can make this matrix without the shift register and that will save you some soldering work or use the shift register if you want to have more free pins to use.
Step 1: Stuff you need
1. Soldering iron
2. Some solder
3. Small needle nose plier
4. A wire striper
For the matrix:
1. 80 L.E.D.s
2. 8 resistors( The value is determent by the type of L.E.D.s)
3. 4017 decade counter
4. 10 1KOhm resistors
5. 10 2N3904 transistors
6. Some single core wire
9. 74HC595 shift register
10. some pin headers
Step 2: Choosing L.E.Ds and resistors
This is one of the most important part of this project, because it based on LEDs it’s very critical to choose the right ones.
I recommend using 5mm diffused LEDs because they give a good amount of light and make a clear image(the color of the LEDs is your Choice only) .
You can use a 3mm LEDs too but it would make soldering really hard and you would get a small display.
Another tip is to buy the LEDs from Ebay because you can get a really good price and sometimes get free resistors as well (like in my case).
Do not buy exactly 80 LEDs because one or more of the LEDs can be damaged, my advice to buy 10 or 20 more, and if some will be left over you can always use them in future project.
Now to calculate the value of the 8 resistors you can use this site : http://led.linear1.org/1led.wiz.
You should first get some specs on your LEDs, you should know their forward voltage and forward current, you can get this info from the seller. The Arduino gives an output of 5V so your Source voltage is 5V.
Step 3: Multi What?
It is basically a way to split information in to little peaces and send it one by one.
this way you can save a lot of pins on the Arduino and keep your program quite simple.
In our case we split the image that we want to display to 10 peaces (10 rows), We want to scan the rows of the matrix( light up one row at a time) and send info from the Arduino to the columns.
All the columns are positives of the LEDs and the rows are negatives so if the first row is connected to ground and we send information to the columns we will only light the first row.
To get a good display we need to scan the rows very fast, so fast the the human eye thinks that all of the rows are connected at the same time.
Read more: Make a 8×10 L.E.D Matrix