from machine import Pin,PWM,Timer

# VARIBLES

hora=700
anti=1400

# FUNCION INTERRUPCION

def cambiovel(x):

    global hora
    global anti

    if (hora==700 and anti==1400):
        
        hora=2000
        anti=4000      
        t0.init(period=hora,mode=Timer.PERIODIC,callback=horario)
        t1.init(period=anti,mode=Timer.PERIODIC,callback=antihorario)

    else:

        hora=700
        anti=1400      
        t0.init(period=hora,mode=Timer.PERIODIC,callback=horario)
        t1.init(period=anti,mode=Timer.PERIODIC,callback=antihorario)
        
# FUNCION TIMERS

def horario(y):

    global hora
    global anti
    global cambiovel

    servo.duty(125)

def antihorario(g):
    
    global hora
    global anti

    servo.duty(25)

# PUSH BOTON

push= Pin(32,Pin.IN,Pin.PULL_UP)

# CONFIGURACION INTERRUPCION
push.irq(trigger=Pin.IRQ_FALLING,handler=cambiovel)

# CONFIGURACION TIMERS

t0=Timer(0)
t1=Timer(1)
t0.init(period=hora,mode=Timer.PERIODIC,callback=horario)
t1.init(period=anti,mode=Timer.PERIODIC,callback=antihorario)

# SERVO

servo= PWM(Pin(23),freq=50)

# PROGRAMA PRINCIPAL

while(1):
    pass