我正在做我的第一个编码项目(以前没有编码经验)。我有一个WS2812B LED灯带,我想在其中连续循环几个LED图案。
如果我只有led模式序列,它将运行所有内容一次,然后卡在最后一个序列中(我只想运行20秒)。
我怀疑我在Trues中使用过多或使用错误。是在第3个led序列中的True导致它没有重新开始吗?我想我也使用了time = function错误。
如果重要的话,我正在使用adafruit饰品M0和Mu进行书写。
我尝试在一开始将所有内容设置为True:但是,如果我这样做,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中的运行检查会返回语法错误。