Biblioteka wbudowana time (MicroPython w wersji 1.18 gdy piszę ten artykuł), posiada klasę Timer dzięki której możemy kontrolować wydarzenia w czasie tak jak w w wielu timerach Arduino. Poniżej kilka przykładów użycia:
Nieśmiertelne miganie diody:
from machine import Pin, Timer #importing pin, and timer class
led= Pin(16, Pin.OUT) # GPIO16 as led output
led.value(0) #LED is off
timer=Timer(-1)
timer.init(period=1000, mode=Timer.PERIODIC, callback=lambda t:led.value(not led.value())) #initializing the timer
Użycie funkcji zdefiniowanej zewnętrznie:
from machine import Timer
tim=Timer(-1)
def mycallback(t):
print('OK')
# periodic with 100ms period
tim.init(period=2000, callback=mycallback)
# one shot firing after 1000ms
tim.init(mode=Timer.ONE_SHOT, period=1000, callback=mycallback)