from machine import Pin
from utime import sleep
# Define pins for the 7-segment display segments
segment_pins = {
'A': Pin(0, Pin.OUT),
'B': Pin(1, Pin.OUT),
'C': Pin(2, Pin.OUT),
'D': Pin(3, Pin.OUT),
'E': Pin(4, Pin.OUT),
'F': Pin(5, Pin.OUT),
'G': Pin(6, Pin.OUT),
'DP': Pin(7, Pin.OUT) # DP is not used
}
# Common anode 7-segment display digit patterns
# 0: ON, 1: OFF (for common anode)
digit_patterns = {
'0': {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'E': 0, 'F': 0, 'G': 1},
'1': {'A': 1, 'B': 0, 'C': 0, 'D': 1, 'E': 1, 'F': 1, 'G': 1},
'2': {'A': 0, 'B': 0, 'C': 1, 'D': 0, 'E': 0, 'F': 1, 'G': 0},
'3': {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'E': 1, 'F': 1, 'G': 0},
'4': {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'E': 1, 'F': 1, 'G': 0},
'5': {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'E': 1, 'F': 1, 'G': 0},
'6': {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'E': 1, 'F': 1, 'G': 0},
'7': {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'E': 1, 'F': 1, 'G': 0},
'8': {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'E': 1, 'F': 1, 'G': 0},
'9': {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'E': 1, 'F': 1, 'G': 0}
}
def display_digit(digit):
"""Set the segment pins to display the given digit."""
if digit in digit_patterns:
for segment, state in digit_patterns[digit].items():
segment_pins[segment].value(state)
# Main loop to cycle through digits
while True:
for digit in ['0','1','2','3','4','5','6','7','8','9']:
display_digit(digit)
sleep(1)