from machine import Pin
from time import sleep
seg_pins = [Pin(i, Pin.OUT) for i in range(0, 8)]
digit_pins = [Pin(i, Pin.OUT) for i in range(8, 12)]
nums = [
[1,1,1,1,1,1,0], # 0
[0,1,1,0,0,0,0], # 1
[1,1,0,1,1,0,1], # 2
[1,1,1,1,0,0,1], # 3
[0,1,1,0,0,1,1], # 4
[1,0,1,1,0,1,1], # 5
[1,0,1,1,1,1,1], # 6
[1,1,1,0,0,0,0], # 7
[1,1,1,1,1,1,1], # 8
[1,1,1,1,0,1,1] # 9
]
u = 0 # unidades
d = 0 # decenas
c = 0 # centenas
m = 0 # miles
# Bucle principal
while True:
for _ in range(10):
#Miles
for dgt in digit_pins:
dgt.value(1)
for s in range(7):
seg_pins[s].value(nums[m][s])
digit_pins[0].value(0)
sleep(0.001)
#Centenas
for dgt in digit_pins:
dgt.value(1)
for s in range(7):
seg_pins[s].value(nums[c][s])
digit_pins[1].value(0)
sleep(0.001)
# Decenas
for dgt in digit_pins:
dgt.value(1)
for s in range(7):
seg_pins[s].value(nums[d][s])
digit_pins[2].value(0)
sleep(0.001)
# Unidades
for dgt in digit_pins:
dgt.value(1)
for s in range(7):
seg_pins[s].value(nums[u][s])
digit_pins[3].value(0)
sleep(0.001)
#Incremento rápido
u = u + 1
if u == 10:
u = 0
d = d + 1
if d == 10:
d = 0
c = c + 1
if c == 10:
c = 0
m = m + 1
if m == 10:
m = 0 # Vuelve a 0000