#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: wifi search
// 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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,192,0,0,0,0,0,3,255,255,192,0,0,0,0,31,255,255,248,0,0,0,0,255,0,1,255,128,0,0,7,240,0,0,31,224,0,0,15,128,0,0,1,248,0,0,62,0,0,0,0,124,0,0,248,0,0,0,0,31,0,3,224,0,15,248,0,7,192,7,128,1,255,255,192,1,224,15,0,31,255,255,248,0,240,30,0,127,0,0,254,0,56,120,1,240,0,0,31,128,30,240,7,192,0,0,3,224,15,112,31,0,0,0,0,248,15,56,60,0,3,224,0,60,30,28,120,0,255,255,0,14,60,15,224,7,255,255,224,7,120,15,192,31,128,3,248,3,240,7,128,124,0,0,62,1,224,3,1,240,0,0,15,128,64,0,3,192,0,0,3,192,0,0,7,128,0,0,0,224,0,0,30,0,15,240,0,112,0,0,28,0,127,255,0,56,0,0,30,3,255,255,192,120,0,0,15,15,192,3,240,240,0,0,7,159,0,0,249,224,0,0,3,252,0,0,63,192,0,0,1,240,0,0,15,128,0,0,0,224,0,0,7,0,0,0,0,64,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,15,240,0,0,0,0,0,0,127,254,0,0,0,0,0,0,254,127,0,0,0,0,0,1,224,7,128,0,0,0,0,7,128,1,224,0,0,0,0,3,192,3,192,0,0,0,0,1,224,7,128,0,0,0,0,0,240,15,0,0,0,0,0,0,120,30,0,0,0,0,0,0,60,60,0,0,0,0,0,0,30,120,0,0,0,0,0,0,14,112,0,0,0,0,0,0,7,224,0,0,0,0,0,0,3,192,0,0,0,0,0,0,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,254,0,0,0,0,0,7,255,255,240,0,0,0,0,127,252,63,254,0,0,0,1,252,0,0,63,192,0,0,7,224,0,0,7,224,0,0,31,0,0,0,0,248,0,0,124,0,0,0,0,62,0,1,240,0,0,0,0,15,128,3,192,0,255,255,0,3,192,7,128,7,255,255,240,0,224,30,0,63,192,7,252,0,112,60,0,252,0,0,63,0,60,120,3,224,0,0,7,192,30,112,15,128,0,128,1,240,15,56,30,0,127,255,0,120,30,60,120,7,255,255,224,30,60,30,240,31,192,7,248,15,120,15,224,126,0,0,126,7,240,7,192,240,0,0,15,1,224,3,3,224,0,0,3,192,192,0,7,128,0,0,1,224,0,0,15,0,3,224,0,240,0,0,30,0,127,254,0,120,0,0,14,1,255,255,128,120,0,0,7,7,192,7,224,240,0,0,7,159,0,0,249,224,0,0,3,252,0,0,63,192,0,0,1,248,0,0,15,128,0,0,0,224,0,0,7,0,0,0,0,64,7,224,2,0,0,0,0,0,63,252,0,0,0,0,0,0,255,255,0,0,0,0,0,1,240,15,128,0,0,0,0,3,192,3,192,0,0,0,0,3,128,1,192,0,0,0,0,1,192,3,128,0,0,0,0,0,224,7,0,0,0,0,0,0,112,14,0,0,0,0,0,0,56,28,0,0,0,0,0,0,28,56,0,0,0,0,0,0,14,112,0,0,0,0,0,0,7,224,0,0,0,0,0,0,3,192,0,0,0,0,0,0,1,128,0,0,0,0,0,0,1,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,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.setTextColor(WHITE);
display.setTextSize(1);
display.setFont(NULL);
display.drawBitmap(32, 0, frames[frame], FRAME_WIDTH, FRAME_HEIGHT, 1);
display.setCursor(27, 56);
display.print("Connecting...");
display.display();
frame = (frame + 1) % FRAME_COUNT;
delay(250);
}