LCDemo Martix
#include <>
/*F********************************************************************
* WE ALWAYS HAVE TO INCLUDE LIBRARY
**********************************************************************/
#include "LedControl.h"

//************************* DEFINES ************************************

//************************* PROTOTYPES ************************************
void  writeArduinoOnMatrix(); 
void rows(); 
void columns(); 
void single(); 

//************************* VARIABLES ************************************
/*I*******************************************************
Now we need a LedControl to work with.
***** These pin numbers will probably not work with your hardware *****
pin 12 is connected to the DataIn 
pin 11 is connected to the CLK 
pin 10 is connected to LOAD 
We have only a single MAX72XX.
********************************************************/
LedControl lc = LedControl( 12, 11, 10, 1);

unsigned long delaytime = 100; // ALWAYS WAIT A BIT BETWEEN DISPLAY UPDATES 

/*F********************************************************************
*
**********************************************************************/
void 
setup() 
{
	         // MAX72XX IN POWER-SAVING MODE ON STARTUP, NEEDS A WAKEUP CALL
	lc.shutdown( 0, false );
	lc.setIntensity( 0, 8 );            // SET BRIGHTNESS TO A MEDIUM VALUES
	lc.clearDisplay( 0 );                               // AND CLEAR DISPLAY
}
/*F********************************************************************
*
**********************************************************************/
void 
loop() 
{ 
	writeArduinoOnMatrix();
	rows();
	columns();
	single();
}
/*F********************************************************************
* THIS METHOD WILL DISPLAY CHARACTERS FOR WORD "Arduino" ONE AFTER OTHER ON 
MATRIX.  (YOU NEED AT LEAST 5X7 LEDS TO SEE THE WHOLE CHARS)
**********************************************************************/
void  
writeArduinoOnMatrix() 
{
	// HERE IS DATA FOR CHARACTERS
	byte a[5]={ B01111110, B10001000, B10001000, B10001000, B01111110};
	byte r[5]={ B00111110, B00010000, B00100000, B00100000, B00010000};
	byte d[5]={ B00011100, B00100010, B00100010, B00010010, B11111110};
	byte u[5]={ B00111100, B00000010, B00000010, B00000100, B00111110};
	byte i[5]={ B00000000, B00100010, B10111110, B00000010, B00000000};
	byte n[5]={ B00111110, B00010000, B00100000, B00100000, B00011110};
	byte o[5]={ B00011100, B00100010, B00100010, B00100010, B00011100};
	// NOW DISPLAY THEM ONE BY ONE WITH A SMALL DELAY
	lc.setRow( 0, 0, a[0] );
	lc.setRow( 0, 1, a[1] );
	lc.setRow( 0, 2, a[2] );
	lc.setRow( 0, 3, a[3] );
	lc.setRow( 0, 4, a[4] );
	delay( delaytime );
	lc.setRow( 0, 0, r[0] );
	lc.setRow( 0, 1, r[1] );
	lc.setRow( 0, 2, r[2] );
	lc.setRow( 0, 3, r[3] );
	lc.setRow( 0, 4, r[4] );
	delay( delaytime );
	lc.setRow( 0, 0, d[0] );
	lc.setRow( 0, 1, d[1] );
	lc.setRow( 0, 2, d[2] );
	lc.setRow( 0, 3, d[3] );
	lc.setRow( 0, 4, d[4] );
	delay( delaytime );
	lc.setRow( 0, 0, u[0] );
	lc.setRow( 0, 1, u[1] );
	lc.setRow( 0, 2, u[2] );
	lc.setRow( 0, 3, u[3] );
	lc.setRow( 0, 4, u[4] );
	delay( delaytime );
	lc.setRow( 0, 0, i[0] );
	lc.setRow( 0, 1, i[1] );
	lc.setRow( 0, 2, i[2] );
	lc.setRow( 0, 3, i[3] );
	lc.setRow( 0, 4, i[4] );
	delay( delaytime );
	lc.setRow( 0, 0, n[0] );
	lc.setRow( 0, 1, n[1] );
	lc.setRow( 0, 2, n[2] );
	lc.setRow( 0, 3, n[3] );
	lc.setRow( 0, 4, n[4] );
	delay( delaytime );
	lc.setRow( 0, 0, o[0] );
	lc.setRow( 0, 1, o[1] );
	lc.setRow( 0, 2, o[2] );
	lc.setRow( 0, 3, o[3] );
	lc.setRow( 0, 4, o[4] );
	delay( delaytime );
	lc.setRow( 0, 0, 0 );
	lc.setRow( 0, 1, 0 );
	lc.setRow( 0, 2, 0 );
	lc.setRow( 0, 3, 0 );
	lc.setRow( 0, 4, 0 );
	delay( delaytime );
}
/*F********************************************************************
* lights up some Leds in row.  pattern will be repeated on every row. pattern
 will blink along with row-number.  row number 4 (index==3) will blink 4 times
**********************************************************************/
void 
rows() 
{
	for( int row = 0; row < 8; row++ ) 
	{
		delay( delaytime );
		lc.setRow( 0, row, B10100000);
		delay( delaytime );
		lc.setRow( 0, row, (byte)0);
		for( int i = 0; i < row; i++) 
		{
			delay( delaytime );
			lc.setRow( 0, row, B10100000);
			delay( delaytime );
			lc.setRow( 0, row, (byte)0 );
		}
	}
}
/*F********************************************************************
* lights up a some Leds in a column.  pattern will be repeated on every column.
pattern will blink along with column-number.  column number 4 (index==3) will
 blink 4 times etc.
**********************************************************************/
void 
columns() 
{
	for(int col=0;col<8;col++) 
	{
		delay( delaytime );
		lc.setColumn( 0, col, B10100000 );
		delay( delaytime );
		lc.setColumn( 0, col, (byte)0 );
		for( int i = 0; i < col; i++) 
		{
			delay( delaytime );
			lc.setColumn( 0, col, B10100000 );
			delay( delaytime );
			lc.setColumn( 0, col, (byte)0 );
		}
	}
}
/*F********************************************************************
* will light up every Led on the matrix.  led will blink along with row-number.
row number 4 (index==3) will blink 4 times etc.
**********************************************************************/
void 
single() 
{
	for( int row = 0; row < 8; row++ ) 
	{
		for( int col = 0; col < 8; col++) 
		{
			delay( delaytime );
			lc.setLed( 0, row, col, true );
			delay( delaytime );
			for( int i = 0; i < col; i++) 
			{
				lc.setLed( 0, row, col, false );
				delay( delaytime );
				lc.setLed( 0, row, col, true);
				delay( delaytime );
			}
		}
	}
}