epd1in54_V2.ino 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #include <SPI.h>
  2. #include "epd1in54_V2.h"
  3. #include "imagedata.h"
  4. #include "epdpaint.h"
  5. #include <stdio.h>
  6. Epd epd;
  7. unsigned char image[1024];
  8. Paint paint(image, 0, 0);
  9. unsigned long time_start_ms;
  10. unsigned long time_now_s;
  11. #define COLORED 0
  12. #define UNCOLORED 1
  13. void setup()
  14. {
  15. // put your setup code here, to run once:
  16. Serial.begin(9600);
  17. Serial.println("e-Paper init and clear");
  18. epd.LDirInit();
  19. epd.Clear();
  20. paint.SetWidth(200);
  21. paint.SetHeight(24);
  22. Serial.println("e-Paper paint");
  23. paint.Clear(COLORED);
  24. paint.DrawStringAt(30, 4, "Hello world!", &Font16, UNCOLORED);
  25. epd.SetFrameMemory(paint.GetImage(), 0, 10, paint.GetWidth(), paint.GetHeight());
  26. paint.Clear(UNCOLORED);
  27. paint.DrawStringAt(30, 4, "e-Paper Demo", &Font16, COLORED);
  28. epd.SetFrameMemory(paint.GetImage(), 0, 30, paint.GetWidth(), paint.GetHeight());
  29. paint.SetWidth(64);
  30. paint.SetHeight(64);
  31. paint.Clear(UNCOLORED);
  32. paint.DrawRectangle(0, 0, 40, 50, COLORED);
  33. paint.DrawLine(0, 0, 40, 50, COLORED);
  34. paint.DrawLine(40, 0, 0, 50, COLORED);
  35. epd.SetFrameMemory(paint.GetImage(), 16, 60, paint.GetWidth(), paint.GetHeight());
  36. paint.Clear(UNCOLORED);
  37. paint.DrawCircle(32, 32, 30, COLORED);
  38. epd.SetFrameMemory(paint.GetImage(), 120, 60, paint.GetWidth(), paint.GetHeight());
  39. paint.Clear(UNCOLORED);
  40. paint.DrawFilledRectangle(0, 0, 40, 50, COLORED);
  41. epd.SetFrameMemory(paint.GetImage(), 16, 130, paint.GetWidth(), paint.GetHeight());
  42. paint.Clear(UNCOLORED);
  43. paint.DrawFilledCircle(32, 32, 30, COLORED);
  44. epd.SetFrameMemory(paint.GetImage(), 120, 130, paint.GetWidth(), paint.GetHeight());
  45. epd.DisplayFrame();
  46. delay(2000);
  47. Serial.println("e-Paper show pic");
  48. epd.HDirInit();
  49. epd.Display(IMAGE_DATA);
  50. //Part display
  51. epd.HDirInit();
  52. epd.Clear();
  53. epd.DisplayPartBaseWhiteImage();
  54. //paint.SetRotate(90);
  55. paint.SetWidth(200);
  56. paint.SetHeight(20);
  57. paint.Clear(UNCOLORED);
  58. char i = 0;
  59. char str[10][10] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
  60. for (i = 0; i < 10; i++) {
  61. paint.Clear(UNCOLORED);
  62. paint.DrawStringAt(0, 0, str[i], &Font24, COLORED);
  63. epd.SetFrameMemory(paint.GetImage(), 20, 20, paint.GetWidth(), paint.GetHeight());
  64. epd.DisplayPartFrame();
  65. delay(200);
  66. }
  67. Serial.println("e-Paper clear and goto sleep");
  68. epd.HDirInit();
  69. epd.Clear();
  70. epd.Sleep();
  71. }
  72. void loop()
  73. {
  74. }