Created
May 11, 2018 02:10
-
-
Save bboyho/e0e6e51858f610d466ad5df797393a02 to your computer and use it in GitHub Desktop.
testshapes_32x64SparkFunQA
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// testshapes demo for RGBmatrixPanel library. | |
// Demonstrates the drawing abilities of the RGBmatrixPanel library. | |
// For 32x64 RGB LED matrix. | |
// NOTE THIS CAN ONLY BE USED ON A MEGA! NOT ENOUGH RAM ON UNO! | |
#include <Adafruit_GFX.h> // Core graphics library | |
#include <RGBmatrixPanel.h> // Hardware-specific library | |
#define CLK 11 | |
#define LAT 10 | |
#define OE 9 | |
#define A A0 | |
#define B A1 | |
#define C A2 | |
#define D A3 | |
RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, false, 64); | |
void setup() { | |
matrix.begin(); | |
// draw a pixel in solid white | |
matrix.drawPixel(0, 0, matrix.Color333(7, 7, 7)); | |
delay(500); | |
// fix the screen with green | |
matrix.fillRect(0, 0, matrix.width(), matrix.height(), matrix.Color333(0, 7, 0)); | |
delay(500); | |
// draw a box in yellow | |
matrix.drawRect(0, 0, matrix.width(), matrix.height(), matrix.Color333(7, 7, 0)); | |
delay(500); | |
// draw an 'X' in red | |
matrix.drawLine(0, 0, matrix.width()-1, matrix.height()-1, matrix.Color333(7, 0, 0)); | |
matrix.drawLine(matrix.width()-1, 0, 0, matrix.height()-1, matrix.Color333(7, 0, 0)); | |
delay(500); | |
// draw a blue circle | |
matrix.drawCircle(10, 10, 10, matrix.Color333(0, 0, 7)); | |
delay(500); | |
// fill a violet circle | |
matrix.fillCircle(40, 21, 10, matrix.Color333(7, 0, 7)); | |
delay(500); | |
// fill the screen with 'black' | |
matrix.fillScreen(matrix.Color333(0, 0, 0)); | |
// draw some text! | |
matrix.setTextSize(1); // size 1 == 8 pixels high | |
matrix.setTextWrap(false); // Don't wrap at end of line - will do ourselves | |
matrix.setCursor(8, 0); // start at top left, with 8 pixel of spacing | |
uint8_t w = 0; | |
char *str = "SparkFun QA Team "; | |
for (w=0; w<8; w++) { | |
matrix.setTextColor(Wheel(w)); | |
matrix.print(str[w]); | |
} | |
matrix.setCursor(2, 8); // next line | |
for (w=8; w<18; w++) { | |
matrix.setTextColor(Wheel(w)); | |
matrix.print(str[w]); | |
} | |
matrix.println(); | |
matrix.setTextColor(matrix.Color333(7,7,7)); | |
matrix.println("LED MATRIX!"); | |
// print each letter with a rainbow color | |
matrix.setTextColor(matrix.Color333(7,0,0)); | |
matrix.print('3'); | |
matrix.setTextColor(matrix.Color333(7,4,0)); | |
matrix.print('2'); | |
matrix.setTextColor(matrix.Color333(7,7,0)); | |
matrix.print('x'); | |
matrix.setTextColor(matrix.Color333(4,7,0)); | |
matrix.print('6'); | |
matrix.setTextColor(matrix.Color333(0,7,0)); | |
matrix.print('4'); | |
matrix.setCursor(34, 24); | |
matrix.setTextColor(matrix.Color333(0,7,7)); | |
matrix.print("*"); | |
matrix.setTextColor(matrix.Color333(7,0,0)); | |
matrix.print('R'); | |
matrix.setTextColor(matrix.Color333(0,7,0)); | |
matrix.print('G'); | |
matrix.setTextColor(matrix.Color333(0,0,7)); | |
matrix.print("B"); | |
matrix.setTextColor(matrix.Color333(7,0,4)); | |
matrix.println("*"); | |
// whew! | |
} | |
void loop() { | |
// do nothing | |
} | |
// Input a value 0 to 24 to get a color value. | |
// The colours are a transition r - g - b - back to r. | |
uint16_t Wheel(byte WheelPos) { | |
if(WheelPos < 8) { | |
return matrix.Color333(7 - WheelPos, WheelPos, 0); | |
} else if(WheelPos < 16) { | |
WheelPos -= 8; | |
return matrix.Color333(0, 7-WheelPos, WheelPos); | |
} else { | |
WheelPos -= 16; | |
return matrix.Color333(0, WheelPos, 7 - WheelPos); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment