То, что у меня есть в данный момент, - это нижний контур, который подсвечивает каждый из них по строке 24 в свою очередь.выберите первый элемент n-го списка в цикле for
while True:
for i in range(24):
pixels = [ (0,0,0) ] * numLEDs
pixels[i] = (100, 100, 100)
client.put_pixels(pixels)
time.sleep(0.02)
Что бы я хотел, так это то, что ранее освещенные светодиоды остаются на каждой итерации. Таким образом, количество подсвеченных светодиодов увеличивается на каждый каждый раз.
Я предположил, что могу просто выбрать из начала списка i-й элемент, как показано ниже. Однако это возвращает объект «TypeError: 'int», который не является итерируемым ».
Я не совсем понимаю, почему это не работает.
while True:
for i in range(24):
pixels = [ (0,0,0) ] * numLEDs
pixels[:i] = (100, 100, 100)
client.put_pixels(pixels)
time.sleep(0.02)
В то время как я получил ваше внимание, есть лучший способ времени эти петли, кроме использования time.sleep()? Хотя я использую потоки, сон по-прежнему вызывает некоторые задержки при изменении шаблонов светодиодов.
Я думаю, что даже ваш первый фрагмент идеален, за исключением того, что начальные 'pixels = [(0,0,0)] * numLEDs' должны лежать непосредственно перед циклом for. – venkatKA
Stephen, я дал ответ в понимании, что вы хотите, чтобы в каждый момент включались два последовательных светодиода, но теперь я не уверен в этом ... Если я неправильно понял ваш Q, я был бы рад удалить мои О. Пожалуйста, дайте мне знать. – gboffi