//go to https://animator.wokwi.com/
//https://icons8.com/animated-icons
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_I2C_ADDR 0x3D // 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: sunrise weather
// Code auto-generated by https://wokwi.com/animator, graphics by icons8.com
#define FRAME_DELAY (42)
#define FRAME_WIDTH (32)
#define FRAME_HEIGHT (32)
#define FRAME_COUNT (sizeof(frames) / sizeof(frames[0]))
const byte PROGMEM frames[][128] = {
{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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,3,1,128,192,1,128,1,128,0,192,3,0,0,67,194,0,0,14,112,0,0,24,24,0,0,48,12,0,0,32,4,0,31,96,6,248,255,255,255,255},
{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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,3,1,128,192,1,128,1,128,0,192,3,0,0,67,194,0,0,14,112,0,0,24,24,0,0,48,12,0,0,32,4,0,31,96,6,248,255,255,255,255},
{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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,3,1,128,192,1,128,1,128,0,192,3,0,0,67,194,0,0,14,112,0,0,24,24,0,0,48,12,0,0,32,4,0,31,96,6,248,255,255,255,255},
{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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,3,1,128,192,1,128,1,128,0,192,3,0,0,67,194,0,0,14,112,0,0,24,24,0,0,48,12,0,0,32,4,0,31,96,6,248,255,255,255,255},
{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,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,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,128,2,1,1,128,3,128,3,0,1,192,6,0,0,195,194,0,0,14,112,0,0,24,24,0,0,48,12,0,0,32,4,0,0,32,4,248,31,32,4,248,63,96,6,0,255,255,255,255},
{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,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,3,0,0,0,3,0,0,0,3,0,0,0,3,1,128,0,3,3,128,7,0,3,0,3,128,6,0,0,195,192,0,0,15,240,0,0,24,24,0,0,48,12,0,0,32,4,0,0,32,4,248,0,32,4,0,31,32,4,0,0,32,4,0,0,48,12,0,0,28,56,0,255,255,255,255},
{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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,2,0,0,0,2,1,0,0,2,3,0,4,2,6,0,7,0,4,0,3,129,128,0,0,207,240,0,0,24,24,0,0,16,8,0,0,32,4,56,0,32,4,248,0,32,4,0,7,32,4,0,31,32,4,0,0,48,12,0,0,24,24,0,0,12,49,0,0,7,227,128,0,48,1,224,255,255,255,255},
{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,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,3,0,0,6,3,0,0,6,6,0,4,0,12,0,6,0,12,0,3,135,192,0,1,142,112,0,0,24,24,0,0,48,12,56,0,32,4,248,0,32,4,0,0,32,4,0,3,32,4,0,31,32,4,0,24,16,8,0,0,24,24,0,0,14,113,128,0,3,192,224,0,48,0,96,0,48,64,0,0,96,96,0,255,255,255,255},
{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,0,0,12,0,0,0,12,2,0,0,4,6,0,0,6,4,0,0,4,12,0,4,0,8,0,14,3,192,0,3,143,240,0,0,152,24,0,0,16,8,120,0,32,4,240,0,32,4,0,0,32,4,0,0,32,4,0,7,32,4,0,31,48,12,0,16,24,25,0,0,12,49,192,0,7,224,224,0,0,0,48,0,48,0,0,0,48,96,0,0,96,32,0,0,224,48,0,255,255,255,255},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,6,0,0,12,6,0,0,12,12,0,0,12,12,0,0,0,8,0,8,0,0,0,14,7,224,0,7,140,48,0,1,152,24,120,0,48,12,240,0,32,4,0,0,32,4,0,0,32,4,0,0,32,4,0,3,48,12,0,31,16,8,0,24,24,25,192,0,15,240,240,0,3,192,48,0,16,0,0,0,16,32,0,0,48,48,0,0,32,48,0,0,96,16,0,0,0,24,0,255,255,255,255},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,24,4,0,0,24,12,0,0,8,8,0,0,12,24,0,0,0,24,0,0,0,0,0,12,7,224,0,15,12,48,56,3,152,24,240,0,48,12,192,0,32,4,0,0,32,4,0,0,32,4,0,0,32,4,0,1,48,12,0,15,16,9,128,28,24,24,224,0,15,240,112,0,3,192,0,0,0,0,0,0,24,48,0,0,16,48,0,0,48,24,0,0,48,24,0,0,0,8,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,12,0,0,24,8,0,0,24,24,0,0,8,24,0,0,8,16,0,0,0,0,0,0,7,224,0,30,12,48,56,7,24,24,240,1,48,12,128,0,32,4,0,0,32,4,0,0,32,4,0,0,32,4,0,0,48,12,0,3,16,8,192,15,24,24,240,24,14,112,56,0,3,192,0,0,0,0,0,0,8,16,0,0,24,24,0,0,24,24,0,0,48,8,0,0,48,8,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,0,0,0,0,0,0,0,32,8,0,0,48,24,0,0,48,24,0,0,24,48,0,0,24,48,0,0,0,0,0,0,3,192,0,8,14,112,112,30,24,25,224,7,16,8,128,0,48,12,0,0,32,4,0,0,32,4,0,0,32,4,0,0,32,12,0,0,48,12,192,7,152,24,240,14,12,48,24,8,7,224,0,0,0,0,0,0,8,16,0,0,12,24,0,0,24,8,0,0,24,12,0,0,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,0,0,0,0,24,0,0,32,24,0,0,48,16,0,0,48,48,0,0,24,48,0,0,24,0,0,0,0,0,0,0,7,224,112,24,12,49,224,31,16,9,128,3,48,12,0,0,32,4,0,0,32,4,0,0,32,4,0,0,32,4,0,0,48,12,192,1,16,8,248,7,152,24,56,14,7,224,0,8,3,192,0,0,0,16,0,0,12,24,0,0,12,12,0,0,8,12,0,0,24,4,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,0,0,0,0,16,0,0,96,48,0,0,32,48,0,0,48,48,0,0,16,32,0,0,16,0,0,0,3,192,48,0,15,240,224,24,24,25,128,31,16,8,0,3,48,12,0,0,32,4,0,0,32,4,0,0,32,4,0,0,32,4,128,0,48,12,240,1,152,24,56,7,140,48,0,14,7,224,0,8,0,0,0,0,4,24,0,0,12,12,0,0,12,12,0,0,12,6,0,0,8,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,16,0,0,0,48,0,0,96,48,0,0,96,48,0,0,48,32,0,0,48,0,0,0,0,0,48,0,7,192,112,0,14,113,192,24,24,25,0,31,48,12,0,3,32,4,0,0,32,4,0,0,32,4,0,0,32,4,0,0,32,4,224,0,16,8,120,1,152,24,0,3,142,112,0,14,3,192,0,0,0,8,0,0,4,12,0,0,4,12,0,0,12,6,0,0,12,2,0,0,12,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,48,0,0,0,48,0,0,64,32,0,0,96,96,0,0,48,96,0,0,48,0,0,0,0,0,112,0,7,224,224,0,12,49,128,16,24,24,0,31,48,12,0,7,32,4,0,0,32,4,0,0,32,4,0,0,32,4,0,0,48,12,248,0,16,8,56,1,152,24,0,3,135,224,0,14,1,128,0,4,0,8,0,0,6,12,0,0,6,6,0,0,4,6,0,0,12,2,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,32,0,0,0,32,0,0,192,96,0,0,96,96,0,0,96,96,0,0,48,0,32,0,0,0,96,0,7,225,192,0,12,49,128,0,16,8,0,31,48,12,0,7,32,4,0,0,32,4,0,0,96,4,0,0,32,4,192,0,48,12,248,0,16,8,8,0,156,56,0,3,135,224,0,7,0,0,0,4,0,12,0,0,6,12,0,0,6,6,0,0,6,3,0,0,4,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,32,0,0,0,96,0,0,192,96,0,0,96,96,0,0,96,96,0,0,48,0,32,0,0,0,224,0,7,225,192,0,12,49,0,0,16,8,0,30,48,12,0,15,32,4,0,0,96,6,0,0,96,6,0,0,32,4,240,0,32,4,248,0,16,8,0,0,156,56,0,3,135,224,0,7,0,0,0,4,0,12,0,0,2,6,0,0,6,6,0,0,6,3,0,0,6,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,96,0,0,0,96,0,0,192,96,0,0,192,96,0,0,96,64,0,0,48,0,32,0,0,0,224,0,3,193,192,0,14,113,0,0,24,24,0,30,48,12,0,31,32,4,0,0,96,6,0,0,96,6,0,0,96,6,240,0,32,4,120,0,16,8,0,0,156,56,0,1,135,224,0,7,0,0,0,6,0,12,0,0,2,6,0,0,6,6,0,0,6,3,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,96,0,0,0,96,0,0,192,96,0,0,192,96,0,0,96,64,0,0,48,0,96,0,0,0,224,0,3,193,128,0,14,113,0,0,24,24,0,30,32,4,0,31,96,6,0,0,96,6,0,0,96,6,0,0,96,6,248,0,32,4,120,0,16,8,0,0,140,48,0,1,131,192,0,7,0,0,0,6,0,12,0,0,2,6,0,0,6,3,0,0,6,3,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,96,0,0,0,96,0,0,192,96,0,0,192,64,0,0,96,64,0,0,48,0,96,0,0,0,224,0,3,193,128,0,14,113,0,0,48,12,0,30,32,4,0,31,96,6,0,0,64,6,0,0,96,6,0,0,96,6,248,0,32,4,56,0,16,8,0,0,142,112,0,1,131,192,0,7,0,4,0,6,0,12,0,0,2,6,0,0,6,3,0,0,6,3,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,96,0,0,0,96,0,0,192,96,0,0,192,64,0,0,96,64,0,0,48,0,96,0,0,0,192,0,7,225,128,0,28,48,0,0,48,12,0,30,32,4,0,31,96,6,0,0,96,6,0,0,96,6,0,0,96,6,248,0,48,12,24,0,24,24,0,0,142,112,0,1,131,192,0,7,0,4,0,6,0,12,0,0,2,6,0,0,2,3,0,0,6,1,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,96,0,0,0,64,0,0,128,64,0,0,192,64,0,0,96,64,0,0,96,0,96,0,32,0,192,0,3,195,128,0,14,113,0,0,24,24,0,0,48,12,0,31,32,4,0,3,96,6,0,0,96,6,0,0,32,4,248,0,32,4,24,0,16,8,0,0,28,56,0,1,199,224,0,3,128,0,0,7,0,6,0,4,2,6,0,0,2,3,0,0,2,1,0,0,2,0,0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,64,0,0,0,192,0,0,0,192,0,1,0,192,0,1,128,192,0,0,192,128,96,0,96,1,192,0,32,3,128,0,7,227,0,0,24,24,0,0,16,8,0,0,32,4,0,31,32,4,0,15,96,6,0,0,32,4,248,0,32,4,24,0,48,12,0,0,24,24,0,0,12,48,0,0,199,224,0,1,128,6,0,3,0,7,0,2,3,3,0,0,3,1,128,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,0,0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,3,1,128,192,1,128,1,128,0,192,3,0,0,71,194,0,0,14,112,0,0,24,24,0,0,48,12,0,0,32,4,0,0,32,4,0,63,32,4,252,0,32,4,0,0,32,4,0,0,48,12,0,0,24,24,0,0,15,240,0,0,67,194,0,0,192,3,0,1,128,1,128,3,1,128,192,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,0,0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,3,1,128,192,1,128,1,128,0,192,3,0,0,71,194,0,0,14,112,0,0,24,24,0,0,48,12,0,0,32,4,0,0,32,4,0,63,32,4,252,0,32,4,0,0,32,4,0,0,48,12,0,0,24,24,0,0,15,240,0,0,67,194,0,0,192,3,0,1,128,1,128,3,1,128,192,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,0,0,0,0,0,0,0,0,255,255,255,255},
{0,0,0,0,0,0,0,0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,3,1,128,192,1,128,1,128,0,192,3,0,0,71,194,0,0,14,112,0,0,24,24,0,0,48,12,0,0,32,4,0,0,32,4,0,63,32,4,252,0,32,4,0,0,32,4,0,0,48,12,0,0,24,24,0,0,15,240,0,0,67,194,0,0,192,3,0,1,128,1,128,3,1,128,192,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,0,0,0,0,0,0,0,0,255,255,255,255}
};
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, SCREEN_I2C_ADDR);
}
int frame = 0;
void loop() {
display.clearDisplay();
display.drawBitmap(48, 16, frames[frame], FRAME_WIDTH, FRAME_HEIGHT, 1);
display.display();
frame = (frame + 1) % FRAME_COUNT;
delay(FRAME_DELAY);
}