from machine import Pin
from time import sleep
# Initialize 7-segment display pins as output
segments = [Pin(i, Pin.OUT) for i in range(7)]
# Define segment patterns for digits 0-9
patterns = {
0: [0, 0, 0, 0, 0, 0, 1], # 0
1: [1, 0, 0, 1, 1, 1, 1], # 1
2: [0, 0, 1, 0, 0, 1, 0], # 2
3: [0, 0, 0, 0, 1, 1, 0], # 3
4: [1, 0, 0, 1, 1, 0, 0], # 4
5: [0, 1, 0, 0, 1, 0, 0], # 5
6: [0, 1, 0, 0, 0, 0, 0], # 6 (Fixed pattern)
7: [0, 0, 0, 1, 1, 1, 1], # 7
8: [0, 0, 0, 0, 0, 0, 0], # 8
9: [0, 0, 0, 0, 1, 0, 0] # 9
}
# Function to display a number on the 7-segment
def display_number(num):
pattern = patterns.get(num, [1, 1, 1, 1, 1, 1, 1]) # Default: all off
# Set segment states
for seg, state in zip(segments, pattern):
seg.value(state)
# Debugging output
# Example Usage
while True:
for num in range (0,10):
display_number(num)# Should display "6" on the 7-segment
sleep(1)