import tm1637
from machine import Pin,Timer
import time
tm = tm1637.TM1637(clk=Pin(4), dio=Pin(5))
start=0
start_time=0
lap_time=0
last_lap_time=0
best_lap_time=0
total_time=0
update=0
pin1 = Pin(28,Pin.IN,Pin.PULL_UP) # sensor detect motion
pin2 = Pin(26,Pin.IN,Pin.PULL_UP) # stop button
def callback1(pin1):
global update,start
start=1
update=1
def callback2(pin2):
global update,start
start=0
update=0
def display(delta):
minit=int(delta/1000/60)
sec=int(delta/1000%60)
mili=int(delta%1000/10)
if(minit==0):
tm.numbers(sec, mili)
else:
tm.numbers(minit,sec)
tm.scroll('timing system by miji')
tm.show('----')
pin1.irq(trigger=Pin.IRQ_FALLING, handler=callback1)
pin2.irq(trigger=Pin.IRQ_FALLING, handler=callback2)
#tim = Timer(period=50, mode=Timer.PERIODIC, callback=display)
while 1:
if start==1:
update=0
start_time= time.ticks_ms()
while start==1:
if update==1:
lap_time = time.ticks_diff(time.ticks_ms(), start_time)
start_time= time.ticks_ms()
display(lap_time)
time.sleep(2)
update=0
else:
delta = time.ticks_diff(time.ticks_ms(), start_time) # compute time difference
display(delta)
time.sleep(0.02)
tm.show('----')