"""
#1
import time
delai = 1500 # ms
dernier_clignotement = time.ticks_ms()
start=time.ticks_ms()
while True:
start=time.ticks_ms()
# On calcule la différence entre "maintenant" (start) et le "dernier clignotement"
# On calcule la différence entre "maintenant" et le "dernier clignotement"
# dernier_clignotement = valeur lors assignement au debut
# et mis a jour dans le if
if time.ticks_diff(start, dernier_clignotement) > delai:
print("Blink!")
dernier_clignotement = time.ticks_ms()
time.sleep(0.020)
#1
"""
#--------------------ou-----------------------
"""
#2
import time
delai =1500 # ms
dernier_clignotement = time.ticks_ms()
while True:
# On calcule la différence entre "maintenant"(time.ticks_ms()) et le "dernier clignotement"
# dernier_clignotement = valeur lors assignement au debut
# et mis a jour dans le if
if time.ticks_diff(time.ticks_ms(), dernier_clignotement) > delai:
print("Blink!")
dernier_clignotement = time.ticks_ms()
time.sleep(0.020)
#2
"""
"""
#3
import time
last = time.ticks_ms()
now = time.ticks_ms()
x=1
y=0
delai=10000 # ms
# le delai commence seulement dans la boucle Timer
def Timer():
global x,y,delai,now,last
print("Timer")
if x ==1:
now = time.ticks_ms()
last= time.ticks_ms()
y=1
x=0
if x==0 and y==1:
v=time.ticks_ms()
print(v,'time ticks')
z=time.ticks_diff(time.ticks_ms(), last)
print(z,"diff")
if time.ticks_diff(time.ticks_ms(), last) >= delai:
last = now
x=1
y=0
print("delai finish")
while True:
print('while')
time.sleep(3)
Timer()
time.sleep(0.020)
#3
"""
"""
#4
#***********timer commence tout de suite dans la boucle
# led flashing
from machine import Pin
import time
led=Pin(0,Pin.OUT)
now=time.ticks_ms()
last=time.ticks_ms()
delai=500 # ms
led.on()
while True:
now=time.ticks_ms()
print(last)
if time.ticks_diff(now,last) > delai:
led.toggle()
last=now
time.sleep(0.020)
#4
"""
"""
#5
#**************led flashing with timer
import time
from machine import Pin, Timer
led = Pin(25, Pin.OUT)
redLed=Pin(0,Pin.OUT)
tim = Timer()
def clignoter(timer): # faut entrer un argument entre() car vient de Timer
led.toggle()
redLed.toggle()
# Initialisation du timer : clignotement toutes les 500 ms
tim.init(period=500, mode=Timer.PERIODIC, callback=clignoter)
while True:# pas necessaire
time.sleep(0.020)
pass
#5
"""
"""
#6
Pour implémenter un comportement de relais temporisé à l'appel (on-delay timer)
sur un Raspberry Pi Pico avec MicroPython, la méthode la plus efficace est d'utiliser
la classe Timer du module machine. Cela permet d'exécuter une action après
un délai précis sans bloquer le reste de votre programme.
Solution avec machine.Timer (Non-bloquant)
Cette approche est idéale car elle permet au Pico de continuer à effectuer
d'autres tâches (comme lire des capteurs) pendant que le compte à rebours défile
#6
"""
"""
#7
from machine import Pin, Timer
import time
time.sleep(0.020)
# Configuration (ajustez les numéros de pins selon votre carte)
relais = Pin(15, Pin.OUT)
bouton = Pin(14, Pin.IN, Pin.PULL_DOWN)
minuteur = Timer()
def activer_relais(t):
relais.value(1)
print("Relais ACTIVÉ après 1 seconde")
# Exemple : Lancer le timer une seule fois au démarrage
# Ou déclenché par une condition spécifique
print("Lancement du timer...")
minuteur.init(mode=Timer.ONE_SHOT, period=1000, callback=activer_relais)
while True:
# Le reste de votre code peut s'exécuter ici
# Le relais s'activera tout seul en arrière-plan
time.sleep(0.020)
#7
"""
"""
#8
from machine import Pin, Timer
import time
time.sleep(0.020)
button = Pin(20, Pin.IN, Pin.PULL_DOWN)
tim = Timer()
def led_off(timer):
print("Action après délai")
def arreter_relais():
tim.deinit()
while True:
if button.value() == 1:
tim.init(mode=Timer.ONE_SHOT, period=5000, callback=led_off)
time.sleep(0.001)
#8
"""