我的第一个Arduino/Python项目[Reaction.py]有一个小错误,time.sleep似乎是导致它的



所以我正在尝试完成我的第一个项目,没有什么特别的,但问题很少。

1.当我运行代码时,二极管一直导通,但它应该熄灭。当我关闭程序时,我收到此行的错误

时间.睡眠(随机.均匀(2,5))

似乎它不喜欢在while循环中。

2. 当二极管仍然打开时,如果任何一名玩家按下其按钮,它应该得到 -2 分的惩罚。但是由于我增加了点球,每次任何一名球员按下它的按钮,他们总是得到-2分。

我想我可能与time.sleep错误有关。

为了您的方便,我将代码放在 Pastebin 上,因为它看起来非常糟糕且很难阅读。

链接到代码@

粘贴

time.sleep 行中出现整个错误可能会有所帮助

但除了任何错误之外,您的 LED 始终亮起,因为您只有一个睡眠时间,IF 语句是"瞬时的"。代码基本上可以归结为:

while True:
    GPIO.output(led, 1)
    time.sleep(random.uniform(2,5))
    GPIO.output(led, 0)

这基本上与此相同:

while True:
    time.sleep(random.uniform(2,5))
    GPIO.output(led, 0)
    GPIO.output(led, 1)

希望这有帮助!

编辑:我意识到我没有回答问题2。我怀疑这与董事会在睡觉时是否"倾听"有关,但我对此没有任何经验。基于 https://sourceforge.net/p/raspberry-gpio-python/wiki/Inputs/也许您需要使用GPIO.event_detected例如...

最新更新