int PIN_SCE = 4 ; //SS int PIN_RESET = 3; int PIN_DC = 5; // data int PIN_SDIN = 6 ; //MOSI SIMO int PIN_SCLK =7 ; //CLK SCLK #define PIN_LCD 9 // backlight #define LCD_C LOW //command #define LCD_D HIGH //data high command low. #define LCD_X 84 ///character area // #define LCD_Y 48 //consists of banks of 7 by eight pixels.// #define LCD_DATA 1 int cycle=0; const unsigned char splash[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xC0, 0x01, 0x01, 0x01, 0xC1, 0xE1, 0xC1, 0x01, 0xC1, 0xE1, 0x41, 0x01, 0x03, 0x03, 0x03, 0x03, 0xE3, 0xE3, 0x03, 0x03, 0x03, 0x03, 0x07,0xC7, 0xE7, 0xC7, 0x07, 0x07, 0x07, 0xE7, 0xC7, 0xC7, 0x0F, 0xCF, 0xCF, 0x0F, 0x0F, 0x8F, 0xCF, 0xEF, 0xEF, 0xCF, 0x0F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1E, 0x3E, 0x3E,0x3E, 0x3E, 0x3E, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFE, 0xFF, 0x1F, 0xC0, 0xE0, 0xFC, 0xFF, 0xFF, 0xFF, 0x00, 0x00,0xF0, 0xFF, 0x7F, 0xFF, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x1F, 0x00, 0x00, 0xC0, 0xF0, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xF8, 0xFF, 0x7F, 0xFF, 0xFC, 0xFF, 0x1F,0x00, 0xFC, 0xFF, 0x0F, 0xE1, 0xE7, 0xE7, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x0F, 0x00, 0x3F, 0x3F, 0x07, 0x03, 0x3F, 0x3F, 0x00, 0x10, 0x3F, 0x1F, 0x00, 0x1F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E,0x3F, 0x3F, 0x3C, 0x3C, 0x08, 0x3F, 0x3F, 0x03, 0x03, 0x3F, 0x3F, 0x00, 0x3E, 0x3F, 0x0F, 0x00, 0x1F, 0x3F, 0x0F, 0x00, 0x00, 0x1F, 0x3F, 0x3C, 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0xF0,0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0x00, 0xC0, 0xE0, 0xF0, 0xF0, 0xE0, 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xF0, 0xE0, 0xF0,0x00, 0x00, 0xE0, 0xF0, 0xE0, 0x00, 0xE0, 0xF0, 0x60, 0x00, 0xC0, 0xF0, 0xF0, 0x00, 0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x7F, 0x78, 0x78, 0x00, 0xC0, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x7E, 0x78, 0x38, 0x00, 0xFE, 0xFF, 0x0F, 0xC0, 0xC3, 0x03, 0x00,0x00, 0xF8, 0xFF, 0x1F, 0x00, 0x00, 0xF9, 0xFF, 0xFE, 0xF0, 0x7F, 0x1F, 0x00, 0xF8, 0xFF, 0xFF, 0x01, 0xE0, 0xFF, 0x7F, 0x00, 0xF0, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xE0, 0xFF, 0xFF,0x03, 0x00, 0xFF, 0xFF, 0x03, 0xC3, 0xC3, 0x01, 0x80, 0x8F, 0xFF, 0xFD, 0xE1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xFE, 0xFE, 0xE4, 0xE0,0xE7, 0xFF, 0xDF, 0xDE, 0xDE, 0xC0, 0xCF, 0xDF, 0xDE, 0xDE, 0xDE, 0xC0, 0x80, 0x8F, 0x9F, 0x9F, 0x8F, 0x83, 0x80, 0x80, 0x8E, 0x9F, 0x0F, 0x00, 0x00, 0x08, 0x1F, 0x1F, 0x03, 0x1F, 0x3F, 0x18,0x00, 0x03, 0x0F, 0x1F, 0x1F, 0x0F, 0x03, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x07, 0x1F, 0x1F, 0x00, 0x00, 0x1F, 0x1F, 0x03, 0x00, 0x00, 0x0F, 0x1F, 0x1F, 0x0F, 0x01, 0x00, 0x1F, 0x1F, 0x1F, 0x0F,0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; const unsigned char nokia [] = { 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00,0x00, 0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0x60, 0x20, 0x00, 0x40, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x3F, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x03,0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF, 0xDF, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF,0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFF, 0xFF, 0x7F, 0x1F, 0x07, 0x1F, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00,0x00, 0x01, 0x07, 0x1F, 0x7F, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFF, 0xFF, 0x7F, 0x1F, 0x00,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x03, 0x07, 0x1F, 0x3F, 0x7F, 0xFE, 0xFC, 0xF8, 0xF0, 0xC0, 0x80, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xE0, 0xFC, 0xFF, 0xFF, 0x7F, 0x1F, 0x1F, 0x1F,0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0xFF, 0xDF, 0x00, 0x00, 0xF0, 0xFE, 0x06, 0x06, 0xFE, 0x70, 0xFE, 0xFE, 0x06, 0x06, 0xFE, 0x00, 0xFE, 0x1E, 0x02, 0x86, 0xFC, 0x00, 0xFC, 0x66, 0x62, 0x7E, 0x38, 0xF8, 0xFE, 0x06, 0x02,0x02, 0xFF, 0xFF, 0x02, 0x02, 0xFE, 0x00, 0x00, 0xFE, 0x06, 0x06, 0xFE, 0x00, 0xF8, 0xDE, 0x02, 0x06, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x60, 0x60, 0x3F, 0x00, 0xFC, 0x66, 0x62, 0x7E, 0x38,0xF8, 0xFE, 0x02, 0x06, 0xFC, 0x00, 0xFE, 0xFE, 0x02, 0x06, 0xFC, 0x00, 0xFF, 0x80, 0xF0, 0xFE, 0x62, 0x66, 0x7C, 0x00, 0x00, 0x01, 0x07, 0x0C, 0x0C, 0x04, 0x07, 0x0C, 0x0C, 0x07, 0x00, 0x07,0x07, 0x00, 0x00, 0x07, 0x00, 0x07, 0x07, 0x00, 0x01, 0x07, 0x00, 0x07, 0x06, 0x0C, 0x0C, 0x00, 0x01, 0x07, 0x0C, 0x0C, 0x00, 0x03, 0x0F, 0x0C, 0x04, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07,0x00, 0x03, 0x27, 0x2C, 0x2E, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0E, 0x0C, 0x0C, 0x00, 0x01, 0x07, 0x0C, 0x0E, 0x07, 0x00, 0x3F, 0x1F, 0x0C, 0x06, 0x03, 0x00,0x07, 0x00, 0x00, 0x07, 0x0C, 0x0C, 0x04, 0x00, }; const unsigned char arduinox [] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, 0xF0, 0xF0,0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xF0, 0xF0, 0xE0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0,0xE0, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0x7F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,0x03, 0x03, 0x07, 0x0F, 0x0F, 0x3F, 0x7F, 0xFF, 0xFE, 0xFC, 0xF8, 0xF0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0x00,0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0F, 0x1F, 0x7F, 0xFF, 0xFF, 0xFE, 0xFC, 0xF0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xE0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x0F, 0x7F, 0x7F, 0x7F, 0x0E, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xFF, 0xFF, 0xFF,0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0xFE, 0xFC, 0xF8, 0xF8, 0xF8, 0xF0,0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFE, 0x7F, 0x7F, 0x3F, 0x1F, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0xFE, 0xFC, 0xFC,0xF8, 0xF8, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xFC, 0xFE, 0x7F, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xC1, 0xC1, 0xC1, 0x41, 0xC1, 0xC1, 0xC1, 0x01, 0x01, 0x01, 0xC1, 0xC0, 0x40, 0xC0, 0xC0,0xC0, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC1, 0x01, 0x01, 0xC1, 0xC1, 0xC1, 0x81, 0x01, 0x01, 0xC1, 0xC1, 0x00,0x00, 0x80, 0xC0, 0xC0, 0x40, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7C, 0x3F, 0x1B, 0x19,0x1F, 0x7E, 0x70, 0x00, 0x00, 0x3F, 0x7F, 0x0C, 0x0C, 0x1C, 0x7F, 0x77, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x60, 0x60, 0x30, 0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F, 0x7F, 0x60, 0x60, 0x7F, 0x3F, 0x1F,0x00, 0x00, 0x60, 0x60, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x00, 0x00, 0x3F, 0x7F, 0x03, 0x07, 0x0E, 0x3C, 0x7F, 0x7F, 0x00, 0x00, 0x1F, 0x3F, 0x70, 0x60, 0x60, 0x3F, 0x3F, 0x0F, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; void posmarker(){ LcdWrite( 0, 0x80 | 0); // Column. LcdWrite( 0, 0x40 |0);} // Row void LcdClear(void){ for (int index = 0; index < 540; index++) { LcdWrite(LCD_D, 0x00);}} void LcdWrite(byte dc, byte data) { digitalWrite(PIN_DC, dc); digitalWrite(PIN_SCE, LOW); shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, data); digitalWrite(PIN_SCE, HIGH);} void initialise(){ pinMode(PIN_SCE, OUTPUT); pinMode(PIN_RESET, OUTPUT); pinMode(PIN_DC, OUTPUT); pinMode(PIN_SDIN, OUTPUT); pinMode(PIN_SCLK, OUTPUT); digitalWrite(PIN_RESET, LOW); digitalWrite(PIN_RESET, HIGH); LcdWrite(0, 0x21); //Tell LCD that extended commands follow LcdWrite(0, 0x94); //Set LCD Vop (Contrast): Try 0xB1(good @ 3.3V) or 0xBF if your display is too dark LcdWrite(0, 0x04); //Set Temp coefficent LcdWrite(0, 0x14); //LCD bias mode 1:48: Try 0x13 or 0x14 LcdWrite(0, 0x20); //We must send 0x20 before modifying the display control mode LcdWrite(0, 0x0C); //Set display control, normal mode. 0x0D for inverse } void setup(){ pinMode(PIN_LCD, OUTPUT); digitalWrite(PIN_LCD, HIGH); analogWrite(PIN_LCD, 200); initialise(); LcdClear(); posmarker(); } void loop(){ cycle++;if(cycle==5){cycle=1;} posmarker(); if (cycle==1){for (int index3 = 0 ; index3 < (504) ; index3++){ digitalWrite(PIN_DC,1); digitalWrite(PIN_SCE, LOW); shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST,splash[index3]); digitalWrite(PIN_SCE, HIGH);} delay(2000);posmarker();} if (cycle==2){for (int index3 = 0 ; index3 < (504) ; index3++){ digitalWrite(PIN_DC,1); digitalWrite(PIN_SCE, LOW); shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST,nokia[index3]); digitalWrite(PIN_SCE, HIGH);} delay(2000);posmarker();} if (cycle==3){for (int index3 = 0 ; index3 < (504) ; index3++){ digitalWrite(PIN_DC,1); digitalWrite(PIN_SCE, LOW); shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST,arduinox[index3]); digitalWrite(PIN_SCE, HIGH);} delay(3000);posmarker();} delay(2000); if (cycle==4){LcdWrite(0, 0x20); LcdWrite(0, 0x0D); for (int index3 = 0 ; index3 < (504) ; index3++){ digitalWrite(PIN_DC,1); digitalWrite(PIN_SCE, LOW); shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST,arduinox[index3]); digitalWrite(PIN_SCE, HIGH);} delay(3000);posmarker();} delay(2000); for (int index = 0; index < 540; index++) { LcdWrite(LCD_D, 0xFF);delay(1);} ;posmarker(); for (int index = 0; index < 540; index++) { LcdWrite(LCD_D, 0x00);delay(5);} LcdWrite(0, 0x20); LcdWrite(0, 0x0C); }