import time
import board
import digitalio
# Define 7 segment pins (fixed duplicate keys and added 'f' and 'g')
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), # Fixed: was 'd'
'g': digitalio.DigitalInOut(board.GP22) # Fixed: was 'e'
}
# Set all as output (fixed: segments.values(), not segment.value())
for seg in segments.values():
seg.direction = digitalio.Direction.OUTPUT
# Digit patterns (1 = ON, 0 = OFF) - fixed variable name and indentation
digits = { # Fixed: was 'digit'
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): # Fixed: was display_ digit
pattern = digits[num] # Fixed: was 'patern' and 'digits'
for i, seg in enumerate(segment_keys):
segments[seg].value = pattern[i] # Fixed: was segment[seg]
# Main loop (fixed function name)
while True:
for i in range(9,-1,-1):
print("Displaying:", i)
display_digit(i) # Fixed: was display_digit
time.sleep(1)