Faire clignoter une LED 3 fois
Bonjour,
Je veux faire clignoter une led rouge 3 fois sans blocage. Je ne veux pas utiliser time.sleep. J'ai écrit 2 fonctions que j'appelle avec la fonction after(). Je suis capable de faire clignoter la led, mais je ne suis pas capable de le faire seulement 3 fois. Voici un extrait fonctionnel de mon code. J'aimerais que la fonction allumeRouge ne soit plus appelé après 3 fois. Je ne veux pas faire de Break, car j'ai d'autre code qui doit continuer a fonctionner. Merci.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
from tkinter import *
import RPi.GPIO as GPIO
def allumeRouge():#Fonction sans bloquage time.sleep.
GPIO.setmode(GPIO.BCM)
GPIO.setup(16, GPIO.OUT)
GPIO.output(16, GPIO.HIGH)
fenetre.after(200, eteintRouge) #Attend 200 millisecondes et apelle la fonction eteintRouge().
def eteintRouge():
GPIO.setmode(GPIO.BCM)
GPIO.setup(16, GPIO.OUT)
GPIO.output(16, GPIO.LOW)
value = compteur_clignottement_led.get()#Lit la valeur du compteur.
print(value)
if value < 4:
compteur_clignottement_led.set(value +1)#Incrémente la valeur du compteur a chaque passe.
fenetre.after(200, allumeRouge)
if value == 3:#Si la valeur est a 3.
compteur_clignottement_led.set(value=0)#Remet le compteur a 0.
# creation de la fenettre principale.
fenetre = Tk()
label = Label(fenetre, text="Antenne RFID", font="Arial 20 bold")
label.pack()
# Titre de la fenettre principale.
fenetre.title("Antenne")
btn = Button(fenetre, text ="Cliquez ici!", command = allumeRouge)
btn.pack()
compteur_clignottement_led=IntVar(value=0)
fenetre.mainloop() |