#include <SPI.h> #include <PC_Epd_154_low_memory.h> void setup() { const char Tsep[] = "\x21\0"; int i; char C; if (EpdInit(4, 5, 6, 7) != 0){ // CS, DC, RST, BUSY pins return -1; } // Example 1 : clear displya EpdSessionClearDisplay(); // effacement total de l'écran et refresh delay(5000); // Example 2 : Black and Red EpdSessionStart(BLACK); // Select BLACK bank EpdSessionGoToLineAbs(100,COLORED); // The top of the display in BLACK EpdSessionStart(RED); // Select RED bank EpdSessionGoToLineAbs(100,UNCOLORED); EpdSessionFill(COLORED); // The bottom of the display in RED EpdSessionClose(); // Refresh delay(5000); // Example 3 : White and Red EpdSessionStart(BLACK); // Select BLACK bank EpdSessionGoToLineAbs(100,UNCOLORED); // The top of the display in WHITE. The bottom of the display stays in RED EpdSessionClose(); delay(5000); // Example 4 : checkerboard Black and White EpdSessionStart(BLACK); // Select BLACK bank for (i=0; i<10; i++){ EpdSessionWriteString(0,"\x20\x19\x20\x19\x20\x19\x20\x19\x20\x19\x20\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(0,"\x20\x19\x20\x19\x20\x19\x20\x19\x20\x19\x20\0", 20, INVERTED, NOTINVERTED); } EpdSessionStart(RED); EpdSessionFill(UNCOLORED); EpdSessionClose(); delay(5000); // Example 4 : checkerboard. The white Square become red EpdSessionStart(RED); // Select BLACK bank for (i=0; i<9; i++){ EpdSessionWriteString(0,"\x19\x20\x19\x20\x19\x20\x19\x20\x19\x20\x19\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(0,"\x19\x20\x19\x20\x19\x20\x19\x20\x19\x20\x19\0", 20, INVERTED, NOTINVERTED); } EpdSessionClose(); delay(5000); // Example 5 EpdSessionStart(BLACK); // Selection BLACK bank, current position = 0 EpdSessionGoToLineRel(12,COLORED); // goto from current position to current position +12 lines and fill the background in black color EpdSessionWriteString(3, "NORMAL\0", 20, INVERTED, INVERTED); // write a white color string on a black background color. 3 ' ' before the text EpdSessionGoToLineRel(12,COLORED); // goto from current position to current position +12 lines and fill the background in black color EpdSessionGoToLineRel(2,COLORED); // draw two black lines EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); // write Tsep with font 2 EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); // write Tsep with font 2 EpdSessionWriteString(1,"Moy | 201\0", 20, NOTINVERTED, NOTINVERTED); // write "Moy |" with font 20 EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); // etc. EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionGoToLineRel(2,COLORED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(1,"Max | 300\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionGoToLineRel(2,COLORED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(1,"Min | 103\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionGoToLineRel(2,COLORED); EpdSessionGoToLineAbs(150,UNCOLORED); // goto line 150 (absolute) EpdSessionWriteString(1,"\x1D\x1E\x1F\x41\x20\x1A\x1E\x1F\0", 20,NOTINVERTED, NOTINVERTED); EpdSessionGoToLineAbs(175,UNCOLORED); // Goto line 175 (absolute) EpdSessionWriteString(4,"Chour\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionFill(UNCOLORED); // fill the background in white color from the current position to the end of the screen EpdSessionStart(RED); // Select the Red banc EpdSessionGoToLineAbs(175,UNCOLORED); EpdSessionWriteString(0,"(c)\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionFill(UNCOLORED); EpdSessionClose(); delay(5000); // Example 6 EpdSessionStart(BLACK); // Select the Red banc EpdSessionGoToLineRel(12,COLORED); // goto from current position to current position +12 lines and fill the background in black color EpdSessionWriteString(3, "NORMAL\0", 20, INVERTED, INVERTED); // write a white color string on a black background color. 3 ' ' before the text EpdSessionGoToLineRel(12,COLORED); // goto from current position to current position +12 lines and fill the background in black color EpdSessionGoToLineRel(2,COLORED); // draw two black lines EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); // write Tsep with font 2 EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); // write Tsep with font 2 EpdSessionWriteString(1,"Moy | 201\0", 20, NOTINVERTED, NOTINVERTED); // write "Moy |" with font 20 EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); // etc. EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionGoToLineRel(2,COLORED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(1,"Max | 300\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionGoToLineRel(2,COLORED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(1,"Min | 103\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionGoToLineRel(2,COLORED); EpdSessionGoToLineAbs(150,UNCOLORED); // goto line 150 (absolute) EpdSessionWriteString(1,"\x1D\x1E\x1F\0", 20,NOTINVERTED, NOTINVERTED); EpdSessionGoToLineAbs(175,UNCOLORED); // Goto line 175 (absolute) EpdSessionWriteString(4,"Chour\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionFill(UNCOLORED); // fill the background in white color from the current position to the end of the screen EpdSessionStart(RED); // Select the Red banc EpdSessionGoToLineAbs(150,UNCOLORED); EpdSessionWriteString(6,"\x1A\x1B\x1F\0", 20,NOTINVERTED, NOTINVERTED); EpdSessionGoToLineAbs(175,UNCOLORED); EpdSessionWriteString(0,"(c)\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionFill(UNCOLORED); EpdSessionClose(); delay(5000); // Example 7 EpdSessionStart(BLACK); // Select BLACK bank, current position = 0 EpdSessionGoToLineRel(12+EpdSessionGetFontHeight(20)+12,UNCOLORED); // Goto line 24+Height font 20 + 2*Height font 2 => Erase the top of the screen EpdSessionGoToLineRel(2,COLORED); // draw two black lines EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); // write Tsep with font 2 EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); // write Tsep with font 2 EpdSessionWriteString(1,"Moy | 201\0", 20, NOTINVERTED, NOTINVERTED); // write "Moy |" with font 20 EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); // etc. EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionGoToLineRel(2,COLORED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,Tsep, 2, NOTINVERTED, NOTINVERTED); EpdSessionWriteString(5,"|\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionStart(RED); // Select BLACK bank, current position = 0 EpdSessionGoToLineRel(12,COLORED); // goto from current position to current position +12 lines and fill the background in black color EpdSessionWriteString(3,"ALARME\0", 20, INVERTED, INVERTED); // write a white color string on a black background color EpdSessionGoToLineRel(12,COLORED); // goto from current position to current position +12 lines and fill the background in black color EpdSessionGoToLineRel(4+6*EpdSessionGetFontHeight(2)+EpdSessionGetFontHeight(20),UNCOLORED); EpdSessionWriteString(1,"Max | 500\0", 20, NOTINVERTED, NOTINVERTED); EpdSessionClose(); EpdSleep(); } void BlinkLedRX(int n) { while (n) { digitalWrite(17, HIGH); delay(500); digitalWrite(17, LOW); delay(500); n = n-1; } } void BlinkLedTX(int n) { while (n) { TXLED1; delay(500); TXLED0; delay(500); n = n-1; } } void loop() { // put your main code here, to run repeatedly: BlinkLedTX(2); BlinkLedRX(2); }