from machine import Pin
from time import sleep
def isrA(pin):
global cnt
if canal_b.value()==0:
cnt +=1
if cnt>200:
cnt=200
#print(cnt)
while(canal_a.value()==0):
sleep(0.001)
def isrB(pin):
global cnt
if canal_a.value()==0:
cnt -=1
if cnt<(-200):
cnt=(-200)
#print(cnt)
while(canal_b.value()==0):
sleep(0.001)
canal_a= Pin(26,Pin.IN)
canal_a.irq(trigger=Pin.IRQ_FALLING,handler=isrA)
canal_b= Pin(25,Pin.IN)
canal_b.irq(trigger=Pin.IRQ_FALLING,handler=isrB)
A= Pin(23,Pin.OUT)
B= Pin(22,Pin.OUT)
C= Pin(21,Pin.OUT)
D= Pin(19,Pin.OUT)
E= Pin(18,Pin.OUT)
F= Pin(5,Pin.OUT)
G= Pin(17,Pin.OUT)
DP= Pin(16,Pin.OUT)
PB1= Pin(13,Pin.IN,Pin.PULL_UP)
lista=["11100111","11111111","11100001","10111111","10110111","01100111","11110011","11011011","01100001","11111100","01100000","11011010","11110010","01100110","10110110","10111110","11100000","11111110","11100110"]
def sec(a):
A.value(int(a[0]))
B.value(int(a[1]))
C.value(int(a[2]))
D.value(int(a[3]))
E.value(int(a[4]))
F.value(int(a[5]))
G.value(int(a[6]))
DP.value(int(a[7]))
cnt=0
while(1):
if PB1.value()==0:
cnt=0
rev=(int((cnt/20)))
num= (rev+9)
if rev==0:
num=9
elif rev>0:
if num>18:
num=18
else:
if num<0:
num=0
sec(lista[num])
#print(PB1.value())