import machine
from machine import Pin,Timer
from time import sleep




# Creo el objeto timer de la class Timer
timer=Timer()




#Seteo del BOTONES  y LEDS
boton_arr=Pin(2,Pin.IN,Pin.PULL_UP)
boton_parar=Pin(3,Pin.IN,Pin.PULL_UP)
led_estrella=Pin(28,Pin.OUT)
led_triang=Pin(21,Pin.OUT)

flag=0 # Lo utilizo luego como varianle GLOBAL en 'parar' y 'conmutar'

# Arranque ESTRELLA /TIMER A LA CONEXIÓN

def enciende_led_estrella():
    led_estrella.value(1)    # Enciende el led ESTRELLA
    led_triang.value(0)

def parar(rojo):
    global flag
    flag=not flag
    led_estrella.value(0)
    led_triang.value(0)
    timer.deinit()  # Abortar el temporizador
   
   


def conmuta(timer):   # Cuando termina el temporizador,
    global flag
    led_estrella.value(0)       #  apaga el led ESTRELLA
    if flag==1:                 # Significa que se pulsó PARAR
         led_triang.value(0)   # Entonces apaga TRIÁNGULO
    else:
        led_triang.value(1)   # Si NO se pulsó PARAR , lo enciende normalmente!
        
              



def temporizador():
    # Cuando el temporizador termina de contar el tiempo, 'llama' a 'apaga_led_estrella'
    timer.init(mode=Timer.ONE_SHOT, period=3000, callback=conmuta)

# IRQ PARA BOTÓN PARAR (rojo)
boton_parar.irq(trigger=Pin.IRQ_FALLING, handler=parar)




# PPAL LOOP

while True:
    #flag=0
    if boton_arr.value()==0: # Al pulsar se enciende LED  y 'dispara' el temporizador.  
        enciende_led_estrella()
        
        temporizador()
       
    sleep(.1) # Antibounce




Loading
pi-pico-w