在这一章中,我们学习使用硬件(模拟)进行循环。

一次一个 NeoPixel

在硬件上的循环 - 图1

cpx.pixels 可以通过索引号访问,从 0 到 9。这样,我们可以一次打开一个 NeoPixel。

  1. # import CPX library
  2. from adafruit_circuitplayground.express import cpx
  3. import time
  4. BLUE = (0, 0, 255)
  5. i = 0
  6. while True:
  7. # start your code here
  8. if i == 10:
  9. time.sleep(10)
  10. continue
  11. cpx.pixels[i] = BLUE
  12. i += 1
  13. time.sleep(0.5)

在第 7 行,我们声明了一个选择正确 NeoPixel 的变量,然后在第 14 行,我们将该 NeoPixel 设为蓝色,然后增加一个变量以转到下一个 NeoPixel。 第 11 行的条件 if 语句确保当我们打开所有灯时,我们睡眠 10 秒钟并重复上述操作。

先是红色,然后是蓝色

在硬件上的循环 - 图2

这里使用两个 for 循环,我们首先打开每个 NeoPixel 为红色,然后为蓝色。

  1. # import CPX library
  2. from adafruit_circuitplayground.express import cpx
  3. import time
  4. RED = (255, 0, 0)
  5. BLUE = (0, 0, 255)
  6. while True:
  7. for i in range(0, 10):
  8. cpx.pixels[i] = RED
  9. time.sleep(0.5)
  10. time.sleep(0.5)
  11. for i in range(0, 10):
  12. cpx.pixels[i] = BLUE
  13. time.sleep(0.5)