from machine import Pin
import time
A1 = Pin(12, Pin.OUT)
A2 = Pin(13, Pin.OUT)
B1 = Pin(14, Pin.OUT)
B2 = Pin(15, Pin.OUT)
b1 = Pin(16, Pin.IN, Pin.PULL_UP)
b2 = Pin(18, Pin.IN, Pin.PULL_UP)
Motor = [A1, A2, B1, B2]
secuencia = [[1, 0, 1, 0],[1, 0, 0, 1],[0 , 1, 0, 1], [0, 1, 1, 0] ]
def salida(valor):
for k in range(4):
Motor[k].value(secuencia[valor][k])
conta = 0
salida(conta)
ini1 = time.ticks_ms()
ini2 = time.ticks_ms()
def fun_b1(b1):
global conta, ini1
fin = time.ticks_ms()
if time.ticks_diff(fin, ini1) < 250:
ini1 = fin
return
conta += 1
if conta == 4:
conta = 0
salida(conta)
ini1 = fin
def fun_b2(b2):
global conta, ini2
fin = time.ticks_ms()
if time.ticks_diff(fin, ini2) < 250:
ini2 = fin
return
conta -= 1
if conta < 0:
conta = 3
salida(conta)
ini2 = fin
b1.irq(trigger=Pin.IRQ_FALLING, handler=fun_b1)
b2.irq(trigger=Pin.IRQ_FALLING, handler=fun_b2)
while True:
pass