from machine import Pin
from time import sleep
def bobinas(x):
    A1.value(int(x[0]))
    B1.value(int(x[1]))
    A2.value(int(x[2]))
    B2.value(int(x[3]))
def direc(y):
    global s
    s = not s
def vel(z):
    global t
    t = t - 0.05
    if t < 0.05:
        t = 0.1
A1 = Pin(23,Pin.OUT)
A2 = Pin(21,Pin.OUT)
B1 = Pin(22,Pin.OUT)
B2 = Pin(19,Pin.OUT)
P1 = Pin(14,Pin.IN,Pin.PULL_UP)
P1.irq(trigger=Pin.IRQ_FALLING,handler=direc)
P2 = Pin(12,Pin.IN,Pin.PULL_UP)
P2.irq(trigger=Pin.IRQ_FALLING,handler=vel)
lista = ["1100","0110","0011","1001"]
r = 0
s = 0
t = 0.1
while(1):
    bobinas(lista[r])
    sleep(t)
    if s == 0:
        r = r + 1
        if r > 3:
            r = 0
    else:
        r = r - 1
        if r < 0:
            r = 3