#include <U8g2lib.h>
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
void drawNextPage();
void drawProgressBar(int percentage);
void drawLoadingScreen();
void setup() {
u8g2.begin();
}
void loop() {
drawLoadingScreen();
drawNextPage();
while (1);
}
void drawLoadingScreen() {
int progress = 0;
while (progress <= 100) {
u8g2.firstPage();
do {
u8g2.setFont(u8g2_font_ncenB08_tr);
u8g2.drawStr(0, 10, "Loading...");
drawProgressBar(progress);
} while (u8g2.nextPage());
progress += 5;
delay(50);
}
}
void drawProgressBar(int percentage) {
int width = (percentage * 128) / 100;
u8g2.drawFrame(0, 15, 128, 10);
u8g2.drawBox(0, 15, width, 10);
}
void drawNextPage() {
u8g2.firstPage();
do {
u8g2.setFont(u8g2_font_ncenB08_tr);
u8g2.drawStr(0, 24, "Hello, U8g2!");
} while (u8g2.nextPage());
}