在本节和以后的章节中,将会有一些在 VS 代码编辑器中使用特殊设备模拟的例子和问题。
我们将使用模拟来拥有一个 Circuit Playground Express 设备,并学习与该设备进行交互。 我们将能够打开不同颜色的灯,以及许多其他很好的例子。
注意 访问 Adafruit 网站,找到许多令人惊叹的硬件和学习材料。
Circuit Playground Express

以上是真实硬件的图像,在模拟中我们将使用,我们可以使用下面的:
- 绿色 LED
- 红色 LED
- 按钮 A 和 B
- 滑块开关
- 扬声器:播放 .wav 文件
- 10 NeoPixels
- 光传感器
- 运动传感器
- 加速度检测
- 设备抖动检测
- 温度传感器
- 7 电容式触摸传感器
用红色打开板上的所有 NeoPixels

# import CPX libraryfrom adafruit_circuitplayground.express import cpximport timeRED = (255,0, 0)while True:# start your code herecpx.pixels.fill(RED)
在代码的顶部,我们正在编写一行以 from 开头的行,以获取可以与设备交互的 Python 模块,如 cpx。 下一行,我们还要导入 time 模块,稍后将使用它。
然后我们将 RED 变量中的 colour RED 定义为(R, G, B)元组。
接下来,while True: line 启动一个循环,它将继续运行,在内部使用相同的缩进,我们调用函数 cpx.pixels.fill,并使用所需的颜色(在本例中为 RED)。
你现在可以编写一个代码,将设备上的所有 NeoPixel 灯变为黄色吗? 为此,你必须搜索黄色的 RGB 值。
黄灯解决方案
from adafruit_circuitplayground.express import cpximport timeYELLOW = (255, 255, 0)while True:# start your code herecpx.pixels.fill(YELLOW)
学习 time.sleep
time 模块有一个重要的函数 sleep,它占用代码休眠的时间(意味着它什么都不做),然后执行下一条指令。 我们可以使用它来保持灯光打开或关闭一段时间。 以下面的例子为例,我们让 NeoPixels 保持开启 1 秒,然后关闭它们(RGB 值 (0,0,0))0.5 秒。
# import CPX libraryfrom adafruit_circuitplayground.express import cpximport timeWHITE = (255, 255, 255)OFF = (0, 0, 0)while True:# start your code herecpx.pixels.fill(WHITE)time.sleep(1)cpx.pixels.fill(OFF)time.sleep(0.5)

RGB 问题
你能否修改代码,使其在所有 NeoPixel 上显示红色,然后显示绿色,然后显示蓝色? 它看起来像下图。

RGB 解决方案
# import CPX libraryfrom adafruit_circuitplayground.express import cpximport timeRED = (255, 0, 0)GREEN = (0, 255, 0)BLUE = (0, 0, 255)while True:cpx.pixels.fill(RED)time.sleep(1)cpx.pixels.fill(GREEN)time.sleep(1)cpx.pixels.fill(BLUE)time.sleep(1)
