#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_I2C_ADDR 0x3C // or 0x3C
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RST_PIN -1 // Reset pin (-1 if not available)
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST_PIN);
// OLED Animation: walk
// Code auto-generated by https://wokwi.com/animator, graphics by icons8.com
#define FRAME_DELAY (42)
#define FRAME_WIDTH (64)
#define FRAME_HEIGHT (64)
#define FRAME_COUNT (sizeof(frames) / sizeof(frames[0]))
const byte PROGMEM frames[][512] = {
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,252,0,0,0,0,0,0,3,254,0,0,0,0,0,0,7,7,0,0,0,0,0,0,6,3,0,0,0,0,0,0,14,3,128,0,0,0,0,0,14,3,128,0,0,0,0,0,14,3,128,0,0,0,0,0,14,3,128,0,0,0,0,0,6,3,0,0,0,0,0,0,7,143,0,0,0,0,0,0,3,254,0,0,0,0,0,0,1,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,224,0,0,0,0,0,0,127,248,0,0,0,0,0,0,248,60,0,0,0,0,0,1,224,28,0,0,0,0,0,7,128,14,0,0,0,0,0,15,0,15,0,0,0,0,0,30,0,15,0,0,0,0,0,56,0,31,128,0,0,0,0,112,112,29,192,0,0,0,0,224,240,25,192,0,0,0,0,225,240,24,252,0,0,0,0,199,240,60,127,128,0,0,1,199,96,60,31,192,0,0,1,206,96,62,1,224,0,0,3,142,224,119,128,224,0,0,3,140,224,115,240,224,0,0,7,28,192,113,255,224,0,0,7,24,192,96,63,192,0,0,6,57,192,224,3,128,0,0,7,49,192,224,0,0,0,0,7,241,192,224,0,0,0,0,3,225,192,112,0,0,0,0,0,129,192,120,0,0,0,0,0,3,224,56,0,0,0,0,0,3,248,28,0,0,0,0,0,3,188,14,0,0,0,0,0,3,30,15,0,0,0,0,0,3,15,7,0,0,0,0,0,7,15,131,128,0,0,0,0,7,31,195,128,0,0,0,0,14,29,225,128,0,0,0,0,30,28,225,128,0,0,0,0,28,24,97,192,0,0,0,0,56,56,97,192,0,0,0,0,112,112,112,192,0,0,0,0,240,240,112,192,0,0,0,0,224,224,48,224,0,0,0,1,193,192,48,224,0,0,0,3,131,128,56,96,0,0,0,3,135,0,56,96,0,0,0,3,135,0,24,96,0,0,0,3,142,0,28,224,0,0,0,1,252,0,15,224,0,0,0,0,248,0,15,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
};
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, SCREEN_I2C_ADDR);
}
int frame = 0;
void loop() {
display.clearDisplay();
display.drawBitmap(32, 0, frames[frame], FRAME_WIDTH, FRAME_HEIGHT, 1);
display.display();
frame = (frame + 1) % FRAME_COUNT;
delay(FRAME_DELAY);
}