hendriawan icon

matrix max7219 v1

hendriawan | PRO | 02/05/19 06:46:39 PM UTC | 0 ⭐ | 518 👁️ | Never ⏰ | []
Arduino |

3.72 KB

|

None

|

0 👍

/

0 👎

//We always have to include the library
#include "LedControl.h"
 
/*
  Now we need a LedControl to work with.
 ***** These pin numbers will probably not work with your hardware *****
  pin 12 is connected to the DataIn
  pin 11 is connected to the CLK
  pin 10 is connected to LOAD
  We have only a single MAX72XX.
*/
LedControl lc = LedControl(12, 11, 10, 1);
byte LEFT[] = { B00011000, B00110000, B01100000, B11011111, B11011111, B01100000, B00110000, B00011000};
byte RIGHT[] = { B00011000, B00001100, B00000110, B11111011, B11111011, B00000110, B00001100, B00011000};
byte UP[] = { B00011000, B00111100, B01100110, B11011011, B10011001, B00011000, B00011000, B00011000};
byte DIAMOND[] = { B00011000, B00111100, B01111110, B11111111, B11111111, B01111110, B00111100, B00011000};
byte SQUARE[] = { B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111};
byte SQUARE1[] = { B00100100, B01000010, B10000001, B00000000, B00000000, B10000001, B01000010, B00100100};
byte SQUARE2[] = { B00000000, B00100100, B01100110, B00000000, B00000000, B01100110, B00100100, B00000000};
byte SQUARE3[] = { B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000};
/* we always wait a bit between updates of the display */
unsigned long delaytime = 1000;
 
void setup() {
  /*
    The MAX72XX is in power-saving mode on startup,
    we have to do a wakeup call
  */
  lc.shutdown(0, false);
  /* Set the brightness to a medium values */
  lc.setIntensity(0, 8);
  /* and clear the display */
  lc.clearDisplay(0);
}
 
 
 
void loop() {
  lc.setRow(0, 0, LEFT[0]);
  lc.setRow(0, 1, LEFT[1]);
  lc.setRow(0, 2, LEFT[2]);
  lc.setRow(0, 3, LEFT[3]);
  lc.setRow(0, 4, LEFT[4]);
  lc.setRow(0, 5, LEFT[5]);
  lc.setRow(0, 6, LEFT[6]);
  lc.setRow(0, 7, LEFT[7]);
  delay(delaytime);
 
  lc.setRow(0, 0, RIGHT[0]);
  lc.setRow(0, 1, RIGHT[1]);
  lc.setRow(0, 2, RIGHT[2]);
  lc.setRow(0, 3, RIGHT[3]);
  lc.setRow(0, 4, RIGHT[4]);
  lc.setRow(0, 5, RIGHT[5]);
  lc.setRow(0, 6, RIGHT[6]);
  lc.setRow(0, 7, RIGHT[7]);
  delay(delaytime);
 
  lc.setRow(0, 0, UP[0]);
  lc.setRow(0, 1, UP[1]);
  lc.setRow(0, 2, UP[2]);
  lc.setRow(0, 3, UP[3]);
  lc.setRow(0, 4, UP[4]);
  lc.setRow(0, 5, UP[5]);
  lc.setRow(0, 6, UP[6]);
  lc.setRow(0, 7, UP[7]);
  delay(delaytime);
 
  lc.setRow(0, 0, DIAMOND[0]);
  lc.setRow(0, 1, DIAMOND[1]);
  lc.setRow(0, 2, DIAMOND[2]);
  lc.setRow(0, 3, DIAMOND[3]);
  lc.setRow(0, 4, DIAMOND[4]);
  lc.setRow(0, 5, DIAMOND[5]);
  lc.setRow(0, 6, DIAMOND[6]);
  lc.setRow(0, 7, DIAMOND[7]);
  delay(delaytime);
 
  lc.setRow(0, 0, SQUARE[0]);
  lc.setRow(0, 1, SQUARE[1]);
  lc.setRow(0, 2, SQUARE[2]);
  lc.setRow(0, 3, SQUARE[3]);
  lc.setRow(0, 4, SQUARE[4]);
  lc.setRow(0, 5, SQUARE[5]);
  lc.setRow(0, 6, SQUARE[6]);
  lc.setRow(0, 7, SQUARE[7]);
  delay(delaytime);
 
  lc.setRow(0, 0, SQUARE1[0]);
  lc.setRow(0, 1, SQUARE1[1]);
  lc.setRow(0, 2, SQUARE1[2]);
  lc.setRow(0, 3, SQUARE1[3]);
  lc.setRow(0, 4, SQUARE1[4]);
  lc.setRow(0, 5, SQUARE1[5]);
  lc.setRow(0, 6, SQUARE1[6]);
  lc.setRow(0, 7, SQUARE1[7]);
  delay(delaytime);
 
  lc.setRow(0, 0, SQUARE2[0]);
  lc.setRow(0, 1, SQUARE2[1]);
  lc.setRow(0, 2, SQUARE2[2]);
  lc.setRow(0, 3, SQUARE2[3]);
  lc.setRow(0, 4, SQUARE2[4]);
  lc.setRow(0, 5, SQUARE2[5]);
  lc.setRow(0, 6, SQUARE2[6]);
  lc.setRow(0, 7, SQUARE2[7]);
  delay(delaytime);
 
  lc.setRow(0, 0, SQUARE3[0]);
  lc.setRow(0, 1, SQUARE3[1]);
  lc.setRow(0, 2, SQUARE3[2]);
  lc.setRow(0, 3, SQUARE3[3]);
  lc.setRow(0, 4, SQUARE3[4]);
  lc.setRow(0, 5, SQUARE3[5]);
  lc.setRow(0, 6, SQUARE3[6]);
  lc.setRow(0, 7, SQUARE3[7]);
  delay(delaytime);
 
  lc.clearDisplay(0);
  delay(delaytime);
}

Comments