【发布时间】:2016-02-02 20:55:12
【问题描述】:
我有 100 个可寻址 LED:s 连接到 RPi,并希望它们随机闪烁。
我最初的想法是在启动时创建一个包含 100 个数字的随机列表,然后在循环中一个接一个地打开它们。一段时间后,我想再次关闭它们。
RGBlist = [100 random numbers 0-99]
for i in RGBlist:
turnOnLED(i)
如何启动第二个循环与第一个循环同时运行?
delay(X ms)
for i in RGBlist:
turnOffLED(i)
我不希望所有 100 个 LED 都打开,然后再一次关闭它们,我希望 LED(x) 打开,然后 LED(y)、LED(z)、LED(x ) 关闭,LED(u) 开启,LED(y) 关闭,依此类推。如果它们可以在点亮 100-500 毫秒的任意时间后关闭,那就更好了。
我是否需要为此进入多处理和线程的深邃黑暗洞穴?
【问题讨论】:
-
一个想法:当您打开一个 LED 时,将该 LED 放入一个带有时间戳的列表中。当需要关闭一个 LED 时,如果您发现一个已打开超过 500 毫秒的 LED,请搜索该列表。如果这样做,请将其关闭并从列表中删除。如果没有,请从该列表中随机获取一个 LED 并将其关闭。
-
我认为您将需要使用多线程。在this question 中对基础知识进行了很好的解释。
标签: python random raspberry-pi raspbian