#include <U8g2lib.h>
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
void setup()
{
u8g2.begin();
}
// Altura da coluna se adapta para preencher a tela
uint8_t r = 9; // Raio externo do círculo
uint8_t m = 4; // Margem em relação à esquerda, cima e baixo
uint8_t w = 9; // Largura externa da coluna
uint8_t t = w; // Tamanho do preenchimento da coluna
void loop()
{
u8g2.clearBuffer();
u8g2.setDrawColor(1);
u8g2.drawCircle(r + m, 63 - (r + m), r);
u8g2.drawRFrame(r + m - (w/2), m, w, 63 - (2*m + r), w/3);
u8g2.setDrawColor(0);
u8g2.drawDisc(r + m, 63 - (r + m), r - 1);
u8g2.drawBox(r + m - (w/2) + 1, 63 - (m + 2*r), w-2, 2);
u8g2.setDrawColor(1);
u8g2.drawDisc(r + m, 63 - (r+m), r - 2);
u8g2.drawRBox(r + m - ((w-4)/2), 63 - (2*r + t), w-4, t, (w-4)/3);
u8g2.updateDisplay();
t += 1;
if (t > (64 - 2*(r + m))) t = 5;
delay(250);
}