A monochrome (single colour) LED dot matrix display is used for displaying the Characters and Symbols which is interface with a microcontroller. This project will deliberate on displaying a scrolling text message on a 48×8 LED dot matrix display. The microcontroller used is Arduino Uno which is open source prototype Electronic platform. The 48 columns of the LED matrix are driven individually by six shift registers (74HC595), whereas the eight combined rows are also driven by the Shift register.
Here we will be scanning across the rows and feed the column lines with appropriate logic levels. The program in the microcontroller is to determine the speed of the scrolling message as well as Message what we are going to display. The technique will be demonstrated for right to left scroll, but can be easily implemented for scrolling in other directions. The Sketch program for Arduino Uno is developed with Arduino Software.
Step 1: PREPARING THE MATRIX
Matrix wiring each matrix has 64 LEDs. Instead the LEDs are wired into a matrix. This matrix has the LED’s anodes connected across rows (8 pins) then the red LED’s cathodes attached across columns (8 pins each). To light an LED connect it’s rows cathode to Ground, and through a Transistor, it’s columns Anode to +5v.
Displaying Images (Scanning) Now that we can light any LED we choose it’s time to move on to displaying a (small) image. To do this we will use a scan pattern. In the example code we define a bitmap image (an array of 8 bytes, each bit representing one LED). Next we scan through this array one byte at a time, displaying one column then the next. If we do this fast enough (about 1000 times a second) it appears as an image. It sounds complex but if you download the code and play around it should quickly become clear
Step 2: CONNECTING THE SHFIT REGISTERS AND TRANSISTORS.
Here we use 74HC595 to drive the row and colum
single shift register to drive the row
and daisy chained shift registers with common clock pin to drive columns
– Each shift register can drive 8 columns
-Based on the number of columns number of shift registers can be increased,there is no limit for the columns.
Step 3: Interfacing with Arduino
Pin of Arduino Shift register pins
5 – 12
6 – 11
7 – 14
the above are for the column drivers
9 – 12
10 – 11
8 – 14
the above are for the row drivers
Step 4: PROGRAM
int latchPin1 = 5; //Arduino pin connected to blue 12 RCLK of 74HC595
int clockPin1 = 6; //Arduino pin connected to green 11 SRCLK of 74HC595
int dataPin1 = 7; //Arduino pin connected to violet 14 SER of 74HC595
//– Rows (Positive Anodes) —
int latchPin2 = 9; //Arduino pin connected to yellow Latch 12 RCLK of 74HC595
int clockPin2 = 10; //Arduino pin connected to white Clock 11 SRCLK of 74HC595
int dataPin2 = 8; //Arduino pin connected to grey Data 14 SER of 74HC595
//=== B I T M A P ===
//Bits in this array represents one LED of the matrix
// 8 is # of rows, 7 is # of LED matrix we have
byte bitmap; // Change the 7 to however many matrices you want to use.
int numZones = sizeof(bitmap) / 8;
int maxZoneIndex = numZones-1;
int numCols = numZones * 8;
For more detail: 48×8 SCROLLING MATRIX LED DISPLAY USING ARDUINO CONTROLLER
This Post / Project can also be found using search terms:
- create microcontroller based scrolling led
- 48x8 SCROLLING MATRIX LED DISPLAY USING ARDUINO CONTROLLER
- moving message display using arduino