from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
import time
i2c = I2C(1, scl=Pin(27), sda=Pin(26), freq=200000)
oled = SSD1306_I2C(128, 64, i2c)
def draw_progress_bar(percentage):
oled.fill(0)
oled.text("System Loading...", 0, 10)
# 1. 빈 테두리 상자 그리기 (x=10, y=30, 너비=108, 높이=10)
oled.rect(10, 30, 108, 12, 1)
# 2. 채워지는 막대 계산
# 전체 너비(104) * 퍼센트 / 100
fill_width = int(104 * percentage / 100)
# 3. 내부 채우기 (테두리 안쪽에 그리기 위해 좌표 +2)
oled.fill_rect(12, 32, fill_width, 8, 1)
# 4. 퍼센트 글자 표시
oled.text(f"{percentage}%", 50, 50)
oled.show()
# 0% 부터 100% 까지 증가
for i in range(101):
draw_progress_bar(i)
time.sleep(0.05) # 속도 조절
oled.text("Complete!", 30, 50)
oled.show()