from machine import Pin
from time import sleep
#FUNCION DIRECCIÓN
def fun1_int(x):
    global L
    L = not L
#FUNCION VELOCIDAD
def fun2_int(x):
    global t
    t= t-0.75
    if t<0.25:
        t=1
#FUNCION DEL MOTOR
def motor(y):
    A1.value(int(y[0]))
    A2.value(int(y[1]))
    B1.value(int(y[2]))
    B2.value(int(y[3]))
#CONFIGURACION ENTRADAS
A1 = Pin(23,Pin.OUT)
A2 = Pin(21,Pin.OUT)
B1 = Pin(22,Pin.OUT)
B2 = Pin(19,Pin.OUT)
#CONFIGURACION PUSH´S
DIRECCION = Pin(27,Pin.IN,Pin.PULL_UP)
DIRECCION.irq(trigger=Pin.IRQ_FALLING,handler=fun1_int)
VELOCIDAD = Pin(14,Pin.IN,Pin.PULL_UP)
VELOCIDAD.irq(trigger=Pin.IRQ_FALLING,handler=fun2_int)
#LISTA
lista =["1100","0110","0011","1001"]
#VARIABLES
L = 0
t = 1
n = 0
while(1):
    if L==0:
        motor(lista[n])
        n= n+1
        if n>3:
            n=0
        sleep(t)
    else:
        motor(lista[n])
        n= n-1
        if n<0:
            n=3
        sleep(t)
    
    
VELOCIDAD
DIRECCIÓN