from machine import Pin
from utime import sleep
pins = [
Pin(16, Pin.OUT), # A
Pin(17, Pin.OUT), # B
Pin(18, Pin.OUT), # C
Pin(19, Pin.OUT), # D
Pin(20, Pin.OUT), # E
Pin(21, Pin.OUT), # F
Pin(22, Pin.OUT), # G
Pin(26, Pin.OUT) # DP
]
# Common anode 7-segment display digit patterns
digits = [
[0, 0, 0, 0, 0, 0, 1, 1], # 0
[1, 0, 0, 1, 1, 1, 1, 1], # 1
[0, 0, 1, 0, 0, 1, 0, 1], # 2
[0, 0, 0, 0, 1, 1, 0, 1], # 3
[1, 0, 0, 1, 1, 0, 0, 1], # 4
[0, 1, 0, 0, 1, 0, 0, 1], # 5
[0, 1, 0, 0, 0, 0, 0, 1], # 6
[0, 0, 0, 1, 1, 1, 1, 1], # 7
[0, 0, 0, 0, 0, 0, 0, 1], # 8
[0, 0, 0, 1, 1, 0, 0, 1], # 9
]
def reset():
for pin in pins:
pin.value(1)
reset()
switch = Pin(13, Pin.IN)
while True:
if switch.value() == 1:
for i in range(len(digits)):
if switch.value() == 0:
break
for j in range(len(pins) - 1):
pins[j].value(digits[i][j])
sleep(0.5)
else:
for i in range(len(digits) - 1, -1, -1):
if switch.value() == 1:
break
for j in range(len(pins)):
pins[j].value(digits[i][j])
sleep(0.5)