from machine import Pin, Timer
# Configurar el pin GPIO para el LED
#led = Pin(25, Pin.OUT)
#Ejemplo 1: Temporizador básico que parpadea un LED
# Función que cambia el estado del LED
#def toggle_led(timer):
# led.toggle()
# Crear un temporizador que se ejecute cada 500 ms (0.5 segundos)
#timer = Timer()
#timer.init(period=500, mode=Timer.PERIODIC, callback=toggle_led)
# El bucle principal puede hacer otras cosas mientras el temporizador se ejecuta
#while True:
# pass
#Ejemplo 2: Temporizador con temporización única (one-shot)
# Función que se ejecutará una vez después del retraso especificado
#def one_shot(timer):
# print("El temporizador de una sola ejecución ha expirado")
# Crear un temporizador que se ejecute una vez después de 2000 ms (2 segundos)
#timer = Timer()
#timer.init(period=2000, mode=Timer.ONE_SHOT, callback=one_shot)
# El bucle principal puede hacer otras cosas mientras el temporizador se ejecuta
#while True:
# pass
#Ejemplo 3: Temporizador con estado compartido
# Contador global
#counter = 0
# Función que incrementa el contador
#def increment_counter(timer):
# global counter
# counter += 1
# print("Contador:", counter)
# Crear un temporizador que se ejecute cada 1000 ms (1 segundo)
#timer = Timer()
#timer.init(period=1000, mode=Timer.PERIODIC, callback=increment_counter)
# El bucle principal puede hacer otras cosas mientras el temporizador se ejecuta
#while True:
# Ejemplo de cómo puedes usar el contador en el bucle principal
#if counter >= 10:
#print("El contador ha alcanzado 10, deteniendo el temporizador.")
#timer.deinit()
#break
#Ejemplo 4: Múltiples temporizadores
# Configurar los pines GPIO para los LEDs
led1 = Pin(15, Pin.OUT)
led2 = Pin(16, Pin.OUT)
# Función para alternar el estado del primer LED
def toggle_led1(timer):
led1.toggle()
# Función para alternar el estado del segundo LED
def toggle_led2(timer):
led2.toggle()
# Crear un temporizador para el primer LED (parpadea cada 500 ms)
timer1 = Timer()
timer1.init(period=500, mode=Timer.PERIODIC, callback=toggle_led1)
# Crear un temporizador para el segundo LED (parpadea cada 1000 ms)
timer2 = Timer()
timer2.init(period=1000, mode=Timer.PERIODIC, callback=toggle_led2)
# El bucle principal puede hacer otras cosas mientras los temporizadores se ejecutan
while True:
pass