create, convert and copy paste
Creating Pixel based animations for embedded systems like Arduino or ESP32 is unfortunately far away from beeing comfortable. We need to refer to some oldschool best practice to make the design process manageable and fun. The magic word is spritesheet 🙂 – First off – the creation comes first in a program of your choice – preferable a tool considered for pixel art – because they often come with the option to export finished spritesheets from animations. Aseprite is some kind of instance in this matter.
The image data then needs to be converted to a readable C++ Array for the popular display software.
Adafruit Neopixel as one of the most popular software libs uses 16bit color encoding – from top left to bottom right. The Color Scheme R5G6B5 seems to work in the most cases – depening on the LED device you are using.
// 96x16 pixel image - make sure, you deal with the right dimensions of your gfx - otherwise again - glitch ;) // the PROGMEM tag sends this data to the memory of your chip to not dump your operating space static const uint16_t FACES_MAP[] PROGMEM = { 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0xdb84, 0xdb84, 0xdb84, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0xdb84, 0xdb84, 0xdb84, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x64df, 0x64df, 0x64df, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x64df, 0x64df, 0x64df, 0xffff, 0x0000, 0x5e7c, 0x64df, 0xffff, 0xffff, 0xffff, 0xdb84, 0xdb84, 0x5e7c, 0x5e7c, 0xdb84, 0xdb84, 0x5e7c, 0xffff, 0xffff, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xdb84, 0xdb84, 0xa986, 0xa986, 0xa986, 0xa986, 0xdb84, 0xdb84, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xa986, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa986, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x0000, 0x0000, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x0000, 0x0000, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x7211, 0x7211, 0x7211, 0x7211, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0xa986, 0x7211, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x7211, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c };
As an outcome, you recieve a quiet complex array – you can simply copy and paste to you project – you won’t need to touch this very often later on.
This is a minimal version of a code running a ESP32 with a 16×16 RGB Matrix.
#include <Arduino.h> #include <FastLED.h> // FastLED by Daniel Garcia #include <Adafruit_NeoMatrix.h> #include <trx_btn.h> #define WHITE 0xffff #define BLACK 0x0000 uint16_t BUFFER_BRUSH[256]; // our 16x16 pixel brush // 96x16 pixel image - make sure, you deal with the right dimensions of your gfx - otherwise again - glitch ;) // the PROGMEM tag sends this data to the memory of your chip to not dump your operating space static const uint16_t FACES_MAP[] PROGMEM = { 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0xdb84, 0xdb84, 0xdb84, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0xdb84, 0xdb84, 0xdb84, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x64df, 0x64df, 0x64df, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x64df, 0x64df, 0x64df, 0xffff, 0x0000, 0x5e7c, 0x64df, 0xffff, 0xffff, 0xffff, 0xdb84, 0xdb84, 0x5e7c, 0x5e7c, 0xdb84, 0xdb84, 0x5e7c, 0xffff, 0xffff, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0x5e7c, 0x64df, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xdb84, 0xdb84, 0xa986, 0xa986, 0xa986, 0xa986, 0xdb84, 0xdb84, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xa986, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa986, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x0000, 0x0000, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x0000, 0x0000, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x7211, 0x7211, 0x7211, 0x7211, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0xa986, 0x7211, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x7211, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c }; int animtick = 0; // animation timeline ticker int cframe = 0; // current frame of animation int text_scroll = 0; // text scrolling pointer int mode = 0; // mainmode #define w 16 #define h 16 #define PIN 13 Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(w, h, PIN, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800); // BUTTON SETUP aBTN btn1(5,false); // init button 1 on digipin 2 aBTN btn2(18,false); // init button 2 on digipin 4 aBTN btn3(21,false); // init button 1 on digipin 2 aBTN btn4(19,false); // init button 2 on digipin 4 // update a buffer brush -------------------- void updateBufferBrush(int _i, int _l){ int i = 0; for(int y=0;y<16;y++){ for(int x=0;x<16;x++){ BUFFER_BRUSH[i] = FACES_MAP[_i + x + y*96]; i++; }} } void setup() { // put your setup code here, to run once: delay(100); matrix.begin(); matrix.setBrightness(22); matrix.clear(); } void drawImage(){ float xpos = 0; float ypos = 0;//sin(millis()*.003)*66+160; // make the image wiggle a bit xpos += sin(millis()*.00163)*2; ypos += sin(millis()*.0099)*2; matrix.drawRGBBitmap(0,ypos,BUFFER_BRUSH,16,16); } // ------------------------------------------------- void loop() { // ---- operate all buttons in parallel // ------------------------------- btn1.operateBUTTON(); btn2.operateBUTTON(); btn3.operateBUTTON(); btn4.operateBUTTON(); if(mode==0){ animtick++; if(animtick > 44){ animtick = 0; cframe = int(random(6)); updateBufferBrush(cframe*16, 256); } // fill screen with basic color ---------- matrix.fillScreen(0x5e7c); drawImage(); }else if (mode==1){ matrix.fillScreen(WHITE); matrix.setCursor(text_scroll,4); matrix.setTextColor(BLACK); matrix.setTextWrap(false); matrix.print("Why run all the time?"); text_scroll--; if(text_scroll<-140){ text_scroll = 16; } } matrix.show(); delay(11); }
//64x32 pixel image - make sure, you deal with the right dimensions of your gfx - otherwise again - glitch ;) static const uint16_t FACES_MAP[] PROGMEM = { 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x64df, 0xffff, 0xffff, 0xffff, 0xdb84, 0xdb84, 0x5e7c, 0x5e7c, 0xdb84, 0xdb84, 0x5e7c, 0xffff, 0xffff, 0x64df, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x64df, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x0000, 0x0000, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x0000, 0x0000, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x7211, 0x7211, 0x7211, 0x7211, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0xa986, 0x7211, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x7211, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5b7c, 0xdb84, 0xdb84, 0xdb84, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0xdb84, 0xdb84, 0xdb84, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x64df, 0x64df, 0x64df, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x64df, 0x64df, 0x64df, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0xffff, 0x5e7c, 0x64df, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x0000, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xffff, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xdb84, 0xdb84, 0xa986, 0xa986, 0xa986, 0xa986, 0xdb84, 0xdb84, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xa986, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa986, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0xa986, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa986, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0xa986, 0x5e7c, 0x5e7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5b7c, 0x5b7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c, 0x5e7c };
a raw implementation to shuffle an char* array
// define the size of the array const int ARRAY_SIZE = 10; // the array to be copied and shuffled char* array[ARRAY_SIZE] = { "apple", "banana", "cherry", "date", "elderberry", "fig", "grape", "honeydew", "ilama", "jackfruit" }; // create a copy of the array char* copy[ARRAY_SIZE]; for (int i = 0; i < ARRAY_SIZE; i++) { copy[i] = array[i]; } // shuffle the copy of the array randomSeed(analogRead(0)); // seed the random number generator for (int i = 0; i < ARRAY_SIZE; i++) { int j = random(ARRAY_SIZE); char* tmp = copy[i]; copy[i] = copy[j]; copy[j] = tmp; } /* Note that this implementation of the shuffle algorithm is not as efficient as the one using the stdlib.h header file, because it does not use the shuffle() function, which is a optimized implementation of the Fisher-Yates shuffle algorithm. However, it should work fine for small arrays. As in the previous example, this program uses C-style strings (i.e., arrays of char) to represent the fruit names. You could also use the String class, which is available in Arduino, if you prefer to work with string objects instead of char arrays. */