/* **TESTES COM DISPLAY OLED** */
// imagens bmp https://javl.github.io/image2cpp/
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_SSD1306.h"
#include <Fonts/FreeSerif12pt7b.h>
/** ******** DEFINES E VARS GLOBAIS ****** **/
#define IN_AETERNUM 1
#define BMP_WIDTH 49
#define BMP_HEIGHT 36
#define X_TIME 0 // 0 ms
#define FRAMES_QTY 10 // nove frames
Adafruit_SSD1306 display(-1);
// 'frame_09_delay-0', 36x49px
const unsigned char bmpGIF_frame_09_delay_0 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x00,
0x00, 0x00, 0x0f, 0x0e, 0x00, 0x00, 0x00, 0x38, 0x03, 0x80, 0x00, 0x00, 0x60, 0x00, 0xc0, 0x00,
0x00, 0x40, 0x00, 0x60, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, 0x01, 0x80, 0x00, 0x10, 0x00, 0x01,
0x06, 0x30, 0x18, 0x00, 0x03, 0x07, 0x30, 0x08, 0x00, 0x02, 0x07, 0x30, 0x0c, 0x00, 0x02, 0x07,
0x30, 0x0c, 0x00, 0x06, 0x07, 0x30, 0x04, 0x00, 0x04, 0x07, 0x30, 0x04, 0x00, 0x04, 0x02, 0x30,
0x04, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x04, 0x80, 0x00, 0x34, 0x00, 0x04, 0x80, 0x00, 0x34,
0x00, 0x06, 0xc0, 0x00, 0x24, 0x00, 0x02, 0xc0, 0x00, 0x6c, 0x00, 0x02, 0x60, 0x00, 0xec, 0x00,
0x03, 0x30, 0x01, 0xc8, 0x00, 0x01, 0x1e, 0x07, 0x18, 0x00, 0x01, 0x87, 0xfe, 0x10, 0x00, 0x00,
0x81, 0xf0, 0x20, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x38,
0x03, 0x00, 0x00, 0x00, 0x0f, 0x0e, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1f, 0xff, 0x80, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, 0x1f, 0xff, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00
};
// 'frame_08_delay-0', 36x49px
const unsigned char bmpGIF_frame_08_delay_0 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
0xf8, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x03, 0x80, 0x00, 0x00, 0x30, 0x00,
0xc0, 0x00, 0x00, 0x60, 0x00, 0x40, 0x00, 0x00, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x86, 0x30, 0x30,
0x00, 0x01, 0x87, 0x30, 0x10, 0x00, 0x01, 0x07, 0x30, 0x10, 0x00, 0x01, 0x07, 0x30, 0x08, 0x00,
0x03, 0x07, 0x30, 0x08, 0x00, 0x02, 0x07, 0x30, 0x08, 0x00, 0x02, 0x06, 0x30, 0x0c, 0x00, 0x02,
0x00, 0x00, 0x0c, 0x00, 0x02, 0x80, 0x00, 0x3c, 0x00, 0x02, 0x80, 0x00, 0x3c, 0x00, 0x02, 0x80,
0x00, 0x2c, 0x00, 0x02, 0xc0, 0x00, 0x6c, 0x00, 0x03, 0x60, 0x00, 0x68, 0x00, 0x03, 0x30, 0x01,
0xc8, 0x00, 0x01, 0x1c, 0x03, 0x18, 0x00, 0x01, 0x0f, 0xfe, 0x10, 0x00, 0x01, 0x81, 0xf0, 0x10,
0x00, 0x00, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0xc0, 0x00,
0x00, 0x30, 0x01, 0x80, 0x00, 0x00, 0x1c, 0x03, 0x00, 0x00, 0x00, 0x07, 0x0e, 0x00, 0x00, 0x00,
0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00
};
// 'frame_07_delay-0', 36x49px
const unsigned char bmpGIF_frame_07_delay_0 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
0x03, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00, 0x00, 0x30,
0x00, 0x80, 0x00, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x00, 0x40, 0x20, 0x40, 0x00, 0x00, 0x43, 0x70,
0x60, 0x00, 0x00, 0x83, 0x70, 0x20, 0x00, 0x00, 0x83, 0x70, 0x20, 0x00, 0x01, 0x83, 0x70, 0x10,
0x00, 0x00, 0x83, 0x70, 0x10, 0x00, 0x01, 0x03, 0x60, 0x10, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00,
0x01, 0x20, 0x00, 0xd0, 0x00, 0x01, 0x20, 0x00, 0xd0, 0x00, 0x01, 0x20, 0x00, 0xd0, 0x00, 0x01,
0x30, 0x00, 0x90, 0x00, 0x01, 0x30, 0x01, 0x90, 0x00, 0x01, 0x1c, 0x03, 0x10, 0x00, 0x00, 0x86,
0x0e, 0x10, 0x00, 0x01, 0x83, 0xf8, 0x10, 0x00, 0x00, 0x80, 0xe0, 0x20, 0x00, 0x00, 0xc0, 0x00,
0x20, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x40, 0x00, 0x00, 0x20, 0x00, 0xc0,
0x00, 0x00, 0x30, 0x00, 0x80, 0x00, 0x00, 0x18, 0x03, 0x00, 0x00, 0x00, 0x0c, 0x06, 0x00, 0x00,
0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x00, 0x03, 0xfc, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00
};
// 'frame_06_delay-0', 36x49px
const unsigned char bmpGIF_frame_06_delay_0 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
0xf8, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x03, 0x80, 0x00, 0x00, 0x30, 0x00,
0xc0, 0x00, 0x00, 0x60, 0x00, 0x40, 0x00, 0x00, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x86, 0x30, 0x30,
0x00, 0x01, 0x87, 0x30, 0x10, 0x00, 0x01, 0x07, 0x30, 0x10, 0x00, 0x01, 0x07, 0x30, 0x08, 0x00,
0x03, 0x07, 0x30, 0x08, 0x00, 0x02, 0x07, 0x30, 0x08, 0x00, 0x02, 0x06, 0x30, 0x0c, 0x00, 0x02,
0x00, 0x00, 0x0c, 0x00, 0x02, 0x80, 0x00, 0x3c, 0x00, 0x02, 0x80, 0x00, 0x3c, 0x00, 0x02, 0x80,
0x00, 0x2c, 0x00, 0x02, 0xc0, 0x00, 0x6c, 0x00, 0x03, 0x60, 0x00, 0x68, 0x00, 0x03, 0x30, 0x01,
0xc8, 0x00, 0x01, 0x1c, 0x03, 0x18, 0x00, 0x01, 0x0f, 0xfe, 0x10, 0x00, 0x01, 0x81, 0xf0, 0x10,
0x00, 0x00, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0xc0, 0x00,
0x00, 0x30, 0x01, 0x80, 0x00, 0x00, 0x1c, 0x03, 0x00, 0x00, 0x00, 0x07, 0x0e, 0x00, 0x00, 0x00,
0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00
};
// 'frame_05_delay-0', 36x49px
const unsigned char bmpGIF_frame_05_delay_0 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x00,
0x00, 0x00, 0x0f, 0x0e, 0x00, 0x00, 0x00, 0x38, 0x03, 0x80, 0x00, 0x00, 0x60, 0x00, 0xc0, 0x00,
0x00, 0x40, 0x00, 0x60, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, 0x01, 0x80, 0x00, 0x10, 0x00, 0x01,
0x06, 0x30, 0x18, 0x00, 0x03, 0x07, 0x30, 0x08, 0x00, 0x02, 0x07, 0x30, 0x0c, 0x00, 0x02, 0x07,
0x30, 0x0c, 0x00, 0x06, 0x07, 0x30, 0x04, 0x00, 0x04, 0x07, 0x30, 0x04, 0x00, 0x04, 0x02, 0x30,
0x04, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x04, 0x80, 0x00, 0x34, 0x00, 0x04, 0x80, 0x00, 0x34,
0x00, 0x06, 0xc0, 0x00, 0x24, 0x00, 0x02, 0xc0, 0x00, 0x6c, 0x00, 0x02, 0x60, 0x00, 0xec, 0x00,
0x03, 0x30, 0x01, 0xc8, 0x00, 0x01, 0x1e, 0x07, 0x18, 0x00, 0x01, 0x87, 0xfe, 0x10, 0x00, 0x00,
0x81, 0xf0, 0x20, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x38,
0x03, 0x00, 0x00, 0x00, 0x0f, 0x0e, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1f, 0xff, 0x80, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, 0x1f, 0xff, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00
};
// 'frame_04_delay-0', 36x49px
const unsigned char bmpGIF_frame_04_delay_0 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x00, 0x00, 0x00,
0x38, 0x01, 0x80, 0x00, 0x00, 0x60, 0x00, 0x40, 0x00, 0x00, 0xc0, 0x00, 0x20, 0x00, 0x01, 0x80,
0x00, 0x10, 0x00, 0x01, 0x06, 0x30, 0x18, 0x00, 0x02, 0x07, 0x30, 0x08, 0x00, 0x02, 0x07, 0x30,
0x0c, 0x00, 0x06, 0x07, 0x30, 0x04, 0x00, 0x04, 0x07, 0x30, 0x04, 0x00, 0x04, 0x07, 0x30, 0x02,
0x00, 0x04, 0x02, 0x30, 0x02, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x04, 0x80, 0x00, 0x32, 0x00,
0x04, 0x80, 0x00, 0x32, 0x00, 0x04, 0xc0, 0x00, 0x24, 0x00, 0x06, 0xc0, 0x00, 0x64, 0x00, 0x02,
0x60, 0x00, 0xec, 0x00, 0x02, 0x30, 0x01, 0xc8, 0x00, 0x01, 0x1e, 0x07, 0x18, 0x00, 0x01, 0x87,
0xfe, 0x10, 0x00, 0x00, 0xc1, 0xf0, 0x20, 0x00, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x38, 0x01,
0xc0, 0x00, 0x00, 0xfe, 0x0f, 0xf0, 0x00, 0x01, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff, 0xff, 0xf0,
0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00
};
// 'frame_03_delay-0', 36x49px
const unsigned char bmpGIF_frame_03_delay_0 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, 0x1e, 0x07, 0x80, 0x00, 0x00, 0x30,
0x00, 0xc0, 0x00, 0x00, 0xe0, 0x00, 0x70, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00,
0x08, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x06, 0x03, 0x38, 0x06, 0x00, 0x00, 0x03, 0x38, 0x00,
0x00, 0x04, 0x03, 0x38, 0x02, 0x00, 0x08, 0x03, 0x38, 0x01, 0x00, 0x08, 0x03, 0x38, 0x01, 0x00,
0x08, 0x03, 0x38, 0x01, 0x00, 0x09, 0x82, 0x10, 0x19, 0x00, 0x09, 0x80, 0x00, 0x19, 0x00, 0x0d,
0x80, 0x00, 0x1b, 0x00, 0x04, 0x80, 0x00, 0x12, 0x00, 0x04, 0xc0, 0x00, 0x32, 0x00, 0x02, 0x60,
0x00, 0x64, 0x00, 0x03, 0x38, 0x01, 0xcc, 0x00, 0x01, 0x8f, 0xff, 0x18, 0x00, 0x00, 0xc3, 0xfc,
0x30, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x07, 0xf8, 0x01, 0xfc, 0x00, 0x07, 0xff, 0xff, 0xfc,
0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00
};
// 'frame_02_delay-0', 36x49px
const unsigned char bmpGIF_frame_02_delay_0 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff,
0x80, 0x00, 0x00, 0x70, 0x00, 0xe0, 0x00, 0x01, 0xc0, 0x00, 0x38, 0x00, 0x02, 0x00, 0x00, 0x04,
0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x80,
0x30, 0x1f, 0xbf, 0x00, 0xc0, 0x22, 0x00, 0x00, 0x04, 0x40, 0x22, 0x00, 0x00, 0x04, 0x40, 0x22,
0x00, 0x00, 0x04, 0x40, 0x23, 0x00, 0x00, 0x0c, 0x40, 0x33, 0x00, 0x00, 0x0c, 0xc0, 0x11, 0xc0,
0x00, 0x38, 0x80, 0x18, 0x60, 0x00, 0x61, 0x80, 0x0c, 0x3f, 0xff, 0xc3, 0x00, 0x06, 0x07, 0xfe,
0x06, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x01, 0xf0, 0x00, 0xf8, 0x00, 0x07, 0xff, 0xff, 0xfe,
0x00, 0x00, 0x4f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00
};
// 'frame_01_delay-0', 36x49px
const unsigned char bmpGIF_frame_01_delay_0 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x1e, 0x07, 0x80, 0x00, 0x00, 0x30,
0x00, 0xc0, 0x00, 0x00, 0xe0, 0x00, 0x70, 0x00, 0x01, 0x80, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00,
0x08, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x04, 0x00, 0x00, 0x02,
0x00, 0x04, 0x1f, 0xbf, 0x02, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00,
0x08, 0x00, 0x00, 0x01, 0x00, 0x09, 0x80, 0x00, 0x19, 0x00, 0x09, 0x80, 0x00, 0x19, 0x00, 0x05,
0x80, 0x00, 0x1a, 0x00, 0x04, 0x80, 0x00, 0x12, 0x00, 0x04, 0xc0, 0x00, 0x32, 0x00, 0x02, 0x60,
0x00, 0x64, 0x00, 0x03, 0x38, 0x01, 0xcc, 0x00, 0x01, 0x8f, 0xff, 0x18, 0x00, 0x00, 0xc3, 0xfc,
0x30, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x03, 0xf8, 0x01, 0xfc, 0x00, 0x03, 0xff, 0xff, 0xfc,
0x00, 0x00, 0x2f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00
};
// 'frame_00_delay-0', 36x49px
const unsigned char bmpGIF_frame_00_delay_0 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x00, 0x00, 0x00,
0x38, 0x01, 0x80, 0x00, 0x00, 0x60, 0x00, 0x40, 0x00, 0x00, 0xc0, 0x00, 0x20, 0x00, 0x01, 0x80,
0x00, 0x10, 0x00, 0x01, 0x06, 0x30, 0x18, 0x00, 0x02, 0x07, 0x30, 0x08, 0x00, 0x02, 0x07, 0x30,
0x0c, 0x00, 0x06, 0x07, 0x30, 0x04, 0x00, 0x04, 0x07, 0x30, 0x04, 0x00, 0x04, 0x07, 0x30, 0x02,
0x00, 0x04, 0x02, 0x30, 0x02, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x04, 0x80, 0x00, 0x32, 0x00,
0x04, 0x80, 0x00, 0x32, 0x00, 0x04, 0xc0, 0x00, 0x24, 0x00, 0x06, 0xc0, 0x00, 0x64, 0x00, 0x02,
0x60, 0x00, 0xec, 0x00, 0x02, 0x30, 0x01, 0xc8, 0x00, 0x01, 0x1e, 0x07, 0x18, 0x00, 0x01, 0x87,
0xfe, 0x10, 0x00, 0x00, 0xc1, 0xf0, 0x20, 0x00, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x38, 0x01,
0xc0, 0x00, 0x00, 0xfe, 0x0f, 0xf0, 0x00, 0x01, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff, 0xff, 0xf0,
0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00
};
// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 2720)
const int bmpGIF_allArray_LEN = 10;
const unsigned char* bmpGIF_allArray[10] = {
bmpGIF_frame_00_delay_0,
bmpGIF_frame_01_delay_0,
bmpGIF_frame_02_delay_0,
bmpGIF_frame_03_delay_0,
bmpGIF_frame_04_delay_0,
bmpGIF_frame_05_delay_0,
bmpGIF_frame_06_delay_0,
bmpGIF_frame_07_delay_0,
bmpGIF_frame_08_delay_0,
bmpGIF_frame_09_delay_0
};
/** ******** PROTOTIPO DAS FUNÇOES ********** **/
void writeDisplay(char *);
void clearBoom(unsigned int);
void playFrames(const unsigned char *);
void setup() {
// Inicializa com o I2C addr ? 0x3C ? (PERGUNTAR PRO ANDRE)
Serial.begin(115200);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("IXE!, SSD1306 allocation failed"));
for(;;);
}
clearBoom(800); // Limpa o display e Pausa por 0,8 segundos
}
// ? COMO FAZER PARA IMPRIMIR SEM SER UM POR UM COM PONTEIROS?
void loop() {
// Limpa o display
//clearBoom(333);
// const unsigned char frames[]={
// Frame1,Frame2,Frame3, Frame4,
// Frame5,Frame6,Frame7,Frame8
// };
// for(unsigned int i=0; i < FRAMES_QTY;i++){
playFrames(bmpGIF_frame_00_delay_0);
playFrames(bmpGIF_frame_01_delay_0);
playFrames(bmpGIF_frame_02_delay_0);
playFrames(bmpGIF_frame_03_delay_0);
playFrames(bmpGIF_frame_04_delay_0);
playFrames(bmpGIF_frame_05_delay_0);
playFrames(bmpGIF_frame_06_delay_0);
playFrames(bmpGIF_frame_07_delay_0);
playFrames(bmpGIF_frame_08_delay_0);
playFrames(bmpGIF_frame_09_delay_0);
//Serial.println(bmpGIF_frame_09_delay_0[0]);
// }
}
void writeDisplay(const char * text, unsigned int textSize){
unsigned char hasSpecialChars = 1;
// Texto no display
display.setTextSize(textSize); // Fonte do texto
display.setTextColor(WHITE); // Cor do texto
display.setCursor(0,38); // Posiciona o cursor
if(!hasSpecialChars){
display.println(text); // Imprime mensagem
}else{
while(*text != '\0'){
display.write(*text);
text++;
}
}
display.display();
}
void clearBoom(unsigned int MS){
display.setFont(); // Retorna para a fonte normal
delay(MS);
display.clearDisplay();
}
// ?? PERGUNTAR PRO ANDRE PROPORÇAO X E Y
void playFrames(const unsigned char *currentFrame){
//int dist = 0;
// Desenha um bitmap na tela
display.drawBitmap((display.width() - BMP_WIDTH)/2, (display.height() -BMP_HEIGHT)/2, currentFrame , BMP_HEIGHT, BMP_WIDTH, 1); // Coordenada X, coordenada Y, nome da imagem,
// tamanho na coordenada x, tamanho na coordenada y, nome do arquivo bitmap (sempre 1)
//dist++;
display.display();
clearBoom(X_TIME);
}