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
pi-pico-w