from machine import Pin
import utime
seg1 = [Pin(i, Pin.OUT) for i in range (7)]
seg2 = [Pin(i, Pin.OUT) for i in range (7, 14)]
seg3 = [Pin(i, Pin.OUT) for i in range (14, 21)]
numbers = [
[1, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 0, 0, 0, 0],
[1, 1, 0, 1, 1, 0, 1],
[1, 1, 1, 1, 0, 0, 1],
[0, 1, 1, 0, 0, 1, 1],
[1, 0, 1, 1, 0, 1, 1],
[1, 0, 1, 1, 1, 1, 1],
[1, 1, 1, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 0, 1, 1]
]
def number(num):
if num >= 0 and num <= 99:
if num < 10:
for i in range (len(seg1)):
seg1[i].value(numbers[0][i]);
seg2[i].value(numbers[0][i]);
seg3[i].value(numbers[num][i]);
utime.sleep(0.5)
else:
r2 = num % 10
r1 = num // 10
for i in range (len(seg1)):
seg1[i].value(numbers[0][i]);
seg2[i].value(numbers[r1][i]);
seg3[i].value(numbers[r2][i]);
utime.sleep(0.5)
else:
s1 = num % 10
s2 = (num // 10) % 10 # middle
s3 = num // 100 # left
for i in range (len(seg1)):
seg1[i].value(numbers[s3][i])
seg2[i].value(numbers[s2][i])
seg3[i].value(numbers[s1][i])
utime.sleep(0.5)
while True:
for i in range (95, 1000):
number(i)