Last active
September 10, 2019 12:04
-
-
Save tonyyates/47a386b4598f48bba5fbd024606a3a01 to your computer and use it in GitHub Desktop.
Arduino Matrix LED
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
unsigned char i; | |
unsigned char j; | |
/*Port Definitions*/ | |
int Max7219_pinCLK = 10; | |
int Max7219_pinCS = 9; | |
int Max7219_pinDIN = 8; | |
unsigned char disp1[38][8]={ | |
{0x8,0x14,0x22,0x3E,0x22,0x22,0x22,0x22},//A | |
{0x3C,0x22,0x22,0x3E,0x22,0x22,0x3C,0x0},//B | |
{0x3C,0x40,0x40,0x40,0x40,0x40,0x3C,0x0},//C | |
{0x7C,0x42,0x42,0x42,0x42,0x42,0x7C,0x0},//D | |
{0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x7C},//E | |
{0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x40},//F | |
{0x3C,0x40,0x40,0x40,0x40,0x44,0x44,0x3C},//G | |
{0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44},//H | |
{0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x7C},//I | |
{0x3C,0x8,0x8,0x8,0x8,0x8,0x48,0x30},//J | |
{0x0,0x24,0x28,0x30,0x20,0x30,0x28,0x24},//K | |
{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C},//L | |
{0x81,0xC3,0xA5,0x99,0x81,0x81,0x81,0x81},//M | |
{0x0,0x42,0x62,0x52,0x4A,0x46,0x42,0x0},//N | |
{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//O | |
{0x3C,0x22,0x22,0x22,0x3C,0x20,0x20,0x20},//P | |
{0x1C,0x22,0x22,0x22,0x22,0x26,0x22,0x1D},//Q | |
{0x3C,0x22,0x22,0x22,0x3C,0x24,0x22,0x21},//R | |
{0x0,0x1E,0x20,0x20,0x3E,0x2,0x2,0x3C},//S | |
{0x0,0x3E,0x8,0x8,0x8,0x8,0x8,0x8},//T | |
{0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1C},//U | |
{0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18},//V | |
{0x0,0x49,0x49,0x49,0x49,0x2A,0x1C,0x0},//W | |
{0x0,0x41,0x22,0x14,0x8,0x14,0x22,0x41},//X | |
{0x41,0x22,0x14,0x8,0x8,0x8,0x8,0x8},//Y | |
{0x0,0x7F,0x2,0x4,0x8,0x10,0x20,0x7F},//Z | |
}; | |
void Write_Max7219_byte(unsigned char DATA) | |
{ | |
unsigned char i; | |
digitalWrite(Max7219_pinCS,LOW); | |
for(i=8;i>=1;i--) | |
{ | |
digitalWrite(Max7219_pinCLK,LOW); | |
digitalWrite(Max7219_pinDIN,DATA&0x80);// Extracting a bit data | |
DATA = DATA<<1; | |
digitalWrite(Max7219_pinCLK,HIGH); | |
} | |
} | |
void Write_Max7219(unsigned char address,unsigned char dat) | |
{ | |
digitalWrite(Max7219_pinCS,LOW); | |
Write_Max7219_byte(address); //address,code of LED | |
Write_Max7219_byte(dat); //data,figure on LED | |
digitalWrite(Max7219_pinCS,HIGH); | |
} | |
void Init_MAX7219(void) | |
{ | |
Write_Max7219(0x09, 0x00); //decoding :BCD | |
Write_Max7219(0x0a, 0x03); //brightness | |
Write_Max7219(0x0b, 0x07); //scanlimit;8 LEDs | |
Write_Max7219(0x0c, 0x01); //power-down mode:0,normal mode:1 | |
Write_Max7219(0x0f, 0x00); //test display:1;EOT,display:0 | |
} | |
void setup() | |
{ | |
pinMode(Max7219_pinCLK,OUTPUT); | |
pinMode(Max7219_pinCS,OUTPUT); | |
pinMode(Max7219_pinDIN,OUTPUT); | |
delay(50); | |
Init_MAX7219(); | |
} | |
void loop() | |
{ | |
char words[] = "HTWUK"; | |
int thischar; | |
for(j=0;j<strlen(words);j++) | |
{ | |
thischar=int(words[j])-65; | |
for(i=1;i<9;i++) | |
//Write_Max7219(i,disp1[j][i-1]); | |
Write_Max7219(i,disp1[thischar][i-1]); | |
delay(1000); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment