Я пишу код для сигнала поворота живого автомобиля.
Я могу сделать светодиодную вспышку, и я могу заставить многоугольник изменить цвет заливки для имитации сигнала поворота.
Это сработало для светодиода:
def blink_arrow():
leftBlinker.blink(on_time=.7, off_time=.3, n=3)
и сработало для заливки формы:
def blink_arrow(count=0):
global arrow_color
global left_arrow
if arrow_color == "green":
left_arrow = c.create_polygon(50, 100, 150, 75, 150, 125, fill="gray")
elif arrow_color == "gray":
left_arrow = c.create_polygon(50, 100, 150, 75, 150, 125, fill="green")
if count <5:
w.after(300 if left_arrow=="green" else 700, blink_arrow, count+1)
Вот что я пробовал, но не сработало:
from tkinter import Canvas
from gpiozero import Button, LED
button = Button(23)
leftBlinker = LED(17)
def blink_arrow(count=0):
leftBlinker.blink(on_time=.7, off_time=.3, n=1)
global arrow_color
global left_arrow
if arrow_color == "green":
left_arrow = c.create_polygon(50, 100, 150, 75, 150, 125, fill="gray")
elif arrow_color == "gray":
left_arrow = c.create_polygon(50, 100, 150, 75, 150, 125, fill="green")
if count <5:
w.after(300 if left_arrow=="green" else 700, blink_arrow, count+1)
#Build window, canvas, shape
button.when_pressed = blink_arrow
ЗДЕСЬ НОВЫЙ КОД ПО ВАШЕМУ ПРЕДЛОЖЕНИЮ:
def blink_arrow(count=0)
#code for function as written in my first example
pass
def blink_leftLED():
leftBlinker.blink(on_time=.7, off_time=.3, 3)
pass
def left_signal():
l1 = Thread(blink_arrow)
l2 = Thread(blink_leftLED)
l1.start()
l2.start()
left_button.when_pressed = left_signal
Вот ошибка:
...line 28 in left_signal
l1 = Thread(blink_arrow)
...line reference to threading.py...
assert group is None, "group argument must be none for now"
Пожалуйста, помогите.:)
Я ожидал, что полигон и светодиод будут мигать синхронно.Я могу заставить их мигать индивидуально с незаметными функциями, но не вместе.Когда я пытаюсь вызвать обе функции в одной функции, как указано выше, индикатор включается, и цвет заливки изменяется один раз.