from machine import Pin
from time import sleep
def vel_int(z):
  global t
  t=t+0.5
  if t>2:
    t=0.5
def step(x):
  a1.value(int(x[0]))
  a2.value(int(x[1]))
  b1.value(int(x[2]))
  b2.value(int(x[3]))
a1=Pin(23,Pin.OUT)
a2=Pin(22,Pin.OUT)
b1=Pin(21,Pin.OUT)
b2=Pin(19,Pin.OUT)
push1=Pin(14,Pin.IN,Pin.PULL_UP)
push1.irq(trigger=Pin.IRQ_FALLLING,handler=vel_int)
push2=Pin(27,Pin.IN,Pin.PULL_UP)
push2.irq(trigger=Pin.IRQ_FALLLING,handler=vel_int)
lista=["1100","0110","0011","1001"]
n=0
m=0
while(1):
  if push.value()==0:
    sleep(0.03)
    n=n+1
    if n>3:
     n=0
  while(push.value()==0):
    sleep(0.01)
  if n==0:
    step(lista[m])
    m=m+1
    if m>2:
        m=0
    sleep(t)
  else:
      pass