8X8 Dot Matrix Experiment Material: Product Description
8X8 Dot Matrix Experiment Material: Product Description
Overview
This lesson will use 8X8 dot matrix to display letters.
Material
Arduino Uno board x 1
Breadboard x 1
Jumper wires
8x8 dot matrix x 1
Resistor (220R) x 8
USB cable x 1
Product description:
Dot matrix display are often could be seen in everyday life, street billboards, airport flight
information boards, etc.,
The 8X8 dot matrix consists of 64 LEDs arranged in 8 rows of 8 columns with a wire
running down each column and across each row.
When an LED’s column wire is set to positive and the row wire is set to 0 the LED will turn
on.
Technical Parameters
Product Name : LED Lattice Tube Matrix Module
Model : 1588BS
LED Display : Red
Dot Diameter(Each) : 4mm
Dot Numbers : 8*8;Pin Numbers : 16 Pins
Type : CommonAnode
Total Size : 38 x 38x 12mm/ 1.5" x 1.5" x 0.47" (L*W*H)
Material : Plastic,Material
Color : Black, White
Weight : 53g;
The symbolic diagram shows the displays equivalent circuit. Provided the correct
voltage is applied across the LED it will turn on. For instance to turn on the upper left corner
the X0 should be 0 Volts and Y0 should be 5 Volts
In order to achieve 16 or more refreshes a second (so that the eye doesn’t detect any
flickering) for the first method you need to run at 16 * 64 = 1024 Hz.
That is, you need to update the control wires 1024 times per second.
For the second method, where we are doing a whole column in one go, we only need to
update at 16 * 8 or 128 Hz. This method also has the advantage that any LED that is on, is
on for 1/8th of the time as opposed to 1/64th in the first method, and therefore appears brighter.
Example of 8*8 dot matrix usage
To generate the following on the display we break it down into columns and express as
ones and zeros (starting at the top).
00000000,00111110,01000001,01000001,01000001, 00111110,
00000000,00000000.
These patterns of ones and zeros are called binary. A more usual and compact way of
writing these is in hexadecimal (or base 16). To do this we break these numbers into two sets
of 4 and apply the following rules to both sets.
0000->0 0001->1 0010->2 0011->3 0100->4 0101->5
0110->6 0111->7 1000->8 1001->9 1010->A 1011->B
1100->C 1101->D 1110->E 1111->F.
For the above pattern, that gives us 00h, 3Eh, 41h, 41h, 41h, 3Eh, 00h, 00h.
(hexadecimal numbers are usually written 3Eh or 0x3E to show they are hexadecimal). By
sending these codes in rapid sequence to the columns of the display (and by setting one of the
rows low) for each one, we can generate the symbol.
Connection diagram
Example code
void setup(){
int i = 0 ;
for(i=2;i<18;i++)
{
pinMode(i, OUTPUT);
}
for(i=2;i<18;i++) {
digitalWrite(i, LOW);
}
}
void loop(){
int t1;
int l;
int arrage;
for(arrage=0;arrage<10;arrage++)
{
for(l=0;l<512;l++)
{
for(t1=0;t1<8;t1++)
{
displayNum(data_ascii[arrage][t1],(t1+1));
}
}
}
}
Results