You could use individual LEDs wired into a grid of rows and columns, or you can make use of a module that has the LEDs conveniently placed into a single package. Who wants to wrangle with a pile of LEDs? That is a LOT of leads to solder...
Remember the old dot-matrix printers? CGA displays? No? Well old dudes like myself sure do. Many devices like those displayed or printed their characters as an array of 7 rows of 5 pixels/dots. This project will help you learn how to use a 5 by 7 LED array.
As an alternate you can make use of an 8 by 8 LED array.
This Instructable will cover how the LED Array Module works and how to design a character set to display. I will put together a very simple microcontroller circuit to drive the display, and list the development environment and some of the firmware needed to do the task.
fullset.MOV572 KB
Remove these ads by
Signing UpStep 1An array of LEDs
The LED array arranges LEDs in rows and columns. The LEDs in the grid have their two connections, their cathodes and their anodes, connected to the other LEDs. By making these connections correctly, a microcontroller can drive any one LED on while leaving others off.
In the diagram below the LED at column 1 row 1 would be turned on if positive voltage is applied at C1 while ground is applied to R1. That single LED (C1 R1) would light up.
If, in addition to that, R3 was also at ground potential then the C1 R3 LED would also light.
You might work out that if we were to also light up the C3 R1 LED, that the C3 R3 will also light up, even if we do not wish to see it. There is voltage on C3 and ground on R3, so the LED is going to light itself.
To avoid that problem we can pick either a row or a column to light at a time. In this Instructable I control one column at a time. The microcontroller displays a pattern on column 1, then quickly moves to column 2 with a different pattern. The firmware moves through all five columns and then continues to cycle over and over. Done slowly this is rather odd looking as only one column is displayed at a time.
But if the cycling happens quickly, then it appears to the human eye that the entire display correctly displays a character.
The software will set column 1 to a positive voltage while setting 2-5 to ground. Then a pattern that results in row pins set to a positive voltage or ground is set on the row pins. After a delay, column 1 is set to ground and column 2 is set to a positive voltage. A new pattern is sent to the rows.
As each column is individually set to a positive voltage, each row gets a pattern of the LEDs to light up. When this is quickly cycled over and over the LED Array Module displays a single character.
| « Previous Step | Download PDFView All Steps | Next Step » |

















































Port C has 8 lines, so it would handle your display just fine. You could make a new font (perhaps supporting g/j/p/q/y descending below the line), or just use this font.
Also it should be noted that some LED array modules have all of the anodes/cathodes going in the opposite direction. The hardware is the same, the firmware just inverts the bytes sent to the ports. Easy peasy.