#include <SPI.h>
#define CS 22
#define Enable LOW
#define Disable HIGH
byte cara1[]= {0x3c, 0x42,0xa9,0x85,0x85,0xa9,0x42,0x3c};
byte cara2[]= {0x3c, 0x42,0x89,0x85,0x89,0x85,0x42,0x3c};
byte letraB[] = {
0x78,
0x48,
0x48,
0x70,
0x48,
0x48,
0x78,
0x00
};
byte letraA[] = {
0x18,
0x24,
0x42,
0x7E,
0x42,
0x42,
0x42,
0x00
};
byte config[]= {0x00,0x07,0x07,0x01};
SPISettings MySettings(200000, MSBFIRST, SPI_MODE0);
void funcSPI(byte dir, byte dat){
digitalWrite(CS,Enable);
SPI.transfer(dir);
SPI.transfer(dat);
digitalWrite(CS,Disable);
}
void setup(){
pinMode(CS, OUTPUT);
digitalWrite(CS,Disable);
SPI.begin();
SPI.beginTransaction(MySettings);
//conf del max
for(byte i=0x09; i<= 0x0c; i++){
funcSPI(i,config[i-9]);
}
//prueba displays
funcSPI (0X0F,0X01);
delay(1000);
funcSPI(0X0F,0X00);
}
void loop (){
byte conf_dat ;
//mostrar datos del display
for (byte i=0; i<=7 ; i++){
funcSPI(i++,cara2[i]);
}
delay(1000);
for (byte i=0; i<=7 ; i++){
funcSPI(i++,cara1[i]);
}
delay(1000);
for (byte i=0; i<=7 ; i++){
funcSPI(i++,letraA[i]);
}
delay(1000);
for (byte i=0; i<=7 ; i++){
funcSPI(i++,letraB[i]);
}
delay(1000);
}