import time
import board
import digitalio
# Define segment pins
segments = {
'a': digitalio.DigitalInOut(board.GP16),
'b': digitalio.DigitalInOut(board.GP17),
'c': digitalio.DigitalInOut(board.GP18),
'd': digitalio.DigitalInOut(board.GP19),
'e': digitalio.DigitalInOut(board.GP20),
'f': digitalio.DigitalInOut(board.GP21),
'g': digitalio.DigitalInOut(board.GP22),
}
# Set all as output
for seg in segments.values():
seg.direction = digitalio.Direction.OUTPUT
# Digit patterns (1 = ON, 0 = OFF)
digits = {
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),
}
segment_keys = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
def display_digit(num):
pattern = digits[num]
for i, seg in enumerate(segment_keys):
segments[seg].value = pattern[i]
# Main loop
while True:
for i in range(10):
print("Displaying:", i)
display_digit(i)
time.sleep(1)