from machine import Pin, I2C
import ssd1306
import framebuf
import time

# Инициализация I2C для OLED-дисплея
i2c = I2C(0, scl=Pin(9), sda=Pin(8), freq=400000)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)

# Инициализация пина для кнопки
button = Pin(7, Pin.IN, Pin.PULL_UP) # Пин 7 для кнопки

# Создание изображения с черными и белыми кубиками
image = bytearray(128*64//8)
fb = framebuf.FrameBuffer(image, 128, 64, framebuf.MONO_HLSB)
for y in range(0, 64, 8):
    for x in range(0, 128, 16):
        fb.fill_rect(x, y, 8, 8, 0) # Черный кубик
        fb.fill_rect(x + 8, y, 8, 8, 255) # Белый кубик
        fb.fill_rect(x, y + 8, 8, 8, 255) # Белый кубик
        fb.fill_rect(x + 8, y + 8, 8, 8, 0) # Черный кубик

# Отображение изображения на дисплее
def display_image():
    oled.fill(0)
    oled.blit(fb, 0, 0)
    oled.show()

# Основной цикл программы
while True:
    # Если кнопка нажата
    if not button.value():
        display_image()
        time.sleep(0.2) # Задержка для избежания множественных нажатий
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT