from machine import Pin, Timer
# Create tuple of the seven segment cathodes.
segs = (Pin('GP0',Pin.OUT), Pin('GP2',Pin.OUT), Pin('GP13',Pin.OUT), Pin('GP14',Pin.OUT),
Pin('GP15',Pin.OUT), Pin('GP1',Pin.OUT), Pin('GP12',Pin.OUT))
# Seven Segment Anodes.
digits = (Pin('GP3', Pin.OUT), Pin('GP4', Pin.OUT), Pin('GP5', Pin.OUT), Pin('GP11', Pin.OUT))
codes = [(0,0,0,0,0,0,1), (1,0,0,1,1,1,1), (0,0,1,0,0,1,0), (0,0,0,0,1,1,0),
(1,0,0,1,1,0,0), (0,1,0,0,1,0,0), (0,1,0,0,0,0,0), (0,0,0,1,1,1,1),
(0,0,0,0,0,0,0), (0,0,0,0,1,0,0)]
counter = [0, 1, 2, 3]
def numberCounter(timer):
global counter
for i in range(4):
if counter[i] < 9:
counter[i] = counter[i] + 1
else:
counter[i] = 0
digitCount = 0
def updateDisplay(timer):
global digitCount
digits[digitCount].off()
if digitCount < 3:
digitCount = digitCount + 1
else:
digitCount = 0
for i in range(7):
segs[i].value(codes[counter[digitCount]][i])
digits[digitCount].on()
tmr1 = Timer(period = 1000, callback=numberCounter)
tmr2 = Timer(freq = 100, callback=updateDisplay)