I found an Led matrix claiming to be an SPI device but i cant figure out how to use the serial interface, I have it working, but not very well. Can anyone figure out how to use this?
here is the datasheet http://exdwh.com/LT1450ED.pdf
this is my current code:
void updateDisp(){
for(int x=0;x<16;x++){
for(int y=0;y<16;y++){
row(x);
digitalWrite(red, gridR[x][y]);
digitalWrite(green, gridG[x][y]);
digitalWrite(clock, HIGH);
digitalWrite(clock, LOW);
}
digitalWrite(enable,LOW);
delay(1);
digitalWrite(latch,LOW);
digitalWrite(latch,HIGH);
digitalWrite(enable,HIGH);
}
}
void row(int row){
switch(row){
case (0):digitalWrite(a1, LOW);digitalWrite(a2, LOW);digitalWrite(a3, LOW);digitalWrite(a4, LOW);
break;
case (1):digitalWrite(a1, HIGH);digitalWrite(a2, LOW);digitalWrite(a3, LOW);digitalWrite(a4, LOW);
break;
case (2):digitalWrite(a1, LOW);digitalWrite(a2, HIGH);digitalWrite(a3, LOW);digitalWrite(a4, LOW);
break;
case (3):digitalWrite(a1, HIGH);digitalWrite(a2, HIGH);digitalWrite(a3, LOW);digitalWrite(a4, LOW);
break;
case (4):digitalWrite(a1, LOW);digitalWrite(a2, LOW);digitalWrite(a3, HIGH);digitalWrite(a4, LOW);
break;
case (5):digitalWrite(a1, HIGH);digitalWrite(a2, LOW);digitalWrite(a3, HIGH);digitalWrite(a4, LOW);
break;
case (6):digitalWrite(a1, LOW);digitalWrite(a2, HIGH);digitalWrite(a3, HIGH);digitalWrite(a4, LOW);
break;
case (7):digitalWrite(a1, HIGH);digitalWrite(a2, HIGH);digitalWrite(a3, HIGH);digitalWrite(a4, LOW);
break;
case (8):digitalWrite(a1, LOW);digitalWrite(a2, LOW);digitalWrite(a3, LOW);digitalWrite(a4, HIGH);
break;
case (9):digitalWrite(a1, HIGH);digitalWrite(a2, LOW);digitalWrite(a3, LOW);digitalWrite(a4, HIGH);
break;
case (10):digitalWrite(a1, LOW);digitalWrite(a2, HIGH);digitalWrite(a3, LOW);digitalWrite(a4, HIGH);
break;
case (11):digitalWrite(a1, HIGH);digitalWrite(a2, HIGH);digitalWrite(a3, LOW);digitalWrite(a4, HIGH);
break;
case (12):digitalWrite(a1, LOW);digitalWrite(a2, LOW);digitalWrite(a3, HIGH);digitalWrite(a4, HIGH);
break;
case (13):digitalWrite(a1, HIGH);digitalWrite(a2, LOW);digitalWrite(a3, HIGH);digitalWrite(a4, HIGH);
break;
case (14):digitalWrite(a1, LOW);digitalWrite(a2, HIGH);digitalWrite(a3, HIGH);digitalWrite(a4, HIGH);
break;
case (15):digitalWrite(a1, HIGH);digitalWrite(a2, HIGH);digitalWrite(a3, HIGH);digitalWrite(a4, HIGH);
break;
}
}