from machine import Pin
import utime
# Кнопка
button = Pin(13, Pin.IN, Pin.PULL_UP)
# Світлодіоди
led_2 = Pin(0, Pin.OUT) # 2⁰
led_4 = Pin(1, Pin.OUT) # 2¹
led_8 = Pin(2, Pin.OUT) # 2²
counter = 0 # лічильник від 0 до 7
pressed = False
# Обробник переривання
def on_button(pin):
global pressed
pressed = True
button.irq(trigger=Pin.IRQ_FALLING, handler=on_button)
# Основний цикл
while True:
if pressed:
# Встановити значення на світлодіоди
led_2.value(counter & 0b001)
led_4.value((counter >> 1) & 0b001)
led_8.value((counter >> 2) & 0b001)
counter += 1
if counter > 7:
counter = 0 # обнулення після 7
pressed = False # чекаємо наступного натискання
utime.sleep(0.6)