Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <FastLED.h>
- #include <LEDMatrix.h>
- #include <LEDText.h>
- #include <FontMatrise.h>
- #define LED_PIN 5
- #define COLOR_ORDER RGB
- #define CHIPSET WS2811_400
- #define MATRIX_X 8
- #define MATRIX_Y 8
- #define MATRIX_Z 8
- CRGB leds[MATRIX_X * MATRIX_Y * MATRIX_Z];
- cLEDMatrix<MATRIX_X, -MATRIX_Y, VERTICAL_MATRIX, 1, 1> MatrixBase;
- cLEDMatrix<MATRIX_X, MATRIX_Y, VERTICAL_MATRIX, 1, 1> MatrixTop;
- cLEDMatrix<MATRIX_X, MATRIX_Z, HORIZONTAL_MATRIX, 8, 8> MatrixFront;
- cLEDMatrix<-MATRIX_X, MATRIX_Z, HORIZONTAL_MATRIX, 8, 8> MatrixBack;
- cLEDMatrix<-MATRIX_Y, MATRIX_Z, HORIZONTAL_MATRIX, 1, 8> MatrixLeft;
- cLEDMatrix<MATRIX_Y, MATRIX_Z, HORIZONTAL_MATRIX, 1, 8> MatrixRight;
- cLEDText MsgLeft, MsgFront, MsgRight;
- const unsigned char TxtDemo[] = { EFFECT_HSV_AH "\x00\xff\xff\xff\xff\xff" " WE ARE BORG,RESISTENCE TO THE LED CUBE IS FUTILE"};
- void setup()
- {
- FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds,512 );
- FastLED.setBrightness(64);
- FastLED.clear(true);
- delay(500);
- FastLED.showColor(CRGB::Red);
- delay(1000);
- FastLED.showColor(CRGB::Lime);
- delay(1000);
- FastLED.showColor(CRGB::Blue);
- delay(1000);
- FastLED.showColor(CRGB::White);
- delay(1000);
- FastLED.show();
- MatrixBase.SetLEDArray(&leds[0]);
- MatrixTop.SetLEDArray(&leds[MATRIX_X * MATRIX_Y * (MATRIX_Z - 1)]);
- MatrixFront.SetLEDArray(&leds[0]);
- MatrixBack.SetLEDArray(&leds[MATRIX_X - 1]);
- MatrixLeft.SetLEDArray(&leds[0]);
- MatrixRight.SetLEDArray(&leds[(MATRIX_X - 1) * MATRIX_Y]);
- MsgLeft.SetFont(MatriseFontData);
- MsgLeft.Init(&MatrixLeft, MatrixLeft.Width(), MsgLeft.FontHeight() + 1, 0, 0);
- MsgLeft.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
- MsgLeft.SetTextColrOptions(COLR_RGB | COLR_SINGLE, 0xff, 0x00, 0xff);
- MsgLeft.SetFrameRate(2);
- MsgFront.SetFont(MatriseFontData);
- MsgFront.Init(&MatrixFront, MatrixLeft.Width() + MatrixFront.Width(), MsgFront.FontHeight() + 1, -MatrixLeft.Width(), 0);
- MsgFront.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
- MsgFront.SetTextColrOptions(COLR_RGB | COLR_SINGLE, 0xff, 0x00, 0xff);
- MsgFront.SetFrameRate(2);
- MsgRight.SetFont(MatriseFontData);
- MsgRight.Init(&MatrixRight, MatrixLeft.Width() + MatrixFront.Width() + MatrixRight.Width(), MsgRight.FontHeight() + 1, -(MatrixLeft.Width() + MatrixFront.Width()), 0);
- MsgRight.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
- MsgRight.SetTextColrOptions(COLR_RGB | COLR_SINGLE, 0xff, 0x00, 0xff);
- MsgRight.SetFrameRate(2);
- }
- void loop()
- {
- if (MsgLeft.UpdateText() == -1)
- {
- MsgLeft.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
- MsgFront.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
- MsgRight.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1);
- MsgLeft.UpdateText();
- MsgFront.UpdateText();
- MsgRight.UpdateText();
- }
- FastLED.show();
- delay(1000);
- }
Advertisement
Add Comment
Please, Sign In to add comment