我正在为实时汽车转向信号编写代码。
我可以做一个 LED 闪光灯,我可以让一个多边形改变它的填充颜色来模拟一个转向信号。
这适用于领导:
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"
请帮忙。:)
我希望多边形和 LED 同步“闪烁”。我可以用谨慎的功能让它们单独闪烁,但不能一起闪烁。当我尝试在一个函数中调用这两个函数时,如上所述,灯会亮起,填充颜色会改变一次。