#include <FastLED.h>
const size_t ledsCount = 32 * 8;
CRGB leds[ledsCount];
//---------------------------------------------------------------------------
const uint32_t frames[][32] PROGMEM =
{
// frame 000
{
0x00100000, 0x00010000, 0x00001000, 0x00022200,
0x02002200, 0x10000000, 0x01000000, 0x00100000,
0x10000000, 0x10000000, 0x01000000, 0x02222002,
0x10222222, 0x00000000, 0x00000000, 0x00000000,
0x00100000, 0x00010000, 0x00001000, 0x11111100,
0x00303303, 0x00000000, 0x01000000, 0x00100000,
0x10000000, 0x10000000, 0x01000000, 0x33333300,
0x11132231, 0x11111111, 0x11111111, 0x11111111
},
// frame 001
{
0x00000000, 0x00000000, 0x00000000, 0x00222000,
0x00200220, 0x00010000, 0x00001000, 0x00000100,
0x00000100, 0x00000010, 0x00000000, 0x22222020,
0x01022222, 0x20000010, 0x00000001, 0x00000001,
0x00000000, 0x00000000, 0x00000001, 0x11111000,
0x00030330, 0x30010000, 0x00001000, 0x00000100,
0x00000100, 0x00000010, 0x00000003, 0x33333000,
0x11113223, 0x11111111, 0x11111111, 0x11111111
},
// frame 002
{
0x10000000, 0x10000000, 0x01000000, 0x02220000,
0x40020022, 0x00000000, 0x00000000, 0x00000000,
0x00100000, 0x00010000, 0x00001002, 0x22220204,
0x40102222, 0x22000000, 0x01000000, 0x00100000,
0x10000000, 0x10000000, 0x01000011, 0x11110004,
0x40003033, 0x03000000, 0x00000000, 0x00000000,
0x00100000, 0x00010000, 0x00001033, 0x33330000,
0x11111322, 0x31111111, 0x11111111, 0x11111111
},
// frame 003
{
0x00000100, 0x00000010, 0x00000000, 0x22200000,
0x04002002, 0x20000010, 0x00000001, 0x00000001,
0x00000000, 0x00000000, 0x00000022, 0x22202040,
0x04010222, 0x22200000, 0x00001000, 0x00000100,
0x00000100, 0x00000010, 0x00000111, 0x11100040,
0x04000303, 0x30300010, 0x00000001, 0x00000001,
0x00000000, 0x00000000, 0x00000333, 0x33300000,
0x11111132, 0x23111111, 0x11111111, 0x11111111
},
// frame 004
{
0x00100000, 0x00010000, 0x00001002, 0x22000000,
0x40400200, 0x22000000, 0x01000000, 0x00100000,
0x10000000, 0x10000000, 0x01000222, 0x22020400,
0x00401022, 0x22220000, 0x00000000, 0x00000000,
0x00100000, 0x00010000, 0x00001111, 0x11000400,
0x00400030, 0x33030000, 0x01000000, 0x00100000,
0x10000000, 0x10000000, 0x01003333, 0x33000000,
0x11111113, 0x22311111, 0x11111111, 0x11111111
},
// frame 005
{
0x00000000, 0x00000000, 0x00000022, 0x20000000,
0x44040020, 0x02200000, 0x00001000, 0x00000100,
0x00000100, 0x00000010, 0x00002222, 0x20204000,
0x00040102, 0x22222010, 0x00000001, 0x00000001,
0x00000000, 0x00000000, 0x00011111, 0x10004000,
0x00040003, 0x03303000, 0x00001000, 0x00000100,
0x00000100, 0x00000010, 0x00033333, 0x30000000,
0x11111111, 0x32231111, 0x11111111, 0x11111111
},
// frame 006
{
0x10000000, 0x10000000, 0x01000222, 0x00000000,
0x44404002, 0x00220000, 0x00000000, 0x00000000,
0x00100000, 0x00010000, 0x00022222, 0x02040004,
0x40004010, 0x22222200, 0x01000000, 0x00100000,
0x10000000, 0x10000000, 0x00111111, 0x00040004,
0x40004000, 0x30330300, 0x00000000, 0x00000000,
0x00100000, 0x00010000, 0x00333333, 0x00000000,
0x11111111, 0x13223111, 0x11111111, 0x11111111
},
// frame 007
{
0x00000100, 0x00000010, 0x00002220, 0x00000000,
0x44440400, 0x20022000, 0x00000001, 0x00000001,
0x00000000, 0x00000000, 0x00222220, 0x20400040,
0x04000401, 0x02222220, 0x00001000, 0x00000100,
0x00000100, 0x00000010, 0x01111110, 0x00400040,
0x04000400, 0x03033030, 0x00000001, 0x00000001,
0x00000000, 0x00000000, 0x03333330, 0x00000000,
0x11111111, 0x11322311, 0x11111111, 0x11111111
},
// frame 008
{
0x00100000, 0x00010000, 0x00022200, 0x00000000,
0x44444040, 0x02002200, 0x01000000, 0x00100000,
0x10000000, 0x10000000, 0x02222202, 0x04000400,
0x00400040, 0x10222222, 0x00000000, 0x00000000,
0x00100000, 0x00010000, 0x11111100, 0x04000400,
0x00400040, 0x00303303, 0x01000000, 0x00100000,
0x10000000, 0x10000000, 0x33333300, 0x00000000,
0x11111111, 0x11132231, 0x11111111, 0x11111111
},
// frame 009
{
0x00000000, 0x00000000, 0x00222000, 0x00000000,
0x04444404, 0x00200220, 0x00001000, 0x00000100,
0x00000100, 0x00000000, 0x22222020, 0x40004000,
0x00040004, 0x01022222, 0x20000001, 0x00000001,
0x00000000, 0x00000001, 0x11111000, 0x40004000,
0x00040004, 0x00030330, 0x30001000, 0x00000100,
0x00000100, 0x00000003, 0x33333000, 0x00000000,
0x11111111, 0x11113223, 0x11111111, 0x11111111
},
// frame 010
{
0x10000000, 0x10000000, 0x02220000, 0x00000000,
0x00444440, 0x40020022, 0x00000000, 0x00000000,
0x00100000, 0x00010002, 0x22220204, 0x00040000,
0x00004000, 0x40102222, 0x22000000, 0x00100000,
0x10000000, 0x10000011, 0x11110004, 0x00040000,
0x00004000, 0x40003033, 0x03000000, 0x00000000,
0x00100000, 0x00010033, 0x33330000, 0x00000000,
0x11111111, 0x11111322, 0x31111111, 0x11111111
},
// frame 011
{
0x00000100, 0x00000000, 0x22200000, 0x00000000,
0x20044444, 0x04002002, 0x20000001, 0x00000001,
0x00000000, 0x00000022, 0x22202040, 0x00400002,
0x20000400, 0x04010222, 0x22201000, 0x00000100,
0x00000100, 0x00000111, 0x11100040, 0x00400002,
0x20000400, 0x04000303, 0x30300001, 0x00000001,
0x00000000, 0x00000333, 0x33300000, 0x00000000,
0x11111111, 0x11111132, 0x23111111, 0x11111111
},
// frame 012
{
0x00100000, 0x00010002, 0x22000000, 0x00000000,
0x02004444, 0x40400200, 0x22000000, 0x00100000,
0x10000000, 0x10000222, 0x22020400, 0x04000020,
0x02000040, 0x00401022, 0x22220000, 0x00000000,
0x00100000, 0x00001111, 0x11000400, 0x04000020,
0x02000040, 0x00400030, 0x33030000, 0x00100000,
0x10000000, 0x10003333, 0x33000000, 0x00000000,
0x11111111, 0x11111113, 0x22311111, 0x11111111
},
// frame 013
{
0x00000000, 0x00000022, 0x20000000, 0x00000000,
0x20200444, 0x44040020, 0x02200000, 0x00000100,
0x00000100, 0x00002222, 0x20204000, 0x40000202,
0x20200004, 0x00040102, 0x22222001, 0x00000001,
0x00000000, 0x00011111, 0x10004000, 0x40000200,
0x20200004, 0x00040003, 0x03303000, 0x00000100,
0x00000100, 0x00033333, 0x30000000, 0x00000000,
0x11111111, 0x11111111, 0x32231111, 0x11111111
},
// frame 014
{
0x10000000, 0x10000222, 0x00000000, 0x00000000,
0x22020044, 0x44404002, 0x00220000, 0x00000000,
0x00100000, 0x00022222, 0x02040004, 0x00002020,
0x22020000, 0x40004010, 0x22222200, 0x00100000,
0x10000000, 0x10111111, 0x00040004, 0x00002000,
0x22020000, 0x40004000, 0x30330300, 0x00000000,
0x00100000, 0x00333333, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x13223111, 0x11111111
},
// frame 015
{
0x00000100, 0x00002220, 0x00000000, 0x00000000,
0x22202004, 0x44440400, 0x20022000, 0x00000001,
0x00000000, 0x00222220, 0x20400040, 0x00020200,
0x22202000, 0x04000401, 0x02222220, 0x00000100,
0x00000100, 0x01111110, 0x00400040, 0x00020002,
0x22202000, 0x04000400, 0x03033030, 0x00000001,
0x00000000, 0x03333330, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11322311, 0x11111111
},
// frame 016
{
0x00100000, 0x00022200, 0x00000000, 0x00000000,
0x02220200, 0x44444040, 0x02002200, 0x00100000,
0x10000000, 0x02222202, 0x04000400, 0x00202000,
0x02220200, 0x00400040, 0x10222222, 0x00000000,
0x00100000, 0x11111100, 0x04000400, 0x00200020,
0x02220200, 0x00400040, 0x00303303, 0x00100000,
0x10000000, 0x33333300, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11132231, 0x11111111
},
// frame 017
{
0x00000000, 0x00222000, 0x00000000, 0x00000000,
0x00222020, 0x04444404, 0x00200220, 0x00000100,
0x00000100, 0x22222020, 0x40004000, 0x02020000,
0x00222020, 0x00040004, 0x01022222, 0x20000001,
0x00000001, 0x11111000, 0x40004000, 0x02000200,
0x00222020, 0x00040004, 0x00030330, 0x30000100,
0x00000103, 0x33333000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11113223, 0x11111111
},
// frame 018
{
0x10000000, 0x02220000, 0x00000000, 0x00000000,
0x40022202, 0x00444440, 0x40020022, 0x00000000,
0x00100002, 0x22220204, 0x00040000, 0x20200000,
0x00022202, 0x00004000, 0x40102222, 0x22000000,
0x10000011, 0x11110004, 0x00040000, 0x20002000,
0x40022202, 0x00004000, 0x40003033, 0x03000000,
0x00100033, 0x33330000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111322, 0x31111111
},
// frame 019
{
0x00000100, 0x22200000, 0x00000000, 0x00000000,
0x04002220, 0x20044444, 0x04002002, 0x20000001,
0x00000022, 0x22202040, 0x00400002, 0x02000004,
0x00002220, 0x20000400, 0x04010222, 0x22200100,
0x00000111, 0x11100040, 0x00400002, 0x00020004,
0x04002220, 0x20000400, 0x04000303, 0x30300001,
0x00000333, 0x33300000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111132, 0x23111111
},
// frame 020
{
0x00100002, 0x22000000, 0x00000000, 0x00000000,
0x00400222, 0x02004444, 0x40400200, 0x22000000,
0x10000222, 0x22020400, 0x04000020, 0x20000040,
0x40000222, 0x02000040, 0x00401022, 0x22220000,
0x00101111, 0x11000400, 0x04000020, 0x00200040,
0x00400222, 0x02000040, 0x00400030, 0x33030000,
0x10003333, 0x33000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111113, 0x22311111
},
// frame 021
{
0x00000022, 0x20000000, 0x00000000, 0x00000000,
0x00040022, 0x20200444, 0x44040020, 0x02200100,
0x00002222, 0x20204000, 0x40000202, 0x00000404,
0x04000022, 0x20200004, 0x00040102, 0x22222001,
0x00011111, 0x10004000, 0x40000200, 0x02000404,
0x00040022, 0x20200004, 0x00040003, 0x03303000,
0x00033333, 0x30000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x32231111
},
// frame 022
{
0x10000222, 0x00000000, 0x00000000, 0x00000000,
0x40004002, 0x22020044, 0x44404002, 0x00220000,
0x00022222, 0x02040004, 0x00002020, 0x00004040,
0x00400002, 0x22020000, 0x40004010, 0x22222200,
0x10111111, 0x00040004, 0x00002000, 0x20004040,
0x40004002, 0x22020000, 0x40004000, 0x30330300,
0x00333333, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x13223111
},
// frame 023
{
0x00002220, 0x00000000, 0x00000000, 0x00000000,
0x04000400, 0x22202004, 0x44440400, 0x20022001,
0x00222220, 0x20400040, 0x00020200, 0x00040400,
0x00040000, 0x22202000, 0x04000401, 0x02222220,
0x01111110, 0x00400040, 0x00020002, 0x00040400,
0x04000400, 0x22202000, 0x04000400, 0x03033030,
0x03333330, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11322311
},
// frame 024
{
0x00022200, 0x00000000, 0x00000000, 0x00000000,
0x40400040, 0x02220200, 0x44444040, 0x02002200,
0x02222202, 0x04000400, 0x00202000, 0x00404004,
0x40004000, 0x02220200, 0x00400040, 0x10222222,
0x11111100, 0x04000400, 0x00200020, 0x00404004,
0x40400040, 0x02220200, 0x00400040, 0x00303303,
0x33333300, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11132231
},
// frame 025
{
0x00222000, 0x00000000, 0x00000000, 0x00000000,
0x04040004, 0x00222020, 0x04444404, 0x00200220,
0x22222020, 0x40004000, 0x02020000, 0x04040044,
0x04000400, 0x00222020, 0x00040004, 0x01022222,
0x11111000, 0x40004000, 0x02000200, 0x04040040,
0x04040004, 0x00222020, 0x00040004, 0x00030330,
0x33333000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11113223
},
// frame 026
{
0x02220000, 0x00000000, 0x00000000, 0x00000000,
0x00404000, 0x40022202, 0x00444440, 0x40020022,
0x22220204, 0x00040000, 0x20200000, 0x40400440,
0x40400040, 0x00022202, 0x00004000, 0x40102222,
0x11110004, 0x00040000, 0x20002000, 0x40400400,
0x00404000, 0x40022202, 0x00004000, 0x40003033,
0x33330000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111322
},
// frame 027
{
0x22200000, 0x00000000, 0x00000000, 0x00000000,
0x00040400, 0x04002220, 0x20044444, 0x04002002,
0x22202040, 0x00400002, 0x02000004, 0x04004404,
0x04040004, 0x00002220, 0x20000400, 0x04010222,
0x11100040, 0x00400002, 0x00020004, 0x04004000,
0x00040400, 0x04002220, 0x20000400, 0x04000303,
0x33300000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111132
},
// frame 028
{
0x22000000, 0x00000000, 0x00000000, 0x00000000,
0x40004040, 0x00400222, 0x02004444, 0x40400200,
0x22020400, 0x04000020, 0x20000040, 0x40044044,
0x40404000, 0x40000222, 0x02000040, 0x00401022,
0x11000400, 0x04000020, 0x00200040, 0x40040004,
0x40004040, 0x00400222, 0x02000040, 0x00400030,
0x33000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111113
},
// frame 029
{
0x20000000, 0x00000000, 0x00000000, 0x00000000,
0x04000404, 0x00040022, 0x20200444, 0x44040020,
0x20204000, 0x40000202, 0x00000404, 0x00440440,
0x04040400, 0x04000022, 0x20200004, 0x00040102,
0x10004000, 0x40000200, 0x02000404, 0x00400040,
0x04000404, 0x00040022, 0x20200004, 0x00040003,
0x30000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 030
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x40400040, 0x40004002, 0x22020044, 0x44404002,
0x02040004, 0x00002020, 0x00004040, 0x04404404,
0x40404040, 0x00400002, 0x22020000, 0x40004010,
0x00040004, 0x00002000, 0x20004040, 0x04000404,
0x40400040, 0x40004002, 0x22020000, 0x40004000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 031
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x44040004, 0x04000400, 0x22202004, 0x44440400,
0x20400040, 0x00020200, 0x00040400, 0x44044040,
0x44040404, 0x00040000, 0x22202000, 0x04000401,
0x00400040, 0x00020002, 0x00040400, 0x40004040,
0x04040004, 0x04000400, 0x22202000, 0x04000400,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 032
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x44404000, 0x40400040, 0x02220200, 0x44444040,
0x04000400, 0x00202000, 0x00404004, 0x40440400,
0x44404040, 0x40004000, 0x02220200, 0x00400040,
0x04000400, 0x00200020, 0x00404004, 0x00040400,
0x00404000, 0x40400040, 0x02220200, 0x00400040,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 033
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x44440400, 0x04040004, 0x00222020, 0x04444404,
0x40004000, 0x02020000, 0x04040044, 0x04404004,
0x44440404, 0x04000400, 0x00222020, 0x00040004,
0x40004000, 0x02000200, 0x04040040, 0x00404004,
0x40040400, 0x04040004, 0x00222020, 0x00040004,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 034
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x04444040, 0x00404000, 0x40022202, 0x00444440,
0x00040000, 0x20200000, 0x40400440, 0x44040040,
0x04444040, 0x40400040, 0x00022202, 0x00004000,
0x00040000, 0x20002000, 0x40400400, 0x04040040,
0x04004040, 0x00404000, 0x40022202, 0x00004000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 035
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x40444404, 0x00040400, 0x04002220, 0x20044444,
0x00400002, 0x02000004, 0x04004404, 0x40400404,
0x40444404, 0x04040004, 0x00002220, 0x20000400,
0x00400002, 0x00020004, 0x04004000, 0x40400400,
0x40400404, 0x00040400, 0x04002220, 0x20000400,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 036
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x44044440, 0x40004040, 0x00400222, 0x02004444,
0x04000020, 0x20000040, 0x40044044, 0x04004040,
0x44044440, 0x40404000, 0x40000222, 0x02000040,
0x04000020, 0x00200040, 0x40040004, 0x04004000,
0x44040040, 0x40004040, 0x00400222, 0x02000040,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 037
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x44404444, 0x04000404, 0x00040022, 0x20200444,
0x40000202, 0x00000404, 0x00440440, 0x40040400,
0x44404444, 0x04040400, 0x04000022, 0x20200004,
0x40000200, 0x02000404, 0x00400040, 0x40040004,
0x44404004, 0x04000404, 0x00040022, 0x20200004,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 038
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x04440444, 0x40400040, 0x40004002, 0x22020044,
0x00002020, 0x00004040, 0x04404404, 0x00404000,
0x04440444, 0x40404040, 0x00400002, 0x22020000,
0x00002000, 0x20004040, 0x04000404, 0x00400040,
0x04440400, 0x40400040, 0x40004002, 0x22020000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 039
{
0x00000000, 0x00000000, 0x00000000, 0x00000001,
0x00444044, 0x44040004, 0x04000400, 0x22202004,
0x00020200, 0x00040400, 0x44044040, 0x04040000,
0x00444044, 0x44040404, 0x00040000, 0x22202000,
0x00020002, 0x00040400, 0x40004040, 0x04000401,
0x00444040, 0x04040004, 0x04000400, 0x22202000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 040
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x01044404, 0x44404000, 0x40400040, 0x02220200,
0x00202000, 0x00404004, 0x40440400, 0x40400000,
0x00044404, 0x44404040, 0x40004000, 0x02220200,
0x00200020, 0x00404004, 0x00040400, 0x40004000,
0x01044404, 0x00404000, 0x40400040, 0x02220200,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 041
{
0x00000000, 0x00000000, 0x00000000, 0x00000001,
0x00004440, 0x44440400, 0x04040004, 0x00222020,
0x02020000, 0x04040044, 0x04404004, 0x04000100,
0x00004440, 0x44440404, 0x04000400, 0x00222020,
0x02000200, 0x04040040, 0x00404004, 0x00040001,
0x00004440, 0x40040400, 0x04040004, 0x00222020,
0x00000000, 0x00000000, 0x00000000, 0x00000100,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 042
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x01000444, 0x04444040, 0x00404000, 0x40022202,
0x20200000, 0x40400440, 0x44040040, 0x40000000,
0x00010444, 0x04444040, 0x40400040, 0x00022202,
0x20002000, 0x40400400, 0x04040040, 0x00400000,
0x01000444, 0x04004040, 0x00404000, 0x40022202,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 043
{
0x00000000, 0x00000000, 0x00000000, 0x00010000,
0x00000044, 0x40444404, 0x00040400, 0x04002220,
0x02000004, 0x04004404, 0x40400404, 0x00000100,
0x00000044, 0x40444404, 0x04040004, 0x00002220,
0x00020004, 0x04004000, 0x40400400, 0x04010000,
0x00000044, 0x40400404, 0x00040400, 0x04002220,
0x00000000, 0x00000000, 0x00000000, 0x00000100,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 044
{
0x00000000, 0x00000000, 0x00000000, 0x00100001,
0x00000004, 0x44044440, 0x40004040, 0x00400222,
0x20000040, 0x40044044, 0x04004040, 0x00001000,
0x00000004, 0x44044440, 0x40404000, 0x40000222,
0x00200040, 0x40040004, 0x04004000, 0x40100001,
0x00000004, 0x44040040, 0x40004040, 0x00400222,
0x00000000, 0x00000000, 0x00000000, 0x00001000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 045
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x01000010, 0x44404444, 0x04000404, 0x00040022,
0x00000404, 0x00440440, 0x40040400, 0x00000000,
0x00001000, 0x44404444, 0x04040400, 0x04000022,
0x02000404, 0x00400040, 0x40040004, 0x00000000,
0x01000010, 0x44404004, 0x04000404, 0x00040022,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 046
{
0x00000000, 0x00000000, 0x00000000, 0x00100001,
0x00000000, 0x04440444, 0x40400040, 0x40004002,
0x00004040, 0x04404404, 0x00404000, 0x10000100,
0x00000000, 0x04440444, 0x40404040, 0x00400002,
0x20004040, 0x04000404, 0x00400040, 0x00100001,
0x00000000, 0x04440400, 0x40400040, 0x40004002,
0x00000000, 0x00000000, 0x00000000, 0x10000100,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 047
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x01000010, 0x00444044, 0x44040004, 0x04000400,
0x00040400, 0x44044040, 0x04040000, 0x00000000,
0x00010000, 0x10444044, 0x44040404, 0x00040000,
0x00040400, 0x40004040, 0x04000400, 0x00000000,
0x01000010, 0x00444040, 0x04040004, 0x04000400,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 048
{
0x00000000, 0x00000000, 0x00000010, 0x00010000,
0x00000000, 0x00044404, 0x44404000, 0x40400040,
0x00404004, 0x40440400, 0x40400000, 0x10000100,
0x00000000, 0x00044404, 0x44404040, 0x40004000,
0x00404004, 0x00040400, 0x40004010, 0x00010000,
0x00000000, 0x00044404, 0x00404000, 0x40400040,
0x00000000, 0x00000000, 0x00000000, 0x10000100,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 049
{
0x00000000, 0x00000000, 0x00000000, 0x00000001,
0x00000100, 0x00104440, 0x44440400, 0x04040004,
0x04040044, 0x04404004, 0x04000000, 0x00000000,
0x00010000, 0x10004440, 0x44440404, 0x04000400,
0x04040040, 0x00404004, 0x00040000, 0x00000000,
0x10000100, 0x00104440, 0x40040400, 0x04040004,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 050
{
0x00000000, 0x00000000, 0x00000010, 0x00010000,
0x01000000, 0x00000444, 0x04444040, 0x00404000,
0x40400440, 0x44040040, 0x40001000, 0x01000000,
0x00000000, 0x00000444, 0x04444040, 0x40400040,
0x40400400, 0x04040040, 0x00400010, 0x00010000,
0x00000000, 0x00000444, 0x04004040, 0x00404000,
0x00000000, 0x00000000, 0x00001000, 0x01000010,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 051
{
0x00000000, 0x00000000, 0x00000000, 0x00000001,
0x00000100, 0x00100044, 0x40444404, 0x00040400,
0x04004404, 0x40400404, 0x00000000, 0x00000100,
0x00000001, 0x00001044, 0x40444404, 0x04040004,
0x04004000, 0x40400400, 0x04000000, 0x00000000,
0x10000100, 0x00100044, 0x40400404, 0x00040400,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 052
{
0x00000000, 0x00000000, 0x00100001, 0x00001000,
0x01000000, 0x00000004, 0x44044440, 0x40004040,
0x40044044, 0x04004040, 0x00001000, 0x01000000,
0x00010000, 0x00000004, 0x44044440, 0x40404000,
0x40040004, 0x04004000, 0x40100001, 0x00000001,
0x00000000, 0x00000004, 0x44040040, 0x40004040,
0x00000000, 0x00000000, 0x00001000, 0x01000010,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 053
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00001000, 0x01000010, 0x44404444, 0x04000404,
0x00440440, 0x40040400, 0x00000000, 0x00000100,
0x00000001, 0x00001000, 0x44404444, 0x04040400,
0x00400040, 0x40040004, 0x00000000, 0x00010000,
0x01000000, 0x01000010, 0x44404004, 0x04000404,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 054
{
0x00000000, 0x00000000, 0x00100001, 0x00001001,
0x00000000, 0x00000000, 0x04440444, 0x40400040,
0x04404404, 0x00404000, 0x10000100, 0x00100000,
0x00010000, 0x00000000, 0x04440444, 0x40404040,
0x04000404, 0x00400040, 0x00100001, 0x00000000,
0x00000100, 0x00000000, 0x04440400, 0x40400040,
0x00000000, 0x00000000, 0x10000100, 0x00000100,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 055
{
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x01001000, 0x01000010, 0x00444044, 0x44040004,
0x44044040, 0x04040000, 0x00000000, 0x00000000,
0x10000010, 0x00010000, 0x10444044, 0x44040404,
0x40004040, 0x04000400, 0x00000000, 0x00010000,
0x00000000, 0x01000010, 0x00444040, 0x04040004,
0x00000000, 0x00000000, 0x00000000, 0x01000001,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 056
{
0x00000000, 0x00000010, 0x00010000, 0x00010000,
0x00000000, 0x00000000, 0x00044404, 0x44404000,
0x40440400, 0x40400000, 0x10000100, 0x00100100,
0x00000000, 0x00000000, 0x00044404, 0x44404040,
0x00040400, 0x40004010, 0x00010000, 0x10000010,
0x00000100, 0x00000000, 0x00044404, 0x00404000,
0x00000000, 0x00000000, 0x10000100, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 057
{
0x00000000, 0x00000000, 0x00000001, 0x00000100,
0x00000100, 0x00000100, 0x00104440, 0x44440400,
0x04404004, 0x04000000, 0x00000000, 0x00000000,
0x00010010, 0x00010000, 0x10004440, 0x44440404,
0x00404004, 0x00040000, 0x00000000, 0x00000000,
0x00100000, 0x10000100, 0x00104440, 0x40040400,
0x00000000, 0x00000000, 0x00000000, 0x01000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 058
{
0x00000000, 0x00000010, 0x00010000, 0x00000001,
0x00010000, 0x01000000, 0x00000444, 0x04444040,
0x44040040, 0x40001000, 0x01000000, 0x00000000,
0x00000000, 0x00000000, 0x00000444, 0x04444040,
0x04040040, 0x00400010, 0x00010000, 0x10010000,
0x00000000, 0x00000000, 0x00000444, 0x04004040,
0x00000000, 0x00001000, 0x01000010, 0x00001000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 059
{
0x00000000, 0x00000000, 0x00000001, 0x00000000,
0x01000000, 0x00000100, 0x00100044, 0x40444404,
0x40400404, 0x00000000, 0x00000100, 0x00010000,
0x10000001, 0x00000001, 0x00001044, 0x40444404,
0x40400400, 0x04000000, 0x00000000, 0x00000000,
0x01000100, 0x10000100, 0x00100044, 0x40400404,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 060
{
0x00000000, 0x00100001, 0x00001000, 0x00100001,
0x00000000, 0x01000000, 0x00000004, 0x44044440,
0x04004040, 0x00001000, 0x01000000, 0x00000100,
0x00000100, 0x00010000, 0x00000004, 0x44044440,
0x04004000, 0x40100001, 0x00000001, 0x00000010,
0x00000000, 0x00000000, 0x00000004, 0x44040040,
0x00000000, 0x00001000, 0x01000010, 0x01000100,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 061
{
0x00000000, 0x01000010, 0x00010000, 0x01000010,
0x00000000, 0x00100000, 0x00000000, 0x44404444,
0x40040400, 0x00010000, 0x10000000, 0x00001000,
0x00000010, 0x00001000, 0x00000000, 0x44404444,
0x40040004, 0x01000010, 0x00000010, 0x00000100,
0x10000000, 0x00000000, 0x00000000, 0x44404004,
0x00000000, 0x00010000, 0x10000100, 0x10001000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 062
{
0x00000000, 0x01000010, 0x00010000, 0x01000010,
0x00000000, 0x00100000, 0x00000000, 0x04440444,
0x00404000, 0x00010000, 0x10000000, 0x00001000,
0x00000010, 0x00001000, 0x00000000, 0x04440444,
0x00400040, 0x01000010, 0x00000010, 0x00000100,
0x00000000, 0x00000000, 0x00000000, 0x04440400,
0x00000000, 0x00010000, 0x10000100, 0x10001000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 063
{
0x00000000, 0x00000000, 0x00000000, 0x00000001,
0x00100001, 0x00000100, 0x00100001, 0x00444044,
0x04040000, 0x00000000, 0x00001000, 0x00000000,
0x00001000, 0x00000000, 0x10000100, 0x00444044,
0x04000400, 0x00000000, 0x00100000, 0x10000001,
0x00010000, 0x00100000, 0x00100001, 0x00444040,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 064
{
0x00000000, 0x01000010, 0x00010010, 0x00100000,
0x01000000, 0x00000000, 0x00000000, 0x00044404,
0x40400001, 0x00001000, 0x01000001, 0x00001000,
0x00000000, 0x00001000, 0x00000000, 0x00044404,
0x40004000, 0x01000010, 0x00000000, 0x00100000,
0x01000000, 0x10000010, 0x00000000, 0x00044404,
0x00000001, 0x00001000, 0x00001000, 0x00010000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 065
{
0x00000000, 0x00000000, 0x00000000, 0x00000001,
0x00000010, 0x00100100, 0x00100001, 0x00004440,
0x04000000, 0x00000000, 0x00000000, 0x00000100,
0x00001000, 0x01000001, 0x00001000, 0x01004440,
0x00040000, 0x00000000, 0x00100000, 0x00000001,
0x00000010, 0x00000000, 0x00100001, 0x00004440,
0x00000000, 0x00000000, 0x10000010, 0x00000100,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 066
{
0x00000100, 0x00100000, 0x00100000, 0x01000000,
0x01000000, 0x00000000, 0x00000000, 0x00000444,
0x40000001, 0x00001000, 0x01001000, 0x10000000,
0x00010000, 0x00000000, 0x00000000, 0x00000444,
0x00400100, 0x00100001, 0x00000100, 0x00100000,
0x01000000, 0x00000010, 0x00000000, 0x00000444,
0x00000001, 0x00001000, 0x00000000, 0x10000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 067
{
0x00000000, 0x00000010, 0x50001000, 0x00010001,
0x00000001, 0x00000016, 0x00000010, 0x00010044,
0x00000000, 0x00000006, 0x66000000, 0x00000100,
0x00000000, 0x10001666, 0x66001000, 0x01000044,
0x04000000, 0x00000666, 0x66660000, 0x00010001,
0x00000010, 0x00010007, 0x01000010, 0x00010044,
0x00000000, 0x00000000, 0x70000000, 0x00000100,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 068
{
0x00000010, 0x00010000, 0x60000001, 0x00000000,
0x10001000, 0x00010005, 0x01000000, 0x00000004,
0x00001000, 0x01000006, 0x66000000, 0x10000000,
0x00100000, 0x00000656, 0x56000000, 0x00000004,
0x40000010, 0x00010566, 0x66650001, 0x00000000,
0x10001000, 0x00000007, 0x00000000, 0x00000004,
0x00001000, 0x01000010, 0x70001000, 0x01000000,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 069
{
0x00000000, 0x00000010, 0x50000000, 0x00010001,
0x00000000, 0x00100006, 0x00000010, 0x00010000,
0x00000000, 0x00001006, 0x66100000, 0x01000100,
0x00000000, 0x01000666, 0x66000000, 0x10000100,
0x00000000, 0x00000666, 0x66660000, 0x00010000,
0x00000000, 0x00100017, 0x01000010, 0x00010000,
0x00000000, 0x00000000, 0x70000000, 0x01000100,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 070
{
0x01000010, 0x00010000, 0x61000010, 0x00000000,
0x01000100, 0x00000005, 0x00100000, 0x00000000,
0x00010000, 0x10000006, 0x66001000, 0x00000000,
0x20010001, 0x00000656, 0x56001000, 0x00000000,
0x01000010, 0x00000566, 0x66650100, 0x00000001,
0x30000100, 0x00000007, 0x00000000, 0x00000000,
0x00010000, 0x10000100, 0x70001000, 0x00000003,
0x11111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 071
{
0x00000000, 0x00000000, 0x00000001, 0x00010000,
0x00000000, 0x00100001, 0x00000100, 0x00100001,
0x00000000, 0x00001000, 0x00000000, 0x01000002,
0x22000000, 0x00001000, 0x00000000, 0x10000100,
0x00000000, 0x00100000, 0x10000001, 0x00010011,
0x03000000, 0x00010000, 0x00100000, 0x00100001,
0x00000000, 0x00000000, 0x00000000, 0x01000033,
0x31111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 072
{
0x01000010, 0x00010010, 0x00100000, 0x00000000,
0x20000100, 0x01000000, 0x00000000, 0x00000000,
0x00001000, 0x01000001, 0x00001000, 0x00000022,
0x22200001, 0x00000000, 0x00001000, 0x00000000,
0x01000010, 0x00000000, 0x00100000, 0x00000111,
0x30300100, 0x01000000, 0x10000010, 0x00000000,
0x00001000, 0x00001000, 0x00010000, 0x00000333,
0x23111111, 0x11111111, 0x11111111, 0x11111111
},
// frame 073
{
0x00000000, 0x00000000, 0x00000001, 0x00000002,
0x22000000, 0x00000010, 0x00100100, 0x00100001,
0x00000000, 0x00000000, 0x00000100, 0x01000222,
0x22220000, 0x00001000, 0x01000001, 0x00001000,
0x00000000, 0x00100000, 0x00000001, 0x00001111,
0x33030000, 0x00000010, 0x00000000, 0x00100001,
0x00000000, 0x10000010, 0x00000100, 0x01003333,
0x22311111, 0x11111111, 0x11111111, 0x11111111
},
// frame 074
{
0x00100000, 0x00100000, 0x01000000, 0x00000022,
0x02200000, 0x01000000, 0x00000000, 0x00000000,
0x00001000, 0x01001000, 0x10000000, 0x00002222,
0x22222001, 0x00010000, 0x00000000, 0x00000000,
0x00100001, 0x00000100, 0x00100000, 0x00011111,
0x03303000, 0x01000000, 0x00000010, 0x00000000,
0x00001000, 0x00000000, 0x10000000, 0x00033333,
0x32231111, 0x11111111, 0x11111111, 0x11111111
},
// frame 075
{
0x00000010, 0x00001000, 0x00010001, 0x00000222,
0x00220000, 0x00000001, 0x00000010, 0x00000010,
0x00000000, 0x00000000, 0x00000100, 0x00022220,
0x22222200, 0x00000000, 0x10001001, 0x00001000,
0x00000000, 0x00000000, 0x00010001, 0x00111111,
0x30330300, 0x00000010, 0x00010000, 0x01000010,
0x00000000, 0x10000000, 0x00000100, 0x00333333,
0x13223111, 0x11111111, 0x11111111, 0x11111111
},
// frame 076
{
0x00100000, 0x00100000, 0x01000000, 0x00002220,
0x20022000, 0x01000000, 0x00000000, 0x00000000,
0x00001000, 0x01001000, 0x10000000, 0x00222200,
0x02222220, 0x00010000, 0x00000000, 0x00000000,
0x00100001, 0x00000100, 0x00100000, 0x01111110,
0x03033030, 0x01000000, 0x00000010, 0x00000000,
0x00001000, 0x00000000, 0x10000000, 0x03333330,
0x11322311, 0x11111111, 0x11111111, 0x11111111
}
};
const size_t framesCount = sizeof(frames) / sizeof(frames[0]);
const CRGB colorsList[] =
{
0x000000,
0xFFFFFF,
0xFF0000,
0xFF99CC,
0x099C1C,
0x0000FF,
0x308404,
0x660000
};
//---------------------------------------------------------------------------
void showFrame( uint8_t id )
{
for ( uint8_t i = 0; i < 32; i++ )
{
uint32_t data = pgm_read_dword( &(frames[id][i]) );
for ( int8_t j = 7; j >= 0; j-- )
{
leds[ ( 8 * i ) + j ] = colorsList[ data & 0xF ];
data >>= 4;
}
}
FastLED.show();
}
void setup()
{
FastLED.addLeds<NEOPIXEL, 10>(leds, ledsCount);
}
void loop()
{
uint32_t now = millis();
static uint32_t past = now;
if ( now - past >= 200 )
{
past = now;
static uint8_t id = 0;
showFrame( id );
if ( ++id == framesCount )
{
id = 0;
}
}
}