Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.66 KB | None | 0 0
  1. /*
  2. 8x8 LED Matrix MAX7219 Scrolling Text Example
  3.  
  4. Based on the following library:
  5. GitHub | riyas-org/max7219 https://github.com/riyas-org/max7219
  6. */
  7.  
  8.  
  9. #include <MaxMatrix.h>
  10. #include <avr/pgmspace.h>
  11.  
  12. PROGMEM const unsigned char CH[] = {
  13. 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // space
  14. 1, 8, B01011111, B00000000, B00000000, B00000000, B00000000, // !
  15. 3, 8, B00000011, B00000000, B00000011, B00000000, B00000000, // "
  16. 5, 8, B00010100, B00111110, B00010100, B00111110, B00010100, // #
  17. 4, 8, B00100100, B01101010, B00101011, B00010010, B00000000, // $
  18. 5, 8, B01100011, B00010011, B00001000, B01100100, B01100011, // %
  19. 5, 8, B00110110, B01001001, B01010110, B00100000, B01010000, // &
  20. 1, 8, B00000011, B00000000, B00000000, B00000000, B00000000, // '
  21. 3, 8, B00011100, B00100010, B01000001, B00000000, B00000000, // (
  22. 3, 8, B01000001, B00100010, B00011100, B00000000, B00000000, // )
  23. 5, 8, B00101000, B00011000, B00001110, B00011000, B00101000, // *
  24. 5, 8, B00001000, B00001000, B00111110, B00001000, B00001000, // +
  25. 2, 8, B10110000, B01110000, B00000000, B00000000, B00000000, // ,
  26. 4, 8, B00001000, B00001000, B00001000, B00001000, B00000000, // -
  27. 2, 8, B01100000, B01100000, B00000000, B00000000, B00000000, // .
  28. 4, 8, B01100000, B00011000, B00000110, B00000001, B00000000, // /
  29. 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // 0
  30. 3, 8, B01000010, B01111111, B01000000, B00000000, B00000000, // 1
  31. 4, 8, B01100010, B01010001, B01001001, B01000110, B00000000, // 2
  32. 4, 8, B00100010, B01000001, B01001001, B00110110, B00000000, // 3
  33. 4, 8, B00011000, B00010100, B00010010, B01111111, B00000000, // 4
  34. 4, 8, B00100111, B01000101, B01000101, B00111001, B00000000, // 5
  35. 4, 8, B00111110, B01001001, B01001001, B00110000, B00000000, // 6
  36. 4, 8, B01100001, B00010001, B00001001, B00000111, B00000000, // 7
  37. 4, 8, B00110110, B01001001, B01001001, B00110110, B00000000, // 8
  38. 4, 8, B00000110, B01001001, B01001001, B00111110, B00000000, // 9
  39. 2, 8, B01010000, B00000000, B00000000, B00000000, B00000000, // :
  40. 2, 8, B10000000, B01010000, B00000000, B00000000, B00000000, // ;
  41. 3, 8, B00010000, B00101000, B01000100, B00000000, B00000000, // <
  42. 3, 8, B00010100, B00010100, B00010100, B00000000, B00000000, // =
  43. 3, 8, B01000100, B00101000, B00010000, B00000000, B00000000, // >
  44. 4, 8, B00000010, B01011001, B00001001, B00000110, B00000000, // ?
  45. 5, 8, B00111110, B01001001, B01010101, B01011101, B00001110, // @
  46. 4, 8, B01111110, B00010001, B00010001, B01111110, B00000000, // A
  47. 4, 8, B01111111, B01001001, B01001001, B00110110, B00000000, // B
  48. 4, 8, B00111110, B01000001, B01000001, B00100010, B00000000, // C
  49. 4, 8, B01111111, B01000001, B01000001, B00111110, B00000000, // D
  50. 4, 8, B01111111, B01001001, B01001001, B01000001, B00000000, // E
  51. 4, 8, B01111111, B00001001, B00001001, B00000001, B00000000, // F
  52. 4, 8, B00111110, B01000001, B01001001, B01111010, B00000000, // G
  53. 4, 8, B01111111, B00001000, B00001000, B01111111, B00000000, // H
  54. 3, 8, B01000001, B01111111, B01000001, B00000000, B00000000, // I
  55. 4, 8, B00110000, B01000000, B01000001, B00111111, B00000000, // J
  56. 4, 8, B01111111, B00001000, B00010100, B01100011, B00000000, // K
  57. 4, 8, B01111111, B01000000, B01000000, B01000000, B00000000, // L
  58. 5, 8, B01111111, B00000010, B00001100, B00000010, B01111111, // M
  59. 5, 8, B01111111, B00000100, B00001000, B00010000, B01111111, // N
  60. 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // O
  61. 4, 8, B01111111, B00001001, B00001001, B00000110, B00000000, // P
  62. 4, 8, B00111110, B01000001, B01000001, B10111110, B00000000, // Q
  63. 4, 8, B01111111, B00001001, B00001001, B01110110, B00000000, // R
  64. 4, 8, B01000110, B01001001, B01001001, B00110010, B00000000, // S
  65. 5, 8, B00000001, B00000001, B01111111, B00000001, B00000001, // T
  66. 4, 8, B00111111, B01000000, B01000000, B00111111, B00000000, // U
  67. 5, 8, B00001111, B00110000, B01000000, B00110000, B00001111, // V
  68. 5, 8, B00111111, B01000000, B00111000, B01000000, B00111111, // W
  69. 5, 8, B01100011, B00010100, B00001000, B00010100, B01100011, // X
  70. 5, 8, B00000111, B00001000, B01110000, B00001000, B00000111, // Y
  71. 4, 8, B01100001, B01010001, B01001001, B01000111, B00000000, // Z
  72. 2, 8, B01111111, B01000001, B00000000, B00000000, B00000000, // [
  73. 4, 8, B00000001, B00000110, B00011000, B01100000, B00000000, // \ backslash
  74. 2, 8, B01000001, B01111111, B00000000, B00000000, B00000000, // ]
  75. 3, 8, B00000010, B00000001, B00000010, B00000000, B00000000, // hat
  76. 4, 8, B01000000, B01000000, B01000000, B01000000, B00000000, // _
  77. 2, 8, B00000001, B00000010, B00000000, B00000000, B00000000, // `
  78. 4, 8, B00100000, B01010100, B01010100, B01111000, B00000000, // a
  79. 4, 8, B01111111, B01000100, B01000100, B00111000, B00000000, // b
  80. 4, 8, B00111000, B01000100, B01000100, B00101000, B00000000, // c
  81. 4, 8, B00111000, B01000100, B01000100, B01111111, B00000000, // d
  82. 4, 8, B00111000, B01010100, B01010100, B00011000, B00000000, // e
  83. 3, 8, B00000100, B01111110, B00000101, B00000000, B00000000, // f
  84. 4, 8, B10011000, B10100100, B10100100, B01111000, B00000000, // g
  85. 4, 8, B01111111, B00000100, B00000100, B01111000, B00000000, // h
  86. 3, 8, B01000100, B01111101, B01000000, B00000000, B00000000, // i
  87. 4, 8, B01000000, B10000000, B10000100, B01111101, B00000000, // j
  88. 4, 8, B01111111, B00010000, B00101000, B01000100, B00000000, // k
  89. 3, 8, B01000001, B01111111, B01000000, B00000000, B00000000, // l
  90. 5, 8, B01111100, B00000100, B01111100, B00000100, B01111000, // m
  91. 4, 8, B01111100, B00000100, B00000100, B01111000, B00000000, // n
  92. 4, 8, B00111000, B01000100, B01000100, B00111000, B00000000, // o
  93. 4, 8, B11111100, B00100100, B00100100, B00011000, B00000000, // p
  94. 4, 8, B00011000, B00100100, B00100100, B11111100, B00000000, // q
  95. 4, 8, B01111100, B00001000, B00000100, B00000100, B00000000, // r
  96. 4, 8, B01001000, B01010100, B01010100, B00100100, B00000000, // s
  97. 3, 8, B00000100, B00111111, B01000100, B00000000, B00000000, // t
  98. 4, 8, B00111100, B01000000, B01000000, B01111100, B00000000, // u
  99. 5, 8, B00011100, B00100000, B01000000, B00100000, B00011100, // v
  100. 5, 8, B00111100, B01000000, B00111100, B01000000, B00111100, // w
  101. 5, 8, B01000100, B00101000, B00010000, B00101000, B01000100, // x
  102. 4, 8, B10011100, B10100000, B10100000, B01111100, B00000000, // y
  103. 3, 8, B01100100, B01010100, B01001100, B00000000, B00000000, // z
  104. 3, 8, B00001000, B00110110, B01000001, B00000000, B00000000, // {
  105. 1, 8, B01111111, B00000000, B00000000, B00000000, B00000000, // |
  106. 3, 8, B01000001, B00110110, B00001000, B00000000, B00000000, // }
  107. 4, 8, B00001000, B00000100, B00001000, B00000100, B00000000, // ~
  108. };
  109.  
  110. int DIN = 7; // DIN pin of MAX7219 module
  111. int CLK = 6; // CLK pin of MAX7219 module
  112. int CS = 5; // CS pin of MAX7219 module
  113. int maxInUse = 2;
  114.  
  115. MaxMatrix m(DIN, CS, CLK, maxInUse);
  116.  
  117. byte buffer[10];
  118.  
  119. char text[]= "HowToMechatronics.com "; // Scrolling text
  120.  
  121. void setup() {
  122. m.init(); // module initialize
  123. m.setIntensity(15); // dot matix intensity 0-15
  124. }
  125.  
  126. void loop() {
  127.  
  128. printStringWithShift(text, 100); // (text, scrolling speed)
  129.  
  130. }
  131. // Display=the extracted characters with scrolling
  132. void printCharWithShift(char c, int shift_speed) {
  133. if (c < 32) return;
  134. c -= 32;
  135. memcpy_P(buffer, CH + 7 * c, 7);
  136. m.writeSprite(32, 0, buffer);
  137. m.setColumn(32 + buffer[0], 0);
  138.  
  139. for (int i = 0; i < buffer[0] + 1; i++)
  140. {
  141. delay(shift_speed);
  142. m.shiftLeft(false, false);
  143. }
  144. }
  145. // Extract the characters from the text string
  146. void printStringWithShift(char* s, int shift_speed) {
  147. while (*s != 0) {
  148. printCharWithShift(*s, shift_speed);
  149. s++;
  150. }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement