import board
import digitalio
import time
# --- Szegmens lábak (A-G) ---
seg_pins = [board.GP0, board.GP1, board.GP2, board.GP3, board.GP4, board.GP5, board.GP6]
segments = []
for p in seg_pins:
s = digitalio.DigitalInOut(p)
s.direction = digitalio.Direction.OUTPUT
s.value = False
segments.append(s)
# --- Digit lábak (D1-D4) ---
dig_pins = [board.GP9, board.GP10, board.GP11, board.GP12]
digits = []
for p in dig_pins:
d = digitalio.DigitalInOut(p)
d.direction = digitalio.Direction.OUTPUT
d.value = False
digits.append(d)
# --- 0-9 szegmens minták (A,B,C,D,E,F,G) ---
# 1 = világít (közös katód)
NUM = {
0: (1,1,1,1,1,1,0),
1: (0,1,1,0,0,0,0),
2: (1,1,0,1,1,0,1),
3: (1,1,1,1,0,0,1),
4: (0,1,1,0,0,1,1),
5: (1,0,1,1,0,1,1),
6: (1,0,1,1,1,1,1),
7: (1,1,1,0,0,0,0),
8: (1,1,1,1,1,1,1),
9: (1,1,1,1,0,1,1),
}
def all_digits_off():
for d in digits:
d.value = False
def set_segments(number):
pattern = NUM[number]
for i in range(7):
segments[i].value = bool(pattern[i])
# --- Főprogram: digitonként számolás ---
while True:
for digit_index in range(4): # D1 -> D4
for n in range(10): # 0 -> 9
all_digits_off()
set_segments(n)
digits[digit_index].value = False # csak ez az egy digit világít
time.sleep(0.5)