I don't think that it should make a difference.
Have you tried the code example in the link you sent - it will answer the question !The device you have cannot work with my code !
I've just tried it, but it doesn't work. BUT, it work with the following code, I don't know where I found it, it was a long time ago:
#define COL_PIXEL 16
#define ROW_PIXEL 16
int latchPin=8; //LT
int clockPin=12;//SK
int dataPin=11; //R1
unsigned int COL_xPixel;
unsigned int ROW_num;
unsigned char Col_num_l;
unsigned char Col_num_h;
unsigned long ROW_code[16]={0x0080,0x0040,0x0020,0x0010,0x0008,0x0004,0x0002,0x0001,0x8000,0x4000,0x2000,0x1000,0x0800,0x0400,0x0200,0x0100};
//Data code: Horizontal modulus ,Bytes reverse order
unsigned char Bmp1[]=
{
/*------------------------------------------------------------------------------
; Width X height (pixels): 16X16
;Matrix
------------------------------------------------------------------------------*/
0x3, 0xc3, 0xf, 0xc, 0xcf, 0x3, 0x30, 0xc, 0x33, 0x3, 0x30, 0x3f, 0x3,
0xc3, 0x3f, 0xc, 0x3, 0x33, 0x30, 0xc, 0x3, 0x33, 0x30, 0xcc, 0x3, 0xc3,
0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc3, 0x0, 0x3, 0x0,
0x33, 0x3, 0x0, 0x0, 0xf,0xc0, 0xc3, 0xc0, 0x3, 0x0, 0x3, 0x33, 0x3, 0x0,
0x3, 0xc, 0x3, 0x0, 0x3, 0x33, 0x3, 0xc0, 0xcf, 0xc0 };
unsigned char Bmp2[]=
{
/*------------------------------------------------------------------------------
; Width X height (pixels): 16X16
;LED 16 16
------------------------------------------------------------------------------*/
0x3, 0xfc, 0xcf, 0xf, 0x3, 0xc, 0xc0, 0x30, 0x3, 0xc, 0xc0, 0xc0, 0x3, 0xfc, 0xcf, 0xc0, 0x3, 0xc, 0xc0, 0xc0,
0xc3, 0xc, 0xc0, 0x30, 0xff, 0xfc, 0xcf, 0xf, 0x0, 0x0, 0x0, 0x0, 0xc, 0xf, 0x30, 0x3c, 0xcf, 0x0, 0x3c,
0x3, 0xcc, 0x0, 0x30, 0x3, 0xcc, 0xf, 0x30, 0x3f, 0xcc, 0x30, 0x30, 0xc3, 0xcc, 0x30, 0x30, 0xc3, 0x3f, 0xf, 0xfc, 0x3c, 0x0, 0x0, 0x0, 0x0 };
unsigned char Bmp3[]=
{
/*------------------------------------------------------------------------------
; Width X height (pixels): 16X16
;SMILE
------------------------------------------------------------------------------*/
0xc0, 0xff, 0xff, 0x3, 0xf0, 0xff, 0xff, 0xf, 0x3c, 0x0, 0x0, 0x30, 0xcf, 0x3, 0xc0, 0xf3, 0xcf, 0x3,
0xc0, 0xf3, 0xcf, 0x3, 0xc0, 0xf3, 0xcf, 0x3, 0xc0, 0xf3, 0xcf, 0x3, 0xc0, 0xf3, 0xcf, 0x3, 0xc0, 0xf3,
0xcf, 0x3, 0xc0, 0xf3, 0xf, 0xff, 0xff, 0xf0, 0xf, 0xfc, 0x3f, 0xf0, 0xf, 0x0, 0x0, 0xf0, 0xc, 0x0, 0x0,
0x3c, 0xf0, 0xff, 0xff, 0xf, 0xc0, 0xff, 0xff, 0x3 };
unsigned char Bmp4[]=
{
/*------------------------------------------------------------------------------
; Width X height (pixels): 16X16
;LED Smile
------------------------------------------------------------------------------*/
0x3, 0xfc, 0xcf, 0xf, 0x3, 0xc, 0xc0, 0x30, 0x3, 0xc, 0xc0, 0xc0, 0x3, 0xfc, 0xcf, 0xc0, 0x3, 0xc,
0xc0, 0xc0, 0xc3, 0xc, 0xc0, 0x30, 0xff, 0xfc, 0xcf, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc0, 0x0, 0xc0, 0x3, 0x30, 0x3, 0x30, 0xc, 0xc, 0xc, 0xc, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xfc, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0 };
unsigned char Bmp5[]=
{
/*------------------------------------------------------------------------------
; Width X height (pixels): 16X16
;car
------------------------------------------------------------------------------*/
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xc0, 0x0, 0x0, 0x3, 0xc0, 0x0, 0xc, 0x3,
0xc0, 0x0, 0x33, 0x3, 0xf0, 0xff, 0xff, 0xf, 0xfc, 0xff, 0xff, 0x3f, 0x3f, 0xff, 0x3f, 0xff, 0xf, 0xfc,
0xf, 0xfc, 0x3f, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x0, 0x0, 0x3c, 0x3c, 0x0, 0x0, 0x3c,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
};
unsigned char Bmp6[]=
{
/*------------------------------------------------------------------------------
; Width X height (pixels): 16X16
;love
------------------------------------------------------------------------------*/
0x0, 0x0, 0x0, 0x0, 0xc0, 0x3, 0xc0, 0x3, 0x30, 0xc, 0x30, 0xc, 0xc, 0x30, 0xc, 0x30, 0x3, 0xc0, 0x3,
0xc0, 0x3, 0x0, 0x0, 0xc0, 0x3, 0x0, 0x0, 0xc0, 0x3, 0x0, 0x0, 0xc0, 0xc, 0x0, 0x0, 0x30, 0x30, 0x0,
0x0, 0xc, 0xc0, 0x0, 0x0, 0x3, 0x0, 0x3, 0xc0, 0x0, 0x0, 0xc, 0x30, 0x0, 0x0, 0x30, 0xc, 0x0, 0x0,
0xc0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0
};
void shiftOut(unsigned char dataOut)
{
boolean pinState;
digitalWrite(dataPin,LOW);
digitalWrite(clockPin,LOW);
for(int i=0;i<=7;i++)
{
digitalWrite(clockPin,LOW);
// if(dataOut & (0x80>>i)){
if(dataOut & (0x01<<i)){
pinState=HIGH;
}
else{
pinState=LOW;
}
digitalWrite(dataPin,pinState);
digitalWrite(clockPin,HIGH);
digitalWrite(dataPin, LOW);
}
digitalWrite(clockPin, LOW);
}
//Combine 2 bits/pixel to 1 bits/pixel
unsigned char Combine_2BitsTo1Bit(unsigned char num,unsigned char *BMP)
{
unsigned char Col_num_tem_1;
unsigned char Col_num_tem_2;
unsigned int Col_num_tem = 0;
unsigned char i=0;
unsigned char Col_num_1bit = 0x00;
Col_num_tem_1 = *(BMP+num);
Col_num_tem_2 = *(BMP+num+1);
Col_num_tem = Col_num_tem_1;
Col_num_tem |= (Col_num_tem_2 << 8);
for(i=0;i<8;i++)
{
if(Col_num_tem&(0x0003<<i*2)) Col_num_1bit |= (0x01<<i);
}
return ~Col_num_1bit;
}
//display one picture
void display_martix(unsigned char *BMP)
{
//Display count
unsigned int dis_cnt=256;
unsigned int i;
unsigned int num_x;
for(i=0;i<dis_cnt*16;i++)
{
for(num_x=0;num_x<(COL_PIXEL/16);num_x++)
// for(num_x=0;num_x<4;num_x++)
{
ROW_num = ROW_code[COL_xPixel];
shiftOut(ROW_num>>8);
shiftOut(ROW_num);
// Single color,1 bits/pixel
// Col_num_l=~Bmp1[2*num_x + (COL_PIXEL/8)*COL_xPixel];
//Col_num_h=~Bmp1[2*num_x + (COL_PIXEL/8)*COL_xPixel+1];
//Single color,2 bits/pixel
Col_num_l = Combine_2BitsTo1Bit(4*num_x+(COL_PIXEL/8)*COL_xPixel*2,BMP);
Col_num_h = Combine_2BitsTo1Bit(4*num_x+(COL_PIXEL/8)*COL_xPixel*2+2,BMP);
//Col_num_l = Combine_2BitsTo1Bit(4*num_x+(8)*COL_xPixel*2,BMP);
//Col_num_h = Combine_2BitsTo1Bit((4*num_x+COL_PIXEL/8)*COL_xPixel*2+2,BMP);
shiftOut(Col_num_l);
shiftOut(Col_num_h);
}
if(COL_xPixel==15) COL_xPixel=0; else COL_xPixel++;
digitalWrite(latchPin, LOW);
digitalWrite(latchPin, HIGH);
}
}
void setup()
{
pinMode(latchPin,OUTPUT);
pinMode(clockPin,OUTPUT);
pinMode(dataPin,OUTPUT);
}
void loop()
{
display_martix(Bmp1);
display_martix(Bmp2);
display_martix(Bmp3);
display_martix(Bmp4);
display_martix(Bmp5);
display_martix(Bmp6);
}