如何循环整个led序列?

时间:2019-06-22 01:09:20

标签: python led adafruit

我正在做我的第一个编码项目(以前没有编码经验)。我有一个WS2812B LED灯带,我想在其中连续循环几个LED图案。

如果我只有led模式序列,它将运行所有内容一次,然后卡在最后一个序列中(我只想运行20秒)。

我怀疑我在Trues中使用过多或使用错误。是在第3个led序列中的True导致它没有重新开始吗?我想我也使用了time = function错误。

如果重要的话,我正在使用adafruit饰品M0和Mu进行书写。

我尝试在一开始将所有内容设置为True:但是,如果我这样做,LED根本不会打开。

为真:

第一个led序列代码

第二个led序列代码

下面的第三个led序列代码

为True时:     如果时间= 20:         打破

testcol = (255, 255, 255)
ttype=type(testcol)
print(ttype)
#pixels[4] = (testcol)
pixels.show()

colors = {0:(255, 0, 0), 1:(255, 165, 0), 2:(255, 255, 0), 3:(0, 255, 0), 4:(0, 0, 255), 5:(0, 35, 200), 6:(255, 0, 255)}
ccount = len(colors)
#print (ccount)
#print(colors[2])

data = range(0,185)
chunks = [data[x:x+ccount] for x in range(0, len(data), ccount)]

for p in chunks:

    n = 0
    for subp in p:
        print ("this is chunks",p, "subpart", n,":",p[n], colors[n])
        wp = p[n]
        print ("this is wp:", wp)
        color = colors[n]
        print(color)
        pixels[wp] = (color)
        print(p)
        pixels.show()

        n = n+1

while True:
    t = random.randrange(1, 185)
    oc = pixels[t]
    pixels[t] = (174, 255, 0)  #Alitove String modification for GRB
    print("LED:", t, "has been twinkled")
    pixels.show()
    time.sleep(0.2)
    pixels[t] = (255, 255, 255)
    pixels.show()
    time.sleep(0.5)
    pixels[t] = oc
    pixels.show()

如果时间= 20:在第三个led序列之前,则Mu中的运行检查会返回语法错误。

0 个答案:

没有答案