hendriawan

matrix max7219 v2

Feb 5th, 2019
573
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //We always have to include the library
  2. #include "LedControl.h"
  3.  
  4. /*
  5.   Now we need a LedControl to work with.
  6.  ***** These pin numbers will probably not work with your hardware *****
  7.   pin 12 is connected to the DataIn
  8.   pin 11 is connected to the CLK
  9.   pin 10 is connected to LOAD
  10.   We have only a single MAX72XX.
  11. */
  12. LedControl lc = LedControl(12, 11, 10, 1);
  13. byte LEFT[] = { B00011000, B00110000, B01100000, B11011111, B11011111, B01100000, B00110000, B00011000};
  14. byte RIGHT[] = { B00011000, B00001100, B00000110, B11111011, B11111011, B00000110, B00001100, B00011000};
  15. byte UP[] = { B00011000, B00111100, B01100110, B11011011, B10011001, B00011000, B00011000, B00011000};
  16. byte DIAMOND[] = { B00011000, B00111100, B01111110, B11111111, B11111111, B01111110, B00111100, B00011000};
  17. byte SQUARE[] = { B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111};
  18. byte SQUARE1[] = { B00100100, B01000010, B10000001, B00000000, B00000000, B10000001, B01000010, B00100100};
  19. byte SQUARE2[] = { B00000000, B00100100, B01100110, B00000000, B00000000, B01100110, B00100100, B00000000};
  20. byte SQUARE3[] = { B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};
  21. /* we always wait a bit between updates of the display */
  22. unsigned long delaytime = 1000;
  23.  
  24. void setup() {
  25.   /*
  26.     The MAX72XX is in power-saving mode on startup,
  27.     we have to do a wakeup call
  28.   */
  29.   lc.shutdown(0, false);
  30.   /* Set the brightness to a medium values */
  31.   lc.setIntensity(0, 8);
  32.   /* and clear the display */
  33.   lc.clearDisplay(0);
  34. }
  35. void matrixLEFT(void) {
  36.   for (int i = 0; i < 8; i++) {
  37.     lc.setRow(0, i, LEFT[i]);
  38.   }
  39. }
  40.  
  41. void matrixRIGHT(void) {
  42.   for (int i = 0; i < 8; i++) {
  43.     lc.setRow(0, i, RIGHT[i]);
  44.   }
  45. }
  46.  
  47. void matrixUP(void) {
  48.   for (int i = 0; i < 8; i++) {
  49.     lc.setRow(0, i, UP[i]);
  50.   }
  51. }
  52.  
  53. void matrixDIAMOND(void) {
  54.   for (int i = 0; i < 8; i++) {
  55.     lc.setRow(0, i, DIAMOND[i]);
  56.   }
  57. }
  58.  
  59. void matrixSQUARE(void) {
  60.   for (int i = 0; i < 8; i++) {
  61.     lc.setRow(0, i, SQUARE[i]);
  62.   }
  63. }
  64.  
  65. void matrixSQUARE1(void) {
  66.   for (int i = 0; i < 8; i++) {
  67.     lc.setRow(0, i, SQUARE1[i]);
  68.   }
  69. }
  70. void matrixSQUARE2(void) {
  71.   for (int i = 0; i < 8; i++) {
  72.     lc.setRow(0, i, SQUARE2[i]);
  73.   }
  74. }
  75. void matrixSQUARE3(void) {
  76.   for (int i = 0; i < 8; i++) {
  77.     lc.setRow(0, i, SQUARE3[i]);
  78.   }
  79. }
  80.  
  81. void loop() {
  82.  
  83.   matrixLEFT();
  84.   delay(delaytime);
  85.   matrixRIGHT();
  86.   delay(delaytime);
  87.   matrixUP();
  88.   delay(delaytime);
  89.   matrixDIAMOND();
  90.   delay(delaytime);
  91.   matrixSQUARE();
  92.   delay(delaytime);
  93.   matrixSQUARE1();
  94.   delay(delaytime);
  95.   matrixSQUARE2();
  96.   delay(delaytime);
  97.   matrixSQUARE3();
  98.  
  99.   lc.clearDisplay(0);
  100.   delay(delaytime);
  101. }
Add Comment
Please, Sign In to add comment