from machine import Pin
from time import sleep_us
digits = [
0b0111111,
0b0000110,
0b1011011,
0b1001111,
0b1100110,
0b1101101,
0b1111101,
0b0000111,
0b1111111,
0b1101111,
]
segment_pins = [Pin(i, Pin.OUT) for i in range(2, 9)]
digit_pins = [Pin(i, Pin.OUT) for i in range(10, 14)]
def display_digit(value, digit_index):
for d in digit_pins:
d.value(1)
pattern = digits[value]
for i, seg in enumerate(segment_pins):
seg.value((pattern >> i) & 1)
digit_pins[digit_index].value(0)
sleep_us(400)
digit_pins[digit_index].value(1)
def display_number(num):
s = f"{num:04d}"
for i, ch in enumerate(s):
display_digit(int(ch), i)
count = 0
while True:
for _ in range(20):
display_number(count)
count = (count + 1) % 10000