/*
PAB49162 Wokwi projets
https://wokwi.com/makers/pab49162
Los3Urquidis’ Wokwi projects
https://wokwi.com/makers/los3urquidis
WLED multi-strip support
https://kno.wled.ge/features/multi-strip/
Multiple controller examples
https://github.com/FastLED/FastLED/wiki/Multiple-Controller-Examples
Strip effects for NeoPixel and FastLED
https://www.tweaking4all.com/hardware/arduino/adruino-led-strip-effects/
RGB color code chart
https://www.rapidtables.com/web/color/RGB_Color.html
NeoMatrix setup guide
https://learn.adafruit.com/adafruit-neopixel-uberguide/neomatrix-library
Microphone INMP441 I2S Omnidirectional Module
https://techmaze.romman.store/product/99189039
ESP32-DevKitC Pin layout
https://docs.espressif.com/projects/esp-idf/en/v5.1/esp32/hw-reference/esp32/get-started-devkitc.html
FastLED pixel reference
https://github.com/FastLED/FastLED/wiki/Pixel-reference#colors
Pixel Art Converter
https://kno.wled.ge/features/pixel-art-converter/
*/
//
// ESP32 NeoPixel 44x44 Logo Demo - 2 Panels
//
#include <Adafruit_NeoPixel.h>
#include <Adafruit_NeoMatrix.h>
#define PIN_A 2
#define PIN_B 15
#define DELAY 100
// Define the two matrices each as 44x22
Adafruit_NeoMatrix matrix1 = Adafruit_NeoMatrix(44, 11, 1, 2, PIN_A,
NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG + NEO_TILE_TOP + NEO_TILE_LEFT + NEO_TILE_ROWS + NEO_TILE_ZIGZAG,
NEO_GRB + NEO_KHZ800);
Adafruit_NeoMatrix matrix2 = Adafruit_NeoMatrix(44, 11, 1, 2, PIN_B,
NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG + NEO_TILE_TOP + NEO_TILE_LEFT + NEO_TILE_ROWS + NEO_TILE_ZIGZAG,
NEO_GRB + NEO_KHZ800);
/*
Adafruit_NeoMatrix matrix1 = Adafruit_NeoMatrix(32, 8, 1, 2, PIN_A,
NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG +
NEO_TILE_TOP + NEO_TILE_LEFT + NEO_TILE_ROWS + NEO_TILE_ZIGZAG,
NEO_GRB + NEO_KHZ800);
Adafruit_NeoMatrix matrix2 = Adafruit_NeoMatrix(32, 8, 1, 2, PIN_B,
NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG +
NEO_TILE_TOP + NEO_TILE_LEFT + NEO_TILE_ROWS + NEO_TILE_ZIGZAG,
NEO_GRB + NEO_KHZ800);
*/
//
// Setup function
//
void setup() {
Serial.begin(15200);
Serial.println("setup started.");
matrix1.begin();
matrix1.setBrightness(32);
matrix2.begin();
matrix2.setBrightness(64);
buildLogo();
Serial.println("setup complete.");
}
//
// Loop function
//
//
// Define colors
//
uint16_t logoColors[44 * 44];
long rawHexColors[44 * 44] = {
//ROW 1
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000001, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 2
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000001, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 3
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x001933, 0x001933, 0x001933, 0x001933, 0x001933,
0x001933, 0x001933, 0x001933, 0x001933, 0x001933, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 4
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366,
0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 5
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366,
0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x003366, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 6
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x001933, 0x0e1e53, 0x0b1e58, 0x0b1f56, 0x0b1e56, 0x0b1f56, 0x0b1e56, 0x091d54, 0x0d1e58, 0x091f57, 0x0b1e55,
0x0b1e56, 0x0b1e56, 0x0b1f55, 0x0b1e56, 0x0b1f56, 0x0a1e55, 0x0b1e56, 0x0b1e56, 0x0b1e56, 0x0b2055, 0x121c48,
0x0b0e18, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 7
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x0d0e17, 0x0d1e4c,
0x0c1d55, 0x0b1d57, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x091c53, 0xeff7fd, 0x0a1e56, 0x0a1f54,
0x0b1f56, 0x0b1f56, 0x0b1f55, 0x0b1e56, 0x0a1e56, 0x0b1e56, 0x0a1f56, 0x0b1e56, 0x0b1f56, 0x0b1e56, 0x0a1e56,
0x0e1c57, 0x081628, 0x000002, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 8
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x003366, 0x0a1e54, 0x0a1f54,
0x0b1e56, 0x0b1e56, 0x0b1f54, 0x0b1e56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0c2055, 0xfbfafd, 0x9eaabe, 0x0b1e56,
0x0b1e56, 0x0a1e56, 0x0b1e56, 0x0b1e57, 0x0b1e56, 0x0a1e55, 0x0a1e56, 0x0a1f54, 0x0b1f56, 0x0b1f56, 0x0a1f56,
0x0b1e57, 0x0b1e56, 0x0c1834, 0x010103, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 9
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x00000, 0x003366, 0x0c1d53, 0x0d1d56, 0x0b1f54,
0x0b1f56, 0x0b1e56, 0x0b1e56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1e57, 0xf9fcfc, 0xfdfdfb, 0x29365a,
0x071a55, 0x0b1e57, 0x082054, 0x0e1f54, 0x121f50, 0x94a3c1, 0x0a1d58, 0x0b1f55, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1e56, 0x0a1e55, 0x0a1e57, 0x0d1839, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 10
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x090e1a, 0x0b1f55, 0x0a1e56, 0x0d1d58, 0x0a1f56,
0x0b1f56, 0x0b1e56, 0x0a1f56, 0x0a1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0a1e55, 0xf8fbfc, 0xfefdfe, 0xfafaf9,
0x101d4e, 0x0c1746, 0xadb7ca, 0xf7f9fc, 0xfdfdfd, 0x131f53, 0x0a2058, 0x0b1e56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1e54, 0x0b1f57, 0x0a1e54, 0x0c1731, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 11
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x050709, 0x0e1d55, 0x071f4f, 0x0b1e56, 0x0b1e56, 0x0b1f56,
0x0b1f56, 0x0a1f56, 0x0b1e56, 0x091f56, 0x0b1f59, 0x0b1e56, 0x091f55, 0x091d55, 0xf9fafc, 0xfdfefe, 0xfdfdfd,
0xfdfdff, 0xfefdfd, 0xfefffa, 0xfdfbf9, 0x1e2954, 0x0a1e56, 0x0b1e56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f55, 0x0b1e56, 0x0b1e56, 0x0b1e57, 0x091220, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 12
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x101c46, 0x062057, 0x0b1e57, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0c1e56, 0x0a1f54, 0x0c1d56, 0x0a1d53, 0x0d1a47, 0xb5bfce, 0xfdfdfe, 0xfefdfe, 0xffffff,
0xffffff, 0xfefefe, 0xfdfdfd, 0xa6adbd, 0x081c54, 0x0b1e56, 0x0b1f55, 0x0b1f55, 0x0b1e56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1e56, 0x0b1d50, 0x0f0f13, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 13
0x000000, 0x000000, 0x000000, 0x000000, 0x0a1117, 0x0b1d55, 0x091e56, 0x0a1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0a1e53, 0x0b1f56, 0x0e204a, 0xa7adc0, 0xfafafe, 0xfbfcfc, 0xfdfdfe, 0xfefdfe, 0xfefdfe, 0xffffff,
0xffffff, 0xffffff, 0xfffffd, 0x0a1e58, 0x0d1d56, 0x0b1f54, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0a1f57, 0x101c42, 0x010100, 0x000000, 0x000000, 0x000000,
//ROW 14
0x000000, 0x000000, 0x000000, 0x000000, 0x091f4b, 0x0d1d58, 0x0a1f54, 0x0b1e56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1e56, 0x0f1f4c, 0x616c88, 0xf7f7ff, 0xfcfefe, 0xfdfdfc, 0xfefefc, 0xfdfefe, 0xffffff,
0xffffff, 0xffffff, 0xfafbfa, 0x212d54, 0x091a53, 0x0b1e56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0a1f55, 0x0a1e56, 0x0c1d56, 0x0d0e17, 0x000000, 0x000000, 0x000000,
//ROW 15
0x000000, 0x000000, 0x000000, 0x0c0e1c, 0x091f58, 0x0a1e56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1e56, 0x0b1e55, 0x0a1e56, 0x0b1d58, 0x0d1f59, 0x0c1d50, 0x1c2c4c, 0xfcfcfc, 0xfdfefe, 0xfefefe,
0xffffff, 0xfefefe, 0xfefefd, 0xfafafc, 0x0a1a49, 0x0a1d56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0a1f55, 0x0b1e56, 0x0a1f56, 0x121a42, 0x000000, 0x000000, 0x000000,
//ROW 16
0x000000, 0x000000, 0x000000, 0x111d46, 0x0a1f51, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1e57, 0x0a1e56, 0x0b1f54, 0x0b1f55, 0x0b1f56, 0x0a1c55, 0xfefdf9, 0xfefefe, 0xfdfdfe,
0xf9fafd, 0xfcfdfe, 0xfcfdfb, 0xfefdfb, 0xf8fafb, 0x0a1f50, 0x0b1c58, 0x0b1f55, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0a1f54, 0x0b1d5a, 0x121214, 0x000000, 0x000000,
//ROW 17
0x000000, 0x000000, 0x030207, 0x0c1d51, 0x0a1f55, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1e56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0a1f55, 0xfcfcfc, 0xfefdfb, 0xfcfefe,
0x0f1e59, 0x0b1c53, 0x0b1d49, 0x656e8d, 0xf4f7fc, 0xd5dee8, 0x0b1f55, 0x0b1f55, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0a1c55, 0x08111b, 0x000000, 0x000000,
//ROW 18
0x000000, 0x000000, 0x0d0f1a, 0x091d59, 0x0c1e54, 0x0b1e54, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1e56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0a1e55, 0xfcfafb, 0xfcfdfb, 0x12254f,
0x061951, 0x0b1d56, 0x0b1f52, 0x0b1f56, 0x0b1f56, 0x0e1d53, 0x0a1f56, 0x0c1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1e56, 0x0a1e56, 0x0e1c45, 0x000000, 0x000000,
//ROW 19
0x000000, 0x000000, 0x0d1534, 0x0a1e56, 0x0b1e56, 0x0b1e56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1e57, 0xfbfbfa, 0x6c7690, 0x0b1e54,
0x0a1e56, 0x0a1e55, 0x0b1f56, 0x0a1e56, 0x0a1e55, 0x0a1e56, 0x091f56, 0x0b1e56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1e57, 0x0c1f50, 0x003366, 0x000000,
//ROW 20
0x000000, 0x000000, 0x101d4a, 0x0a1e55, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56,
0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0b1f56, 0x0a1f58, 0xf0f3fc, 0x041e59, 0x0b1e56,
0x0b1e56, 0x0b1f56, 0x0b1f56, 0x0b1e57, 0x0b1e56, 0x0b1e56, 0x0b1e55, 0x0b1e56, 0x0b1e56, 0x0b1e56, 0x0b1e56,
0x0b1e56, 0x0b1e56, 0x0b1e56, 0x0b1e56, 0x0b1e56, 0x0b1e56, 0x0b1f56, 0x0b1d56, 0x0d1c55, 0x003366, 0x000000,
//ROW 21
0x000000, 0x000000, 0x0e1f51, 0x0b1e57, 0x0b1e57, 0x0b1e57, 0x0b1e57, 0x0b1e57, 0x0b1e57, 0x0b1e57, 0x0b1e57,
0x0b1e57, 0x0b1e57, 0x0b1e57, 0x0b1e57, 0x0b1e57, 0x0b1e57, 0x0b1e57, 0x0c1f57, 0x0b1d57, 0x091d55, 0x0c1d57,
0x0c1d58, 0x091f57, 0x0b1e56, 0x0b1e58, 0x0b1e58, 0x0b1e57, 0x0b1e57, 0x0b1e58, 0x0b1e57, 0x0b1e57, 0x0b1e58,
0x0b1e58, 0x0b1e57, 0x0b1e58, 0x0b1e58, 0x0b1e57, 0x0b1e57, 0x0b1d58, 0x0b1e58, 0x061e59, 0x003366, 0x000000,
//ROW 22
0x000000, 0x000000, 0x0c1f51, 0x0b1e55, 0x0a1e56, 0x0b1e56, 0x0b1e56, 0x0a1e55, 0x0b1e56, 0x0b1e56, 0x0a1e55,
0x0b1e56, 0x0b1e56, 0x0a1e55, 0x0b1e56, 0x0b1e56, 0x0b1e55, 0x0b1e56, 0x0b1e56, 0x0b1e56, 0x0c1e56, 0x0a1f55,
0x0a1e57, 0x081f56, 0x0a1f55, 0x0b1d57, 0x0c1d57, 0x0a1e56, 0x0b1e56, 0x0c1d58, 0x0b1e56, 0x0a1e55, 0x0b1d57,
0x0b1d57, 0x0a1e55, 0x0b1e57, 0x0c1d58, 0x0a1e56, 0x0a1e56, 0x0d1c59, 0x091d57, 0x0b1e55, 0x003366, 0x000000,
//ROW 23
0x000000, 0x000000, 0x595e7a, 0x586383, 0x596382, 0x596284, 0x596283, 0x586381, 0x596383, 0x5a6284, 0x586382,
0x596382, 0x5a6284, 0x596383, 0x586382, 0x596383, 0x596284, 0x586382, 0x586383, 0x5a6284, 0x586482, 0x5b5f83,
0x471d49, 0x4a1d47, 0x4a1c45, 0x4a1b47, 0x4a1b48, 0x4a1c46, 0x4a1b46, 0x4a1b48, 0x4a1b47, 0x4a1c45, 0x4a1b48,
0x4a1b47, 0x4a1c45, 0x4a1b47, 0x4a1b48, 0x4a1b46, 0x4a1c46, 0x4b1c48, 0x4a1c49, 0x471e47, 0x110d11, 0x000000,
//ROW 24
0x000000, 0x000000, 0xffffff, 0xfdfefd, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfcfcfc,
0xa42846, 0xab2645, 0xa92543, 0xab2443, 0xaa2543, 0xaa2543, 0xaa2543, 0xaa2543, 0xaa2443, 0xa92543, 0xaa2543,
0xab2443, 0xa92543, 0xaa2543, 0xac2443, 0xaa2543, 0xab2543, 0xaa2442, 0xad2245, 0xaa2541, 0x140c0b, 0x000000,
//ROW 25
0x000000, 0x000000, 0xffffff, 0xfefefe, 0xfefefe, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2442, 0xae2544, 0x130f11, 0x000000,
//ROW 26
0x000000, 0x000000, 0x9a9a9a, 0xfefefe, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xaa2543, 0xae2343, 0xaa2843, 0x0c0b0d, 0x000000,
//ROW 27
0x000000, 0x000000, 0x0b0b0b, 0xfdfdfd, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xaa2543, 0xa92842, 0x992f4b, 0x000000, 0x000000,
//ROW 28
0x000000, 0x000000, 0x0a0a0a, 0xfcfcfc, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2443, 0xac2644, 0x361116, 0x000000, 0x000000,
//ROW 29
0x000000, 0x000000, 0x000000, 0xf7f7f7, 0xfefefe, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xac2443, 0xaa2545, 0x11120d, 0x000000, 0x000000,
//ROW 30
0x000000, 0x000000, 0x000000, 0x343434, 0xfefefe, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xac2443, 0xab2442, 0x91293e, 0x010001, 0x000000, 0x000000,
//ROW 31
0x000000, 0x000000, 0x000000, 0x020202, 0xfefefe, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2444, 0xae2643, 0x1b090a, 0x000000, 0x000000, 0x000000,
//ROW 32
0x000000, 0x000000, 0x000000, 0x000000, 0x3e3e3e, 0xfdfdfd, 0xfefefe, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xac2442, 0xac2544, 0x952d46, 0x040403, 0x000000, 0x000000, 0x000000,
//ROW 33
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xfafafa, 0xfcfcfc, 0xfefefe, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2443, 0xa92842, 0x1c0c0f, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 34
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x0e0e0e, 0xfdfdfd, 0xfefefe, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2543, 0xab2443, 0xab2443, 0xac2443, 0xac2443, 0x4f1721, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 35
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x353535, 0xfdfdfd, 0xffffff, 0xffffff, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2543, 0xab2443, 0xab2542, 0xab2744, 0x862b3d, 0x020202, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 36
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x696969, 0xfbfbfb, 0xfefefe, 0xffffff,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543,
0xab2542, 0xab2543, 0xa92641, 0x9a2e49, 0x0f0b0a, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 37
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x666666, 0xfdfdfd, 0xfdfdfd,
0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xac2443,
0xac2545, 0xab2542, 0x912a42, 0x0f0a0b, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 38
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x212121, 0xfdfdfd,
0xfefefe, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2744, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2543, 0xab2642,
0xac2745, 0x732534, 0x050603, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 39
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x080808,
0xefefef, 0xfefefe, 0xfdfdfd, 0xfefefe, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xac2644, 0xaa2543, 0xab2443, 0xaa2543, 0xab2443, 0xa92641, 0xac2443, 0xaa2442, 0xa92541, 0xa32b4a,
0x2e0910, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 40
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x1c1c1c, 0xfdfdfd, 0xfefefe, 0xfefefe, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xfdfdfd,
0xa42a45, 0xab2543, 0xaa2543, 0xac2443, 0xab2643, 0xa92841, 0xae2545, 0xad2845, 0xa52a47, 0x541724, 0x0a0204,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 41
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x0e0e0e, 0xd6d6d6, 0xfdfdfd, 0xfefefe, 0xfefefe, 0xfefefe, 0xffffff, 0xfdfdfd,
0xa42a45, 0xab2543, 0xa92844, 0xaa2744, 0xac2345, 0xa72943, 0x963348, 0x400e17, 0x0d0607, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 42
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x0b0b0b, 0x525252, 0xb9b9b9, 0xf9f9f9, 0xfefefe,
0x92364c, 0x96354b, 0x802c3f, 0x581825, 0x2b090f, 0x0d0303, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 43
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
//ROW 44
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000
};
//
// Loop function
//
void loop() {
Serial.println("loop started ...");
// for (int loop=0; loop<=(44-1); loop++) {
for (int y = 0; y <= (44 - 1); y++) {
for (int x = 0; x <= (44 - 1); x++) {
int colorIndex = (((y * 44) + x)) % (44 * 44);
if (y < 22) {
matrix1.drawPixel(x, y, logoColors[colorIndex]);
} else
matrix2.drawPixel(x, (y - 22), logoColors[colorIndex]);
}
}
matrix1.show();
matrix2.show();
delay(DELAY);
// }
Serial.println("loop finished ...");
}
void buildLogo() {
int index = 0;
long colors;
int colorR;
int colorG;
int colorB;
for (int i = 0; i <= ((44 * 44) - 1); i++) {
colors = rawHexColors[index];
colorR = colors / 0x10000;
colors = colors % 0x10000;
colorG = colors / 0x100;
colorB = colors % 0x100;
logoColors[index] = matrix1.Color(colorR, colorG, colorB);
index++;
}
}
X Coordinate -->
Y Coordinate -->