hendriawan

matrix max7219 v1

Feb 5th, 2019
582
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.  
  36.  
  37.  
  38. void loop() {
  39.   lc.setRow(0, 0, LEFT[0]);
  40.   lc.setRow(0, 1, LEFT[1]);
  41.   lc.setRow(0, 2, LEFT[2]);
  42.   lc.setRow(0, 3, LEFT[3]);
  43.   lc.setRow(0, 4, LEFT[4]);
  44.   lc.setRow(0, 5, LEFT[5]);
  45.   lc.setRow(0, 6, LEFT[6]);
  46.   lc.setRow(0, 7, LEFT[7]);
  47.   delay(delaytime);
  48.  
  49.   lc.setRow(0, 0, RIGHT[0]);
  50.   lc.setRow(0, 1, RIGHT[1]);
  51.   lc.setRow(0, 2, RIGHT[2]);
  52.   lc.setRow(0, 3, RIGHT[3]);
  53.   lc.setRow(0, 4, RIGHT[4]);
  54.   lc.setRow(0, 5, RIGHT[5]);
  55.   lc.setRow(0, 6, RIGHT[6]);
  56.   lc.setRow(0, 7, RIGHT[7]);
  57.   delay(delaytime);
  58.  
  59.   lc.setRow(0, 0, UP[0]);
  60.   lc.setRow(0, 1, UP[1]);
  61.   lc.setRow(0, 2, UP[2]);
  62.   lc.setRow(0, 3, UP[3]);
  63.   lc.setRow(0, 4, UP[4]);
  64.   lc.setRow(0, 5, UP[5]);
  65.   lc.setRow(0, 6, UP[6]);
  66.   lc.setRow(0, 7, UP[7]);
  67.   delay(delaytime);
  68.  
  69.   lc.setRow(0, 0, DIAMOND[0]);
  70.   lc.setRow(0, 1, DIAMOND[1]);
  71.   lc.setRow(0, 2, DIAMOND[2]);
  72.   lc.setRow(0, 3, DIAMOND[3]);
  73.   lc.setRow(0, 4, DIAMOND[4]);
  74.   lc.setRow(0, 5, DIAMOND[5]);
  75.   lc.setRow(0, 6, DIAMOND[6]);
  76.   lc.setRow(0, 7, DIAMOND[7]);
  77.   delay(delaytime);
  78.  
  79.   lc.setRow(0, 0, SQUARE[0]);
  80.   lc.setRow(0, 1, SQUARE[1]);
  81.   lc.setRow(0, 2, SQUARE[2]);
  82.   lc.setRow(0, 3, SQUARE[3]);
  83.   lc.setRow(0, 4, SQUARE[4]);
  84.   lc.setRow(0, 5, SQUARE[5]);
  85.   lc.setRow(0, 6, SQUARE[6]);
  86.   lc.setRow(0, 7, SQUARE[7]);
  87.   delay(delaytime);
  88.  
  89.   lc.setRow(0, 0, SQUARE1[0]);
  90.   lc.setRow(0, 1, SQUARE1[1]);
  91.   lc.setRow(0, 2, SQUARE1[2]);
  92.   lc.setRow(0, 3, SQUARE1[3]);
  93.   lc.setRow(0, 4, SQUARE1[4]);
  94.   lc.setRow(0, 5, SQUARE1[5]);
  95.   lc.setRow(0, 6, SQUARE1[6]);
  96.   lc.setRow(0, 7, SQUARE1[7]);
  97.   delay(delaytime);
  98.  
  99.   lc.setRow(0, 0, SQUARE2[0]);
  100.   lc.setRow(0, 1, SQUARE2[1]);
  101.   lc.setRow(0, 2, SQUARE2[2]);
  102.   lc.setRow(0, 3, SQUARE2[3]);
  103.   lc.setRow(0, 4, SQUARE2[4]);
  104.   lc.setRow(0, 5, SQUARE2[5]);
  105.   lc.setRow(0, 6, SQUARE2[6]);
  106.   lc.setRow(0, 7, SQUARE2[7]);
  107.   delay(delaytime);
  108.  
  109.   lc.setRow(0, 0, SQUARE3[0]);
  110.   lc.setRow(0, 1, SQUARE3[1]);
  111.   lc.setRow(0, 2, SQUARE3[2]);
  112.   lc.setRow(0, 3, SQUARE3[3]);
  113.   lc.setRow(0, 4, SQUARE3[4]);
  114.   lc.setRow(0, 5, SQUARE3[5]);
  115.   lc.setRow(0, 6, SQUARE3[6]);
  116.   lc.setRow(0, 7, SQUARE3[7]);
  117.   delay(delaytime);
  118.  
  119.   lc.clearDisplay(0);
  120.   delay(delaytime);
  121. }
Add Comment
Please, Sign In to add comment